用嚴苛標準確保服務穩(wěn)定,游密通訊云余俊澎告訴你如何處理高并發(fā)!
原創(chuàng)【51CTO.com原創(chuàng)稿件】2018年5月18-19日,由51CTO主辦的全球軟件與運維技術峰會在北京召開。此次峰會圍繞人工智能、大數(shù)據(jù)、物聯(lián)網、區(qū)塊鏈等12大核心熱點,匯聚海內外60位一線專家,這是一場高端的技術盛宴,也是***IT技術人才學習和人脈拓展不容錯過的平臺。
在5月19日下午“高并發(fā)與實時處理”C會場論壇中,游密通訊云技術副總裁余俊澎帶來了《實時音視頻海量并發(fā)之道》的主題演講。他從實踐的角度分享了游密通訊云如何確保服務穩(wěn)定,以及如何處理高并發(fā)場景的一些心得。
直面音視頻領域的四個挑戰(zhàn)
余俊澎在開場首先介紹到,游密的核心團隊擁有15年的音視頻研發(fā)經驗,針對企業(yè)市場用戶提供IM即時通訊、Talk實時語音、視頻通話、互動直播四類主體業(yè)務,用戶場景也非常廣泛如游戲實時語音通話、二次元游戲語音主播等。據(jù)了解,截至目前,游密通訊云公司服務通訊用戶數(shù)量累計達5億人,音視頻通話累計時長達到500億分鐘。
當談到實時音視頻領域目前的主要挑戰(zhàn)時,余俊澎認為有四點挑戰(zhàn):
一是網絡全球化的挑戰(zhàn)。由于很多企業(yè)業(yè)務、應用包括游戲,出海和全球發(fā)行都是一個大趨勢,而全球網絡狀況差異非常明顯,像網絡波動、丟包、延遲、地區(qū)等網絡環(huán)境各不相同,網絡優(yōu)化非常復雜。
二是來自移動平臺的挑戰(zhàn)。目前移動平臺在音視頻方面的需求非常大,但是機型的適配特別復雜,尤其是安卓系統(tǒng)的機型,從硬件到系統(tǒng)版本都比較復雜。此外,由于移動端使用環(huán)境多變,網絡切換很容易造成延遲和斷網。
三是來自運維部署方面的挑戰(zhàn)。為了提供更好的服務,需要對全球服務質量監(jiān)控、服務的數(shù)據(jù)化、高可用保障以及后期服務質量進行分析和改進,也要在運維上持續(xù)投入。同時因為客戶購買服務,對成本都非常敏感,還要對成本進行優(yōu)化。
四是來自客戶端的挑戰(zhàn)。在音視頻采集過程中,需要做好端的兼容;在編碼環(huán)節(jié),盡可能采用硬件編碼,還要有一個錯誤檢測機制,當硬件編碼出現(xiàn)問題的時候能夠自動降級,降到軟編,保證機型適配。在傳輸方案上,***從DNS到選擇Access的節(jié)點,以及最終到通過UDP來確保傳輸過程的可控。“實時音視頻跟直播其實還是有區(qū)別,我們的策略是要優(yōu)先保障實時。”
余俊澎還分享了音視頻處理流程中比較核心的關鍵點。
穩(wěn)定壓倒一切
在演講中,余俊澎表示產品的穩(wěn)定性往往是客戶非??粗氐囊粋€需求。那么游密通訊云在產品穩(wěn)定性方面做了哪些工作呢?余俊澎分享了他和技術團隊在這方面的實踐經驗。
首先是公司對crash率有近乎苛刻的指標要求,不得高于萬分之0.2。
其次雖然0 warning只是一個傳說,但是余俊澎和技術團隊對音視頻代碼的靜態(tài)分析、編譯過程的日志始終保持嚴格的監(jiān)控。“我們通過持續(xù)集成系統(tǒng)每日進行日志分析,例如我們發(fā)現(xiàn)當天有10個warning,但是目前版本經過驗證,仍然是非常穩(wěn)定的,那么我們就會把閾值設在這個范圍內。之后如果多出現(xiàn)了一個warning,那就必須認真地分析這個warning會帶來什么新的影響,盡可能把這個warning消除掉。” 余俊澎認真地說。
再次是決不允許內存泄漏。據(jù)了解,游密通訊云在這個方面非常嚴謹,任何措施都會經過反復驗證,確保內存數(shù)據(jù)的安全。
另一點舉措是每日構建+自動化測試+測試報告。余俊澎告訴記者,在公司當前版本的控制平臺上,整個CI系統(tǒng)都在自動化正常運營,每天提交相關測試報告,確保系統(tǒng)穩(wěn)定運行。
***一點是嚴格的測試與發(fā)布流程。這一點其實對于客戶、用戶感受非常重要,沒有節(jié)奏的迭代發(fā)布會讓用戶產生很差的體驗,而嚴格的測試在很大程度上可以確保發(fā)布系統(tǒng)的穩(wěn)定,從而贏得好口碑。
除了去中心化之外,高并發(fā)還有很多需要優(yōu)化點
余俊澎在現(xiàn)場除了解讀音視頻在客戶端的實踐之外,對于內部服務器端也做了介紹,這也非常契合本次論壇“高并發(fā)與實時處理”的主題。
當發(fā)現(xiàn)音視頻海量并發(fā)時,大家往往***想到的是去中心化,做高并發(fā)支撐。除此之外,余俊澎認為還可以通過智能路由化解高并發(fā)壓力,同時如果企業(yè)需要開展全球業(yè)務,例如需要歐美、印尼這些地方的線路與國內互通,就并不是直接連接效果就一定***,反而可以通過智能路由,去選擇更好的線路。“我們對于智能路由的設計方法是——我們先將基于各個網絡節(jié)點之間以及客戶端上報、探測到的和我們接入服務之間的延遲、丟包、線路擁塞這些情況進行匯總,最終傳送到一個數(shù)據(jù)模塊給Redirect服務提供數(shù)據(jù)。對于上報的數(shù)據(jù),經過迪杰斯特拉算法,計算出任意兩點間的***路徑。”
“游密通訊云通過實踐發(fā)現(xiàn),還有一些舉措對于處理高并發(fā)現(xiàn)象也有非常好的效果,如關鍵模塊嚴禁O(n)、過載保護、自主可控DNS解析。”余俊澎表示。
演講***,余俊澎分享了游密通訊云關于音視頻領域未來發(fā)展的一些思考,其中有的方向非常超前,為現(xiàn)場聽眾提供了參考方向。例如RNNoise是一個開源的項目,游密通訊云希望能夠利用RNNoise做基于深度學習的噪聲消除;ObEN在海外也是一個有未來感的項目,它可以模擬一個用戶,完全復制用戶的神態(tài)、講話的聲音、講話語調、音色。例如有一位主播,她可以選擇用哪位明星的聲音來做播報,這樣的功能非常受歡迎。
以上內容是51CTO記者根據(jù)游密通訊云技術副總裁余俊澎在WOT2018全球軟件與運維技術峰會的演講內容整理,更多關于WOT的內容請關注51cto.com。
【51CTO原創(chuàng)稿件,合作站點轉載請注明原文作者和出處為51CTO.com】