(1)客戶端層
能夠處理各種設備的兼容問題,包括ios、Android、Windows和web等各種開發平臺的語言適配,是系統流暢度的重要保障。再加上消息通道的管理維護,包括移動端的弱網管理和斷線重連等。以保證數據安全,所有上下行的數據包都進行加密處理,從而避免數據泄露或中間人攻擊等安全風險。
(2)網關接入層
直播app軟件開發會涉及到管理大量客戶端的連接,單個節點可以維護數十萬量級的客戶端。處理不同類型客戶端的協議兼容,由於客戶端實現技術的多樣性,導致客戶端與網關之間底層的數據通信協議存在差異,需要由不同的接入網關做協議轉換。
(3)路由層
業務層接入的“中轉站”,同時承擔負載均衡的作用。單個業務節點處理能力達到瓶頸時,更方便擴容。路由層使業務層的擴容對前置網關層完全透明,當壹個網絡的業務集群出現網絡故障時,可以切換到備用網絡從而保證直播服務的可用性。
(4)業務層
主要處理聊天室內的業務消息,壹個集群內有眾多節點且相互對等,任何壹個節點出現故障都會使整個集群的處理能力下降,但是並不會引起服務的中斷,因為其他節點可以繼續接管業務數據包的處理,也是直播app軟件的業務服務器部署采用水平擴展、主從讀寫分離方式的重要原因。