天翼云CDN全站加速产品对websocket协议的支持

天翼云开发者社区
• 阅读 498

本文分享自天翼云开发者社区《天翼云CDN全站加速产品对websocket协议的支持》 作者:郭****迎

1、背景介绍

HTTP 协议有一个缺陷:通信只能由客户端发起。这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就只能使用轮询的方案。

轮询是在特定的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,显而易见,轮询不仅效率特别低,且特别浪费带宽资源,因为HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多带宽资源。

因此,工程师们一直在思考,有没有更好的方法。websocket 就是这样发明的。websocket 协议诞生于2008年,2011年成为国际标准,目前所有浏览器均已支持。它最大的特点全双工通信,浏览器和服务器只需要做一个握手的动作,然后浏览器和服务器之间就形成了一条快速通道,两者之间就可以直接互相传送数据了,如下右图所示。可见,websocket 协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。

天翼云CDN全站加速产品对websocket协议的支持

websocket的优势: 1)较少的控制开销。在连接创建后,服务器和客户端之间交换数据时,用于协议控制的数据包头部相对较小。 2)更强的实时性。由于协议是全双工的,所以服务器可以随时主动给客户端下发数据。相对于HTTP请求需要等待客户端发起请求服务端才能响应,延迟明显更少;即使是和Comet等类似的长轮询比较,其也能在短时间内更多次地传递数据。 3)保持连接状态。与HTTP不同的是,Websocket需要先创建连接,这就使得其成为一种有状态的协议,之后通信时可以省略部分状态信息。而HTTP请求可能需要在每个请求都携带状态信息(如身份认证等)。 4)更好的二进制支持。Websocket定义了二进制帧,相对HTTP,可以更轻松地处理二进制内容。 5)可以支持扩展。Websocket定义了扩展,用户可以扩展协议、实现部分自定义的子协议。 6)更好的压缩效果。相对于HTTP压缩,Websocket在适当的扩展支持下,可以沿用之前内容的上下文,在传递类似的数据时,可以显著地提高压缩率。 7)与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器。 8)没有同源限制。客户端可以与任意服务器通信。

2、websocket应用场景

场景一:弹幕 弹幕的流程是终端用户A在自己的客户端广播了一条信息,这条信息需要在与其他N个用户端发送的弹幕信息一并展示在A这边。它需要马上显示到屏幕上,对实时性要求极高。使用websocket可以在有新弹幕产生时,服务器能够迅速推送给所有用户端,保障弹幕实时性。

场景二:在线教育 在线教育跨越了时空的限制,学生与老师进行一对多/一对一的在线授课,老师在客户端内编写的笔记、大纲、白板信息等信息,需要实时推送至多个学生的客户端,同时在课堂上,通话、文字聊天、实时解题等交互的实时性要求非常高,需要通过websocket协议来完成。

场景三:金融产品实时信息查询 股票价格瞬息万变,如果显示数据不及时,很有可能会影响用户的收益。需要通过websocket协议流式更新数据变化,将价格实时推送至世界各地的客户端,方便交易员迅速做出交易判断。

场景四:体育实况更新 由于全世界体育爱好者数量众多,比赛实况成为他们最为关心的热点。websocket能够助力体育新闻类服务的用户降低延时,获得实时的更新。

场景五:视频会议和互动直播 尽管视频会议并不能代替和真人相见,但是应用场景众多。而互动直播和视频会议中的连麦的服务对低延时的要求非常高。试想主播或者你的主管说了一句话后,你要10秒后才能听到,那你们是根本无法进行正常交流的 。websocket可以帮助两端或多端接入会议/直播的用户实时传递信息。

3、天翼云全站加速对websocket协议的支持

