WebSocket協(xié)議可以為網(wǎng)站和應(yīng)用提供真正的雙向通信,具有控制開銷、保持連接狀態(tài)、更強實時性、更好的壓縮效果等優(yōu)點,是當(dāng)下低延時應(yīng)用最常采用的一種技術(shù)協(xié)議。為了更好的滿足客戶在實時通訊場景下的加速需求,目前阿里云全站加速DCDN已經(jīng)全面支持WebSocket協(xié)議,以此確保更加極致的客戶體驗。
WebSocket的優(yōu)勢與應(yīng)用
HTML5定義 的WebSocket協(xié)議是基于TCP的一種新的網(wǎng)絡(luò)協(xié)議。它實現(xiàn)了瀏覽器與服務(wù)器全雙工(full-duplex)通信,即允許服務(wù)器主動發(fā)送信息給客戶端。因此,WebSocket使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡單,允許服務(wù)端主動向客戶端推送數(shù)據(jù)。在WebSocket API中,瀏覽器和服務(wù)器只需要完成一次握手,兩者之間就直接可以創(chuàng)建持久性的連接,并進行雙向數(shù)據(jù)傳輸。
WebSocket能更好的節(jié)省服務(wù)器資源和帶寬,并且能夠更實時地進行通訊,它的優(yōu)勢:
較少的控制開銷
在連接創(chuàng)建后,服務(wù)器和客戶端之間交換數(shù)據(jù)時,用于協(xié)議控制的數(shù)據(jù)包頭部相對較小。
更強的實時性
由于協(xié)議是全雙工的,所以服務(wù)器可以隨時主動給客戶端下發(fā)數(shù)據(jù)。相對于HTTP請求需要等待客戶端發(fā)起請求服務(wù)端才能響應(yīng),延遲明顯更少;即使是和Comet等類似的長輪詢比較,其也能在短時間內(nèi)更多次地傳遞數(shù)據(jù)。
保持連接狀態(tài)
與HTTP不同的是,Websocket需要先創(chuàng)建連接,這就使得其成為一種有狀態(tài)的協(xié)議,之后通信時可以省略部分狀態(tài)信息。而HTTP請求可能需要在每個請求都攜帶狀態(tài)信息(如身份認證等)。
更好的二進制支持
Websocket定義了二進制幀,相對HTTP,可以更輕松地處理二進制內(nèi)容。
可以支持擴展
Websocket定義了擴展,用戶可以擴展協(xié)議、實現(xiàn)部分自定義的子協(xié)議。
更好的壓縮效果
相對于HTTP壓縮,Websocket在適當(dāng)?shù)臄U展支持下,可以沿用之前內(nèi)容的上下文,在傳遞類似的數(shù)據(jù)時,可以顯著地提高壓縮率。
WebSocket主要用于解決以下幾個問題:
1.在線聊天速度慢,斷開連接較快,不能更好的保持業(yè)務(wù)通訊
2.網(wǎng)頁通訊信息更安全,連接更穩(wěn)定 網(wǎng)頁通訊信息更安全,連接更穩(wěn)定
3.提供更高效的網(wǎng)頁通訊提供更高效的網(wǎng)頁通訊
4.網(wǎng)絡(luò)抖動帶來的連接時斷時續(xù)問題網(wǎng)絡(luò)抖動帶來的連接時斷時續(xù)問題
5.訪問打不開網(wǎng)頁,需要刷新頁面訪問打不開網(wǎng)頁,需要刷新頁面
6.同時在線人數(shù)多,如何實時推送所有用戶
7.服務(wù)端支持WebSocket協(xié)議服務(wù)端支持WebSocket協(xié)議
8.如何降低帶寬,保證成本 如何降低帶寬,保證成本
總之,如果你的應(yīng)用需要提供多個用戶相互交流,或者展示服務(wù)器端經(jīng)常變動的數(shù)據(jù),就十分需要使用WebSocket技術(shù)。
阿里云DCDN的WebSocket應(yīng)用場景
阿里云CDN服務(wù)全球30多萬家客戶,涵蓋視頻、教育、政府、游戲、金融、社交、電商等各大行業(yè)場景,其中有幾個典型的業(yè)務(wù)場景,可以利用平臺技術(shù)優(yōu)勢,更好地解決實時通訊業(yè)務(wù)需求。DCDN已經(jīng)支持WebSocket協(xié)議,可以應(yīng)用在以下場景之中:
場景一:彈幕
彈幕的流程是終端用戶A在自己的客戶端廣播了一條信息,這條信息需要在與其他N個用戶端發(fā)送的彈幕信息一并展示在A這邊。它需要馬上顯示到屏幕上,對實時性要求極高。在今年S8賽事總決賽中,虎牙直播就采用全站加速WebSocket協(xié)議,更從容地應(yīng)對2000萬在線超高并發(fā)流量下更實時、更猛烈的互動考驗。
場景二:在線教育
在線教育跨越了時空的限制,學(xué)生與老師進行一對多/一對一的在線授課,老師在客戶端內(nèi)編寫的筆記、大綱、白板信息等信息,需要實時推送至多個學(xué)生的客戶端,同時在課堂上,通話、文字聊天、實時解題等交互的實時性要求非常高,需要通過WebSocket協(xié)議來完成。
場景三:金融產(chǎn)品實時信息查詢
股票價格瞬息萬變,如果顯示數(shù)據(jù)不及時,很有可能會影響用戶的收益。需要通過WebSocket協(xié)議流式更新數(shù)據(jù)變化,將價格實時推送至世界各地的客戶端,方便交易員迅速做出交易判斷。
場景四:體育實況更新
由于全世界體育愛好者數(shù)量眾多,比賽實況成為他們最為關(guān)心的熱點。如果你是提供體育新聞類服務(wù),WebSocket能夠助力你的用戶降低延時,獲得實時的更新。
場景五:視頻會議和互動直播
盡管視頻會議并不能代替和真人相見,但是應(yīng)用場景眾多。而互動直播和視頻會議中的連麥的服務(wù)對低延時的要求非常高。試想主播或者你的主管說了一句話后,你要10秒后才能聽到,那你們是根本無法進行正常交流的 。WebSocket可以幫助兩端或多端接入會議/直播的用戶實時傳遞信息。
全站加速DCDN ——更極致用戶體驗
阿里云自主研發(fā)的全站加速產(chǎn)品(Dynamic Route for Content Delivery Network)是融合了動態(tài)加速和靜態(tài)加速技術(shù)的CDN產(chǎn)品,除了全面支持WebSocket協(xié)議之外,該產(chǎn)品一站式解決了頁面動靜態(tài)資源混雜、跨運營商、網(wǎng)絡(luò)不穩(wěn)定、單線源站、突發(fā)流量、網(wǎng)絡(luò)擁塞等諸多因素導(dǎo)致的響應(yīng)慢、丟包、服務(wù)不穩(wěn)定的問題,提升全站性能和用戶體驗。
全站加速工作原理:
全站加速構(gòu)建于阿里云CDN平臺之上,它的服務(wù)優(yōu)勢是:
應(yīng)用廣泛:針對電商、社交、政企、游戲、金融等動靜內(nèi)容混合場景下的性能及穩(wěn)定性需求,可以確保用戶體驗,防止用戶流失。更多場景解讀
便捷接入:站點無需動靜態(tài)內(nèi)容拆分加速,一鍵接入解決網(wǎng)絡(luò)擁塞,提高訪問成功率。接入指南
智能極速:加速方案更智能,多種分發(fā)策略,邊緣緩存,最優(yōu)路由,壓縮傳輸,訪問效率提升60%
穩(wěn)定加速:1500+全球節(jié)點充足保障,120T帶寬能力,六大洲覆蓋,國內(nèi)主流運營商支持。 了解節(jié)點分布
內(nèi)容安全:全鏈路加密傳輸,集成多種訪問控制方式,增強源站防護能力,為文件、視頻的傳輸保駕護航。了解更多產(chǎn)品文檔
三步即可快速上手全站加速
請按步驟接入:
1.開通全站加速服務(wù)
2.添加加速域名
3.配置CNAME,服務(wù)生效
如何購買全站加速
全站加速目前采用兩種計費方式:按量付費(后付費,詳見全站加速計費項)和預(yù)付費資源包。