WebSocket協(xié)議可以為網(wǎng)站和應(yīng)用提供真正的雙向通信编饺,具有控制開銷乖篷、保持連接狀態(tài)、更強(qiáng)實(shí)時(shí)性反肋、更好的壓縮效果等優(yōu)點(diǎn)那伐,是當(dāng)下低延時(shí)應(yīng)用最常采用的一種技術(shù)協(xié)議。
WebSocket的優(yōu)勢(shì)與應(yīng)用
HTML5定義 的WebSocket協(xié)議是基于TCP的一種新的網(wǎng)絡(luò)協(xié)議石蔗。它實(shí)現(xiàn)了瀏覽器與服務(wù)器全雙工(full-duplex)通信罕邀,即允許服務(wù)器主動(dòng)發(fā)送信息給客戶端。因此养距,WebSocket使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡(jiǎn)單诉探,允許服務(wù)端主動(dòng)向客戶端推送數(shù)據(jù)。在WebSocket API中棍厌,瀏覽器和服務(wù)器只需要完成一次握手肾胯,兩者之間就直接可以創(chuàng)建持久性的連接,并進(jìn)行雙向數(shù)據(jù)傳輸耘纱。
WebSocket能更好的節(jié)省服務(wù)器資源和帶寬敬肚,并且能夠更實(shí)時(shí)地進(jìn)行通訊,它的優(yōu)勢(shì):
? 較少的控制開銷束析。在連接創(chuàng)建后艳馒,服務(wù)器和客戶端之間交換數(shù)據(jù)時(shí),用于協(xié)議控制的數(shù)據(jù)包頭部相對(duì)較小员寇。
? 更強(qiáng)的實(shí)時(shí)性弄慰。由于協(xié)議是全雙工的,所以服務(wù)器可以隨時(shí)主動(dòng)給客戶端下發(fā)數(shù)據(jù)蝶锋。相對(duì)于HTTP請(qǐng)求需要等待客戶端發(fā)起請(qǐng)求服務(wù)端才能響應(yīng)陆爽,延遲明顯更少;即使是和Comet等類似的長(zhǎng)輪詢比較扳缕,其也能在短時(shí)間內(nèi)更多次地傳遞數(shù)據(jù)慌闭。
? 保持連接狀態(tài)。與HTTP不同的是躯舔,Websocket需要先創(chuàng)建連接驴剔,這就使得其成為一種有狀態(tài)的協(xié)議,之后通信時(shí)可以省略部分狀態(tài)信息庸毫。而HTTP請(qǐng)求可能需要在每個(gè)請(qǐng)求都攜帶狀態(tài)信息(如身份認(rèn)證等)。
? 更好的二進(jìn)制支持衫樊。Websocket定義了二進(jìn)制幀飒赃,相對(duì)HTTP利花,可以更輕松地處理二進(jìn)制內(nèi)容。
? 可以支持?jǐn)U展载佳。Websocket定義了擴(kuò)展炒事,用戶可以擴(kuò)展協(xié)議、實(shí)現(xiàn)部分自定義的子協(xié)議蔫慧。
? 更好的壓縮效果挠乳。相對(duì)于HTTP壓縮,Websocket在適當(dāng)?shù)臄U(kuò)展支持下姑躲,可以沿用之前內(nèi)容的上下文睡扬,在傳遞類似的數(shù)據(jù)時(shí),可以顯著地提高壓縮率黍析。
WebSocket主要用于解決以下幾個(gè)問題:
一卖怜、 在線聊天速度慢,斷開連接較快阐枣,不能更好的保持業(yè)務(wù)通訊
二马靠、 網(wǎng)頁通訊信息更安全,連接更穩(wěn)定
三蔼两、 提供更高效的網(wǎng)頁通訊
四甩鳄、 網(wǎng)絡(luò)抖動(dòng)帶來的連接時(shí)斷時(shí)續(xù)問題
五、 訪問打不開網(wǎng)頁额划,需要刷新頁面
六妙啃、 同時(shí)在線人數(shù)多,如何實(shí)時(shí)推送所有用戶
七锁孟、 服務(wù)端支持WebSocket協(xié)議
八彬祖、 如何降低帶寬,保證成本
總之品抽,如果你的應(yīng)用需要提供多個(gè)用戶相互交流储笑,或者展示服務(wù)器端經(jīng)常變動(dòng)的數(shù)據(jù),就十分需要使用WebSocket技術(shù)圆恤。
WebSocket應(yīng)用場(chǎng)景
阿里云CDN服務(wù)全球30多萬家客戶突倍,涵蓋視頻、教育盆昙、政府羽历、游戲、金融淡喜、社交秕磷、電商等各大行業(yè)場(chǎng)景,其中有幾個(gè)典型的業(yè)務(wù)場(chǎng)景炼团,可以利用平臺(tái)技術(shù)優(yōu)勢(shì)澎嚣,更好地解決實(shí)時(shí)通訊業(yè)務(wù)需求疏尿。DCDN已經(jīng)支持WebSocket協(xié)議,可以應(yīng)用在以下場(chǎng)景之中:
場(chǎng)景一:彈幕
彈幕的流程是終端用戶A在自己的客戶端廣播了一條信息易桃,這條信息需要在與其他N個(gè)用戶端發(fā)送的彈幕信息一并展示在A這邊褥琐。它需要馬上顯示到屏幕上,對(duì)實(shí)時(shí)性要求極高晤郑。在今年S8賽事總決賽中敌呈,虎牙直播就采用全站加速WebSocket協(xié)議,更從容地應(yīng)對(duì)2000萬在線超高并發(fā)流量下更實(shí)時(shí)造寝、更猛烈的互動(dòng)考驗(yàn)磕洪。
場(chǎng)景二:在線教育
在線教育跨越了時(shí)空的限制,學(xué)生與老師進(jìn)行一對(duì)多/一對(duì)一的在線授課匹舞,老師在客戶端內(nèi)編寫的筆記褐鸥、大綱、白板信息等信息赐稽,需要實(shí)時(shí)推送至多個(gè)學(xué)生的客戶端叫榕,同時(shí)在課堂上,通話姊舵、文字聊天晰绎、實(shí)時(shí)解題等交互的實(shí)時(shí)性要求非常高,需要通過WebSocket協(xié)議來完成括丁。
場(chǎng)景三:金融產(chǎn)品實(shí)時(shí)信息查詢
股票價(jià)格瞬息萬變荞下,如果顯示數(shù)據(jù)不及時(shí),很有可能會(huì)影響用戶的收益史飞。需要通過WebSocket協(xié)議流式更新數(shù)據(jù)變化尖昏,將價(jià)格實(shí)時(shí)推送至世界各地的客戶端,方便交易員迅速做出交易判斷构资。
場(chǎng)景四:體育實(shí)況更新
由于全世界體育愛好者數(shù)量眾多抽诉,比賽實(shí)況成為他們最為關(guān)心的熱點(diǎn)。如果你是提供體育新聞?lì)惙?wù)吐绵,WebSocket能夠助力你的用戶降低延時(shí)迹淌,獲得實(shí)時(shí)的更新。
場(chǎng)景五:視頻會(huì)議和互動(dòng)直播
盡管視頻會(huì)議并不能代替和真人相見己单,但是應(yīng)用場(chǎng)景眾多唉窃。而互動(dòng)直播和視頻會(huì)議中的連麥的服務(wù)對(duì)低延時(shí)的要求非常高。試想主播或者你的主管說了一句話后纹笼,你要10秒后才能聽到纹份,那你們是根本無法進(jìn)行正常交流的 。WebSocket可以幫助兩端或多端接入會(huì)議/直播的用戶實(shí)時(shí)傳遞信息廷痘。
全站加速DCDN
阿里云自主研發(fā)的全站加速產(chǎn)品 DCDN(Dynamic Route for Content Delivery Network)蔓涧,是融合了動(dòng)態(tài)加速和靜態(tài)加速技術(shù)的 CDN 產(chǎn)品削咆。該產(chǎn)品旨在提升動(dòng)靜態(tài)資源混合站點(diǎn)的訪問體驗(yàn),支持靜態(tài)資源邊緣緩存蠢笋,動(dòng)態(tài)內(nèi)容最優(yōu)路由回源傳輸勺像,同時(shí)滿足整體站點(diǎn)的全網(wǎng)訪問速度及穩(wěn)定性需求济瓢。一站式解決了頁面動(dòng)靜態(tài)資源混雜、跨運(yùn)營(yíng)商括袒、網(wǎng)絡(luò)不穩(wěn)定厦滤、單線源站援岩、突發(fā)流量、網(wǎng)絡(luò)擁塞等諸多因素導(dǎo)致的響應(yīng)慢掏导、丟包享怀、服務(wù)不穩(wěn)定的問題,提升全站性能和用戶體驗(yàn)趟咆。全站加速構(gòu)建于阿里云 CDN 平臺(tái)之上添瓷,適用于動(dòng)靜混合型、純動(dòng)態(tài)型站點(diǎn)或應(yīng)用的內(nèi)容分發(fā)加速服務(wù)值纱。
您可以通過以下架構(gòu)圖鳞贷,了解全站加速的工作原理。
智能區(qū)分動(dòng)靜態(tài)內(nèi)容:域名接入阿里云全站加速后虐唠,通過域名訪問的動(dòng)靜態(tài)內(nèi)容將被智能識(shí)別并區(qū)分搀愧。
動(dòng)靜態(tài)內(nèi)容同時(shí)加速:靜態(tài)內(nèi)容使用阿里云 CDN 加速,緩存在 CDN 節(jié)點(diǎn)上疆偿,供用戶就近訪問咱筛。動(dòng)態(tài)內(nèi)容通過智能路由優(yōu)化、協(xié)議優(yōu)化等動(dòng)態(tài)加速技術(shù)快速回源獲取杆故。
全站加速 DCDN 特點(diǎn)
便捷接入:站點(diǎn)無需動(dòng)靜態(tài)內(nèi)容拆分加速迅箩,一鍵接入解決網(wǎng)絡(luò)擁塞,提高訪問成功率反番;
智能加速:加速方案更智能沙热,多種分發(fā)策略,邊緣緩存罢缸、最優(yōu)路由篙贸、壓縮傳輸,訪問效率提升 60%枫疆;
穩(wěn)定極速:1500+ 全球節(jié)點(diǎn)爵川,120T 帶寬能力,六大洲覆蓋息楔,國(guó)內(nèi)主流運(yùn)營(yíng)商支持寝贡;
內(nèi)容安全:全鏈路加密傳輸扒披,集成多種訪問控制方式,增強(qiáng)源站防護(hù)能力圃泡,為文件碟案,視頻的傳輸保駕護(hù)航。