架構圖
說明:
1.logic啟動http服務器, 接受http請求,用於將數據推送到kafka以及獲取在線用戶信息,websocket身份校驗
2.comet組件起動webdocket/tcp服務, 管理連接, 並負責將數據推送至指定連接
3. job組件訂閱指定kafka指定頻道的消息信息, 開啟管道監聽(將獲得的數據推送到comet當中某個鏈接上)
從discovery當中找到comet組件
4. discovery負責監控以上組件的活動狀態
代碼結構:
由於作者應該是修改了項目文件目錄結構,導致按照現在的readme文檔運行是找不到對應的目錄的。
說明:(個人理解,不一定准確。歡迎指正)
goim/api:主要定義了comet和logic模塊用到的protocal buffer協議。
goim/benchmarks:壓測演示。
goim/cmd:這一部分對應了作者GitHub上readme文檔的運行示例部分(如圖)
少了個router文件夾。
goim/docs:分模塊文檔。
goim/examples:一個前端演示demo,具體實現了什么沒看。
這三個分別是,基礎模塊包,依賴包,外部依賴運行腳本。