h2. 需求
* 實時統計**分發節點的登入人數
* 以圖形形式顯示所有**分發節點登陸人數總和以及
單個**分發節點上登陸的人數
* 以圖形形式現實所有**節點頻寬消耗
h2. 方案
* **分發節點之間乙個搭建rabbit-mq節點
* 客戶端連線**分發節點時向rabbit-mq節點傳送連線訊息
* 客戶端斷線時向rabbit-mq節點傳送斷開訊息
* bigwig訂閱rabbitmq,並統計各個**分發節點的人數變化和訂閱合約數量變化傳送到頁面(websocket)
* 頁面獲取websocket資料,並以stacked column和basic area圖形動態顯示.
* 每天24點,頁面清空,顯示新一天的資料.
= timer:send_after(endtime, clear_charts),
}.
* 穩定性問題
* market_dispatcher將小時使用者數和合約訂閱數儲存在本地mnesia資料庫。market_dispatcher重啟時需要從mnesia load當天的統計資料
* market_dispatcher程序儲存本節點的總人數和合約總訂閱數目,並將總人數傳送到rabbit-mq
* market_auth 重啟,需要重新向rabbit-mq重新訂閱統計資訊
h2. 實現
* 在market_dispatch_subscribe_handler中訂閱和退訂的方法內呼叫market_subscriber_statistic模組的
on_subscribe和on_unsubscribe
process_action(?market_sub, instrumentids, #state)
process_action(?market_unsub, , #state)
* market_dispatcher中增加 market_subscriber_statistic 模組
* on_connected(access): 向rabbitmq傳送 (routingkey = <<"md_stat">>)
* on_disconnected(access): 向rabbitmq傳送
* on_subscribe(access): 向rabbitmq節點傳送訊息 (count為訂閱和退訂合約的數量)
* on_unsubscribe(access): 向rabbit-mq節點傳送訊息
* market_auth中增加 market_dispatcher_amqp_subscriber 模組, http_md_stream.erl模組, http_md_statistic模組
* market_dispatcher_amqp_subscriber: 從rabbitmq接受訊息,並進行統計,將資料存入orddict. (routingkey = <<"md_stat">>)
* node_count:
* handle_info(clear_charts, #state{} = state)
* http_md_statistic.erl: 獲取當前時間及當天之前時段的統計資訊
* get /md/statistic
* 訊息格式 [[mdnode, time, clientcount, instrumentcount]|...] (mdnode由原來的node()改為 market_dispatcher record 中的id)
* http_md_stream.erl: 將當前時間統計資訊用websocket方式傳送到瀏覽器
* 訊息格式 [mdnode, time, clientcount, instrumentcount] (mdnode由原來的node()改為 market_dispatcher record 中的id)
* websocket url: ws://localhost/md/stream
h2. 資源
* charts 效果:
* charts獲取資料:
* *
h2. 待考慮問題
* rabbit-mq 重啟
* market_dispatcher 重啟
* market_auth 重啟
行情分發節點列表
h2.需求 獲取 分發節點列表 包含節點名稱和ip h2.方案 http md nodes.erl 負責讀取market dispatcher表中的資料,並將資料返回給瀏覽器 h2.實現 響應 屬性參見 shared include node.hrl resp case query util fin...
C C 業內行情分析 學習計畫
伺服器開發工程師 15k 35k 掌握技能 1.熟悉使用linux作業系統,精通c語言,掌握物件導向程式設計思想 2.熟悉網路,多執行緒,多程序開發,有大併發量資料處理經驗 3.熟悉mysql,oracle等資料庫除錯方式 4.熟悉使用至少一種指令碼語言,比如shell等 客戶端開發工程師 8k 2...
python抓取幣圈行情資訊
import requests from bs4 import beautifulsoup as bs from prettytable import prettytable from colorama import fore,back,style 乙個python專門用來在控制台 命令列輸出彩色文...