网易视频云专注于技术服务——异步通知系统
隨著互聯網技術的發展,云計算在資源層面競爭已經進入白熱化的階段,網易視頻云定位于PAAS層面,從各個技術領域進行技術鉆研以提供給用戶更高效、更穩定、更便捷的視頻直播技術服務;notify系統作為網易視頻云對外技術服務的一員,提供面向海量用戶的高可用異步回調服務。
目前,直播平臺大多采用以下架構(圖一):客戶通過推拉流SDK或軟件直接與直播/點播平臺進行推拉流/轉碼交互,這樣的架構下客戶企業應用中對直播/點播狀態及數據的管理增加了更多條件限制,客戶企業應用服務器在維護直播/點播數據信息需要考慮各種復雜場景因素:1.推流端非正常退出時客戶企業應用服務器無法感知用戶真實的流狀態;2.客戶企業應用無法感知推流用戶使用第三方技術進行推拉流等。
(圖一)
為了讓客戶能更準確高效的獲取實時直播數據,網易視頻云提供了一套高效穩定的異步回調服務機制(圖二),給用戶提供實時高效的數據服務。
(圖二)
與內部服務系統相比,外部異步通知不僅需要考慮海量數據處理的性能同時還需要考慮不同接收方網絡環境、數據處理耗時差異的影響。因此如何在負責環境下,給用戶提供可靠通知服務是首要解決問題。
網易視頻云的系統設計
通知系統作為網易視頻云通用化海量通知發送平臺為設計目標并不關心具體業務場景(圖三),接入方只需要根據自己的業務狀態將發送目標地址、發送內容進行通知注冊,通知系統即可根據相關用戶配置信息進行高容錯發送,在流程上盡可能提高發送方的業務處理效率;為更好支持業務通知系統還提供了提交、回滾可選項二階段注冊方式。
(圖三)
通知客戶端/api:提供給業務接入方進行通知注冊、查詢、提交、回滾功能的高可用RPC接口。
通知恢復處理器:用于觸發指定時間點的通知進行重發處理,對重發任務進行恢復調度。
消息通道:可根據不同業務或用戶配置不同的消息通道(圖四),一個通道被堵不會影響其他通道,一部分用戶處理緩慢不會影響全部客戶,從而起到故障隔離的目的。
(圖四)
通知協議處理器:真正執行通知發送的組件,不同的接收方往往基于自己的技術使用不同的協議,如:http、https或其他協議,協議處理器按用戶配置選擇指定的協議進行通知處理,插拔式功能模塊更方便支持業務拓展。
決策器:決策處理器根據協議處理器處理結果和用戶的通知發送配置信息進行重試調度、消息降級、丟棄、歸檔處理;第一次通知發送往往是業務最關心的即時信息,因此具有通道中最高優先調度權,正常情況下第一次發送失敗后則會立即進行重發嘗試,否則根據策略進行消息降級處理,對于發送失敗越高的通知調度的優先級越低。
monitor:監控實時系統狀態,監控通知積壓情況。
通知系統內部采用注冊和發送分離的方案,面向接入業務提供高tps數據寫入,讓業務處理更純粹,更效率;通知內部基于通道、協議及決策器協同處理設計方案從細節上提高海量數據處理能力,使通知系統具備資源合理分配、故障隔離、優先調度調控的能力,為通知發送發和接收方提供更高的質量保障;同時通知集群采用高可用分布式服務框架,通知業務接入方和通知服務端采用點對點的調用方式,支持對業務透明的動態擴容方案。
網易云信∣真正穩定的IM云服務
http://netease.im ?長按識別,關注精彩
總結
以上是生活随笔為你收集整理的网易视频云专注于技术服务——异步通知系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【图】一只Android开发程序猿对IM
- 下一篇: 【直播预告】中外互联网大厂欢乐开撕:谁是