99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

喧喧技術(shù)架構(gòu)實(shí)現(xiàn)方案

2019-04-02 10:49 更新

目標(biāo)

喧喧即時(shí)通信解決方案目標(biāo)有:


  • 多平臺(tái)支持:服務(wù)器支持任意系統(tǒng)平臺(tái)部署,客戶(hù)端支持在任意平臺(tái)上使用;
  • 交互體驗(yàn):實(shí)現(xiàn)無(wú)延遲的聊天體驗(yàn);
  • 安全性:保證通信安全性,禁止第三方截獲消息;
  • 性能:支持大量用戶(hù)同時(shí)在線(xiàn)使用;
  • 可擴(kuò)展性:采用通用技術(shù),方便進(jìn)行二次開(kāi)發(fā);
  • 集成:易于與已有系統(tǒng)進(jìn)行集成。

方案

喧喧即時(shí)通信解決方案包含三個(gè)部分:


  1. 客戶(hù)端(xxc):提供最終用戶(hù)使用的交互界面;
  2. 后端服務(wù)器(xxb):提供聊天數(shù)據(jù)存儲(chǔ)以及供客戶(hù)端使用的接口,以及喧喧服務(wù)器管理界面。
  3. XXD 服務(wù)器(xxd):作為中間守護(hù)服務(wù)器,提供文件上傳下載管理、協(xié)調(diào)客戶(hù)端與后端服務(wù)器通信。

客戶(hù)端通過(guò) Socket 連接到 XXD 服務(wù)器;XXD 服務(wù)器負(fù)責(zé)管理所有已連接的客戶(hù)端,并且隨時(shí)將客戶(hù)端相關(guān)信息通過(guò) HTTP 協(xié)議匯報(bào)給后端服務(wù)器;客戶(hù)端并不直接與后端服務(wù)器通信,而且將消息發(fā)送給 XXD 服務(wù)器,XXD 服務(wù)器接收到客戶(hù)端消息后立即將消息發(fā)送給后端服務(wù)器;后端服務(wù)器如果有消息要推送給客戶(hù)端需要先發(fā)送給 XXD 服務(wù)器,然后 XXD 服務(wù)器將后端服務(wù)器的消息再推送給客戶(hù)端。在以上三方直接存在 2 中通信協(xié)議:


  • Socket:客戶(hù)端與 XXD 服務(wù)器直接使用 Socket 協(xié)議連接(文件上傳下載除外),可以實(shí)現(xiàn)實(shí)時(shí)通信,將用戶(hù)聊天過(guò)程中的延遲降至最低;
  • HTTP:XXD 服務(wù)器與后端服務(wù)器通過(guò) HTTP 協(xié)議通信,HTTP 協(xié)議具有廣泛的支持,并且使用簡(jiǎn)單,這樣用戶(hù)更容易將喧喧集成到自己的系統(tǒng)中。

通常情況下客戶(hù)端、后端服務(wù)器和 XXD 服務(wù)器的關(guān)系如下:

一個(gè) XXD 服務(wù)器還可以鏈接到多個(gè)后端服務(wù)器,這樣可以實(shí)現(xiàn)集群部署:


技術(shù)實(shí)現(xiàn)

后端服務(wù)器實(shí)現(xiàn)

后端服務(wù)器采用 php + mysql 開(kāi)發(fā),使用 ZentaoPHP 作為開(kāi)發(fā)框架,非常方便的進(jìn)行二次開(kāi)發(fā)。


XXD 服務(wù)器實(shí)現(xiàn)

XXD 服務(wù)器端采用 Go 語(yǔ)言實(shí)現(xiàn)。Go 語(yǔ)言具備高性能、支持高并發(fā)、易于學(xué)習(xí)使用,非常適合來(lái)開(kāi)發(fā)中間守護(hù)服務(wù)器。


XXD 服務(wù)器使用到了 go-sqlite3 來(lái)實(shí)現(xiàn)服務(wù)器緩存功能。


客戶(hù)端實(shí)現(xiàn)

客戶(hù)端推薦采用 HTML/CSS/JS 實(shí)現(xiàn),目前官方桌面客戶(hù)端基于 Electron 開(kāi)發(fā)。



以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)