金瓶梅影音live秀今年以來,視頻直播行業迎來了里程碑式的大爆發。以YY、鬥魚、網易BOBO為代表的視頻直播平台層出不窮。有行業人士指出,以最低的碼率為800K來算,一個同時在線百萬的直播平台,每個月僅僅帶寬費用就高達3000萬到4000萬元之間。據了解,2015年虎牙帶寬的預算就高達2.6億元,平均每月2000萬。
直播聊天室卡頓之現象談
按照傳統的方式來搭建一個視頻伺服器,需要具備cache伺服器、存儲伺服器、編碼伺服器、調度伺服器等開發能力,系統維護人員和開發人員以及一系列的硬體要求。而龐大的用戶訪問量引發的卡頓、宕機、網站崩潰、用戶無法訪問等問題也成為是傳統視頻直播中的痛點。其中有一個非常顯見的問題場景是熱門視頻直播間人數可能達到幾十萬人,一個人發消息幾十萬人接收,幾十萬人發消息幾十萬人接收,驚人的流量之下,直播聊天室時常出現卡頓和不流暢。視頻直播後台伺服器承受的能力有限,一旦用戶訪問量激增,衝破伺服器承受範圍,崩潰現象不可避免。去年,A站舉辦了一個AKB48投票活動,acer一擁而上,網站崩潰,投票被迫終止。而秀場直播行業下的主播家族規模大體有1-2萬,同時觀看視頻直播人數更是可想而知。
現在市場上很多提供聊天室類服務的產品其實都是基於群的模式來實現,所以人數上限一直是一個難以突破的瓶頸,甚至有的服務直接使用「超大群」或「千人群」這樣一種特殊群模式來滿足用戶對聊天室場景的需求。
那是否能從一個已有的成熟技術框架上改造一個聊天室出來呢?聊天室和論壇及IM群都具有一定的共性,看起來似乎可以將論壇架構改造成聊天室,也可以將IM群改造成聊天室。
如果將論壇架構改造成聊天室會如何?首先需要提高消息送達的即時性,由於論壇都是基於HTTP協議的,為了保證消息即時送達,需要客戶端不斷輪詢伺服器來獲取新的消息,如果對即時性的要求越高,輪詢時間就需要縮短,這種模式在用戶量達到一定規模後無法承載。為了保證消息的高效送達,客戶端與伺服器之間的需要採用長連接機制,新消息的送達通過伺服器主動向客戶端下推來完成。
如果將已有的IM群改造成聊天室呢?由於群具有對離線消息關注度高的特性,所有的群消息在成員離線時需要持久化,因而群人數越多效率越低,也正是因為這個原因,一般的IM群都是有人數上限的,想把群改造成聊天室,就不能存儲離線消息,所以這種方式並不順暢。
網易雲信如何實現真正「無上限人數」直播聊天室?
跨平台問題,雲信SDK實現了多平台覆說A對iOS、Android、Windows和Web等開發平台都提供了原生SDK版本,最大程度上解決了開發者跨平台需求的難題,使開發者能使用自己熟悉的開發語言和平台快速實現產品弁遄C此外對iOS和Android行動網路做弱網絡優化,開發者無需關心行動網路切換時網絡斷線重連等問題,提高了連接的穩定性。在通信安全方面,對客戶端與伺服器端之間的通信數據都做了加密壓縮處理,一則幫用戶節省了網絡流量,提高數據傳輸效率,二則保證了通信數據的安全性,規避數據泄露或中間人攻擊等各種安全風險。
網關接入層面,網關接入層主要用於客戶端長連接的管理,單個節點可以維護的長連接在十萬量級。網關接入層還有一個重要弁酮O處理不同SDK的協議兼容問題,比如Web端使用的WebSocket協議和iOS端使用的基於TCP的私有協議並不一樣,這類客戶端與伺服器在數據通信協議上的差異需要通過接入網關做協議轉換;另外,雲信網關接入層還要處理數據安全邏輯和跨網絡的高可用邏輯;最後是廣播消息的高效下行分發,網關接入節點需要將收到的廣播消息分發到本節點上維護的客戶端。
路由層,路由層承擔網關接入層和業務層之間解耦的弁遄A數據包到達接入層之後通過路由層中轉送達到正確的業務節點,同時具有負載均衡和高可用的能力,在單個業務節點處理能力達到瓶頸時能方便快速的擴容;路由層使業務層擴容對前置網關層完全透明,當一個網絡的業務集群出現網絡故障時,可以切換到備用網絡,保證服務可用性。
業務層,聊天室弁鄐W的業務節點主要用於處理收發聊天室消息,成員進出鑒權等具體的業務邏輯,集群內有眾多節點,它們角色相互對等,單節點的故障可能會使集群的業務處理能力受影響但不會引起服務的中斷,在節點故障發生時可以快速增加新的替代節點來恢復集群的業務處理能力;此外業務集群有多個網絡環境的熱備,以應對可能出現的區域性網絡故障。
雲信從四個層面入手最終實現真正的「無上限人數「直播聊天室的建設,具有跨平台、數據加密、高可用、易擴展、高並發低延遲的優點。網易雲信基於網易15年的IM技術經驗,無上限人數直播聊天室適用於在線教育、遊戲直播、秀場直播、遠程醫療、在線金融等多個領域。
金瓶梅影音live秀-網易雲信實現真正「無上限人數」直播聊天室
金瓶梅影音live秀今年以來,視頻直播行業迎來了里程碑式的大爆發。以YY、鬥魚、網易BOBO為代表的視頻直播平台層出不窮。有行業人士指出,以最低的碼率為800K來算,一個同時在線百萬的直播平台,每個月僅僅帶寬費用就高達3000萬到4000萬元之間。據了解,2015年虎牙帶寬的預算就高達2.6億元,平均每月2000萬。
直播聊天室卡頓之現象談
按照傳統的方式來搭建一個視頻伺服器,需要具備cache伺服器、存儲伺服器、編碼伺服器、調度伺服器等開發能力,系統維護人員和開發人員以及一系列的硬體要求。而龐大的用戶訪問量引發的卡頓、宕機、網站崩潰、用戶無法訪問等問題也成為是傳統視頻直播中的痛點。其中有一個非常顯見的問題場景是熱門視頻直播間人數可能達到幾十萬人,一個人發消息幾十萬人接收,幾十萬人發消息幾十萬人接收,驚人的流量之下,直播聊天室時常出現卡頓和不流暢。視頻直播後台伺服器承受的能力有限,一旦用戶訪問量激增,衝破伺服器承受範圍,崩潰現象不可避免。去年,A站舉辦了一個AKB48投票活動,acer一擁而上,網站崩潰,投票被迫終止。而秀場直播行業下的主播家族規模大體有1-2萬,同時觀看視頻直播人數更是可想而知。
現在市場上很多提供聊天室類服務的產品其實都是基於群的模式來實現,所以人數上限一直是一個難以突破的瓶頸,甚至有的服務直接使用「超大群」或「千人群」這樣一種特殊群模式來滿足用戶對聊天室場景的需求。
那是否能從一個已有的成熟技術框架上改造一個聊天室出來呢?聊天室和論壇及IM群都具有一定的共性,看起來似乎可以將論壇架構改造成聊天室,也可以將IM群改造成聊天室。
如果將論壇架構改造成聊天室會如何?首先需要提高消息送達的即時性,由於論壇都是基於HTTP協議的,為了保證消息即時送達,需要客戶端不斷輪詢伺服器來獲取新的消息,如果對即時性的要求越高,輪詢時間就需要縮短,這種模式在用戶量達到一定規模後無法承載。為了保證消息的高效送達,客戶端與伺服器之間的需要採用長連接機制,新消息的送達通過伺服器主動向客戶端下推來完成。
如果將已有的IM群改造成聊天室呢?由於群具有對離線消息關注度高的特性,所有的群消息在成員離線時需要持久化,因而群人數越多效率越低,也正是因為這個原因,一般的IM群都是有人數上限的,想把群改造成聊天室,就不能存儲離線消息,所以這種方式並不順暢。
網易雲信如何實現真正「無上限人數」直播聊天室?
跨平台問題,雲信SDK實現了多平台覆說A對iOS、Android、Windows和Web等開發平台都提供了原生SDK版本,最大程度上解決了開發者跨平台需求的難題,使開發者能使用自己熟悉的開發語言和平台快速實現產品弁遄C此外對iOS和Android行動網路做弱網絡優化,開發者無需關心行動網路切換時網絡斷線重連等問題,提高了連接的穩定性。在通信安全方面,對客戶端與伺服器端之間的通信數據都做了加密壓縮處理,一則幫用戶節省了網絡流量,提高數據傳輸效率,二則保證了通信數據的安全性,規避數據泄露或中間人攻擊等各種安全風險。
網關接入層面,網關接入層主要用於客戶端長連接的管理,單個節點可以維護的長連接在十萬量級。網關接入層還有一個重要弁酮O處理不同SDK的協議兼容問題,比如Web端使用的WebSocket協議和iOS端使用的基於TCP的私有協議並不一樣,這類客戶端與伺服器在數據通信協議上的差異需要通過接入網關做協議轉換;另外,雲信網關接入層還要處理數據安全邏輯和跨網絡的高可用邏輯;最後是廣播消息的高效下行分發,網關接入節點需要將收到的廣播消息分發到本節點上維護的客戶端。
路由層,路由層承擔網關接入層和業務層之間解耦的弁遄A數據包到達接入層之後通過路由層中轉送達到正確的業務節點,同時具有負載均衡和高可用的能力,在單個業務節點處理能力達到瓶頸時能方便快速的擴容;路由層使業務層擴容對前置網關層完全透明,當一個網絡的業務集群出現網絡故障時,可以切換到備用網絡,保證服務可用性。
業務層,聊天室弁鄐W的業務節點主要用於處理收發聊天室消息,成員進出鑒權等具體的業務邏輯,集群內有眾多節點,它們角色相互對等,單節點的故障可能會使集群的業務處理能力受影響但不會引起服務的中斷,在節點故障發生時可以快速增加新的替代節點來恢復集群的業務處理能力;此外業務集群有多個網絡環境的熱備,以應對可能出現的區域性網絡故障。
雲信從四個層面入手最終實現真正的「無上限人數「直播聊天室的建設,具有跨平台、數據加密、高可用、易擴展、高並發低延遲的優點。網易雲信基於網易15年的IM技術經驗,無上限人數直播聊天室適用於在線教育、遊戲直播、秀場直播、遠程醫療、在線金融等多個領域。