蘑菇街TeamTalk服務端分析
login_server:均衡負載伺服器,用來通知客戶端連線到負載最小的msg_server (1臺)。
msg_server:客戶端連線伺服器(N臺)。客戶端通過msg_server登陸,保持長連線。
route_server:訊息中轉伺服器(1臺)。
DBProxy:資料庫服務,運算元據庫(N臺)。
訊息收發流程:
msg_server啟動時,msg_server主動建立到login_server和route_server的長連線。
客戶端登陸時,首先通過login_server 獲取負載最小的msg_server。連線到msg_server。登陸成功後,msg_server發訊息給route_server,route_server記錄使用者的msg_server。與此同時,msg_server傳送訊息給login_server,login_server收到後,修改對應msg_server的負載值。
客戶端訊息傳送到msg_server。msg_server判斷接收者是否在本地,是的話,直接轉發給目標客戶端。否的話,轉發給route_server。
route_server接收到msg_server的訊息後,獲取to_id所在的msg_server,將訊息轉發給msg_server。msg_server再將訊息轉發給目標接收者。
資料庫操作:
訊息記錄,獲取使用者資訊等需要運算元據庫的,由msg_server傳送到db_server。db_server操作完後,傳送給msg_server。
相關文章
- 蘑菇街前端電話一面前端
- 蘑菇街財報:2019財年Q2蘑菇街淨虧損4570萬美元 同比收窄28.9%
- 蘑菇街SRE體系建設實踐
- 蘑菇街財報:2019年Q3財季淨蘑菇街虧潤2.348億美元 同比擴大37.7倍
- 前端面試(2)之蘑菇街一面前端面試
- Thinkphp仿蘑菇街商城版(b2c)PHP
- Thinkphp仿蘑菇街商城版(c2c)PHP
- iOS實習面經(位元組美團阿里蘑菇街)iOS阿里
- mPaaS 服務端核心元件:移動分析服務 MAS 架構解析服務端元件架構
- Netty系列文章之服務端啟動分析Netty服務端
- 效能測試-服務端瓶頸分析思路服務端
- Netty原始碼分析(二):服務端啟動Netty原始碼服務端
- 蘑菇街財報:曾經電商第四極的直播末路
- 蘑菇街釋出2020年財報,佣金收入佔比過半
- Dubbo原始碼分析(五)Dubbo呼叫鏈-服務端原始碼服務端
- 服務端渲染到前端渲染,再到“服務端渲染”服務端前端
- 服務端,客戶端服務端客戶端
- 客戶端,服務端客戶端服務端
- TCP服務端TCP服務端
- netty原始碼分析之服務端啟動全解析Netty原始碼服務端
- Fabric 1.0原始碼分析(30) Orderer #BroadcastServer(Broadcast服務端)原始碼ASTServer服務端
- Fabric 1.0原始碼分析(35)Peer #EndorserServer(Endorser服務端)原始碼Server服務端
- 傳蘑菇街美麗說淘世界合併 騰訊成大股東?LG
- 對比分析--淺析SSR(服務端渲染)和SPA(客戶端渲染)服務端客戶端
- Spring Cloud Eureka原理分析(一):註冊過程-服務端SpringCloud服務端
- Netty服務端啟動過程相關原始碼分析Netty服務端原始碼
- Vue/React 元件 PHP 服務端渲染(SSR)可行性分析VueReact元件PHP服務端
- Nacos(二)原始碼分析Nacos服務端註冊示例流程原始碼服務端
- 服務端漫遊服務端
- FTP服務端部署FTP服務端
- react 服務端渲染React服務端
- Oracle 服務端程式Oracle服務端
- 蘑菇街:3Q20淨虧潤2.348億美元 同比擴大37.7倍
- 服務端常見服務安裝及配置服務端
- Python 服務端整合 騰訊雲 IM 服務Python服務端
- 服務指紋分析
- 部落格的服務端服務端
- 如何理解服務端渲染?服務端
- python 搭建 webservice 服務端PythonWeb服務端