天翼云全站加速产品支持对webscoket协议和http/https协议可同时加速,即同一个域名可以既有http/https协议,又有websocket加速,您无需拆分域名,使用全站加速产品就可以实现对域名下http/https协议的应用和websocket协议的应用同时加速。全站加速节点会自动识别客户端与全站加速边缘节点通信使用的协议,自动切换协议。通常情况下,websocket协议的应用多为动态业务,对实时性要求很高,全站加速的动态探测选路能力可以为websocket应用选择最快的回源路径,提升websocket业务的访问效果。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java 实现websocket
最近了解了下websocket和socket这个东西,说不得不来说下为何要使用WebSocket,和为何不用http。为何需要WebSocket?HTTP协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信请求只能由客户端发起,服务端对请求做出应答处理。这种通信模型有一个弊端:HTTP协议无法实现服务器主
Wesley13 Wesley13
3年前
Java WebSocket
本示例的目的,就是通过webSocket向客户端(浏览器端)发送消息.一、什么是WebSocket  WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(fullduplex)通信——允许服务器主动发送信息给客户端。WebSocket通信协议于2011年被IETF(https://www.oschina.n
Stella981 Stella981
3年前
Spring Websocket 中文文档 (spring5)
这部分参考文档包括对Servlet堆栈的支持,包括原始WebSocket交互的WebSocket消息传递,通过SockJS的WebSocket仿真,以及通过STOMP作为WebSocket上的子协议的pubsub消息传递。4.1。介绍WebSocket协议RFC6455(https://www.oschina.net/action/G
Stella981 Stella981
3年前
KBEngine使用Nginx反向代理支持WSS协议
KBEngine使用Nginx反向代理支持WSS协议目前很多H5的游戏需要用https和wss协议,特别是腾讯微信小游戏必须走https协议,而https协议的网站必须用websocket的wss协议才能实现连接.具体Nginx怎么实现的websocket就不再具体介绍,网络上有很多相关的文章.
Stella981 Stella981
3年前
HTTP协议与WebSocket协议对比
1.HTTP从根本上讲,HTTP还是半双工的协议,也就是说,在同一时刻流量只能单向流动:客户端向服务器发送请求(单向),然后服务器响应请求(单向)。2.WebSocketWebSocket是一种自然的全双工、双向、单套接字连接。使用WebSocket,一旦建立连接,服务器与客户端可以随时发送消息。与HTTP轮询不同,WebSocket只发有一个请
Stella981 Stella981
3年前
Bilibili资深运维工程师:DCDN在游戏应用加速中的实践
简介: bilibili资深运维工程师李宁分享《DCDN在游戏应用加速中的实践》从bilibili游戏应用的效果和成本入手,深入浅出地分享DCDN全站加速在游戏加速场景中的应用。日前,云栖大会新一代CDN的技术突破与应用实践专场中,bilibili资深运维工程师李宁进行了《DCDN在游戏应用加速中的实践》主题分享,从bilibili游戏应用CDN
QUIC协议在天翼云CDN全站加速产品中的应用
QUIC全称:QuickUDPInternetConnections,是一种实验性传输层网络协议,提供与TLS/SSL相当的安全性,同时具有更低的连接和传输延迟。QUIC目前的主要应用于http协议,基于QUIC的HTTP/3协议(RFC9114),除了拥有HTTP/2的各项优点,同时由于QUIC的特性,在弱网环境下拥有更强大的性能优势。QUIC由Google自研,2012年部署上线,2013年提交IETF,2021年5月,IETF推出标准版RFC9000。
玩转云端|演唱会一票难求?快用天翼云边缘安全加速平台AccessOne!
天翼云AccessOne基于覆盖全球的海量边缘节点,能够智能分离动静态内容,通过智能负载均衡技术,让静态内容在边缘节点进行缓存,保障用户就近接入边缘节点获取资源;对于动态内容,可通过智能选路、协议优化等技术,选择最/佳链路回源,同时提供协议优化、链路优化等多项优化技术,大大缩短内容传输距离和时间,加速抢购过程中的数据流转,有效降低延迟和抖动,保障用户交易。
玩转云端 | 网络也i人?咋变显眼包?天翼云AccessOne边缘接入来了!
AccessOne边缘接入服务提供低时延、高可靠的传输加速服务,可以解决跨运营商网络不稳定、单线源站、网络拥塞等诸多因素导致的延迟高、服务不稳定等问题,提升网络传输性能和用户体验。AccessOne边缘接入服务拥有多样灵活的接入方式,客户可将任意位置的数据资源安全连接到边缘网络入口,实现全球范围数据高速、稳定、安全的传输,适用于应用加速等多协议加速的业务场景。基于AccessOne边缘接入服务,用户可实现业务透明转发,并构建网络层安全防护,无惧DDoS攻/击。
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
722
粉丝
15
获赞
40