即時消息(IM)系統,涉及:站內消息系統
組件如下;
客戶端: WEB頁面,IM桌面客戶端。通過WebSocket 跟ChatService后端服務連接
Chat Service: 提供WebSocket接口,并保持跟“客戶端”狀態的維護。接受客戶端的消息,以及實時消息的推送。
Message Dispatch Service: 這時我自己加的,U4要給U1 發送消息,然U1的長連接是在 CS1 連接著呢,怎么推送獲取呢。 就得維護:客戶Chanel和CharService實例的映射關系
User Service: 用于維護客戶端狀態,維護“客戶Chanel和CharService實例的映射關系” 映射
交互圖:
【4】消息消費
1. 根據“對話表”拆解用戶發送的消息
2. 消息需要通知到個人
3. 根據“用戶channel-CharService1 映射 ”查找 CharService的IP
4. 根據IP推送消息
參考:常見分布式應用系統設計圖解(一):即時消息系統