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

Posted 天翼云开发者社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了天翼云CDN全站加速产品对websocket协议的支持相关的知识,希望对你有一定的参考价值。

HTTP 协议有一个缺陷:通信只能由客户端发起。这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就只能使用轮询的方案。 轮询是在特定的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,显而易见,轮询不仅效率特别低,且特别浪费带宽资源,因为HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多带宽资源。

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

1、背景介绍

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

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

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

 

websocket的优势:

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

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业务的访问效果。

阿里云张毅萍:构建边缘云全站加速网络体系

简介: 2021年6月9日,亚太内容分发大会暨CDN峰会在北京举行,阿里云边缘云网络高级技术专家张毅萍受邀参会,分享了阿里云在构建边缘云全站加速网络体系的实践,基于边缘云节点支撑各种应用协议的分层传输加速,为差异化的企业应用提供广覆盖的网络加速基础服务。

2021年6月9日,亚太内容分发大会暨CDN峰会在北京举行,阿里云边缘云网络高级技术专家张毅萍受邀参会,分享了阿里云在构建边缘云全站加速网络体系的实践,基于边缘云节点支撑各种应用协议的分层传输加速,为差异化的企业应用提供广覆盖的网络加速基础服务。
image.png

张毅萍认为:速度是互联网业务中广受关注的业务指标,速度产生价值。视频与互动交互的场景下,速度对应的视频秒开率、播放卡顿率、视频清晰度、交互时延直接影响用户体验和留存;金融与电商交易场景下,每笔交易的请求响应速度以及成功率关系高价值业务运行;全站业务对接场景下,一站式加速对接可大幅提升了业务对接效率是关键。

从内容加速到全站加速
image.png

全站加速是从内容加速升级而来。内容加速主要是静态内容的加速,例如视频点播、文件下载。CDN通过大量节点提升用户请求效率和带宽的承载能力,基于缓存实现加速。除了视频点播、文件下载、静态网页这类可较长时间缓存的业务,大量对实时性业务出现,需要更加依赖真正的网络加速而非就近静态缓存带来的体验加速,例如网络游戏、金融交易、实时音视频通信等。

基于边缘云节点的统一选路调度是关键
image.png

选路调度的本质是在差异化的客户业务/场景/资源,实现全局的性能/成本最优。资源即节点、网络,单个节点包含CPU算力、内存容量、存储IO、网络IO等;业务是长视频、短视频、下载、直播、金融交易、边缘渲染等等;场景包括缓存内容(消耗存储容量/IO、网络IO)、动态内容(消耗网络IO、CPU算力)、流量计算(消耗CPU算力、内存容量);
选路调度可以理解为就是一种实时动态求解的过程,保证服务质量的前提下,尽可能把每种类型的资源都能够均匀的消耗,尤其是边缘云节点CPU算力资源的有效利用。

智能协议栈是提升服务质量的基础
image.png

结合业务、场景、环境差异匹配更适合的传输协议栈,可以缩小不同资源的服务差异性。在协议栈优化的场景中,划分为末端链路、中间链路、回源链路。

1)末端链路

面向终端,充分利用终端环境的数据差异,驱动匹配出最适配的传输算法。终端访问时的网络环境、业务类型、时间等方面的差异体现不同服务质量,传输协议匹配是最有效的优化质量的手段,同时还能够优化网络成本。

2)中间链路和回源链路

大规模的链路收敛,追求传输质量和稳定性最优,允许牺牲部分成本,对抗公网传输的波动和干扰,实现链路容灾。

全链路诊断是实现故障快速定位和快速恢复的基石
image.png

从业务视角快速检测和定位异常点,提升异常恢复速度、提升运维效率,可分为两类检测:

1)被动检测

包括TCP的打标数据统计,从七层业务切入,基于业务层Request/Response维度的打标跟踪,七层转四层时根据七层业务打标执行包染色,中间链路各类网关的染色包统计上报,到最后基于统计数据进行异常点诊断。

2)主动探测

借助大量的终端反馈最终用户视角的服务质量,通过自有的千级节点的精细化相互探测,联动异常自动化处置,此外还可以借助第三方播测平台来获得第三方视角的服务质量评定。

最终,将原来三/四/七层独立的质量检测升级为三/四/七层贯穿关联,形成全站加速全链路质量的全局视角。

打造体系化的安全防护能力
image.png

在谈及网络安全时,最先想到的就是DDoS之类的流量攻击,这作为基本能力肯定是需要具备的,是属于资源型的能力,单节点没有几百G的带宽储备,很难形成有效的抗D能力。阿里云具有足够防流量攻击的资源池。

张毅萍指出:除了资源侧防护,还需要构建安防体系,尤其是针对动态内容的安全防护,动态加速内容具有请求带宽小、业务价值大的特点,相比最基本的暴力流量攻击,针对动态内容,更多的是爬虫管理、业务防刷等功能。例如,电商网站的各种价格、下单等都是大量的动态内容数据,会面对爬虫、刷单等情况比较多,需要做的防护也更多是针对这些来做的。通过建立起一套完整的安防数据分析体系,与客户在业务层面做深度合作,共同定义什么样的动态请求是正常的,什么样的是异常的,以及不同业务的异常的请求都有哪些特征,如何应对才能尽可能提高安防能力的同时降低误伤概率;

安全防护体系的建立需要依靠攻防积累下来的技术和策略,而这才是最有价值的。

网络加速的核心能力也是打造边缘云体系的基础。在各个边缘应用场景下,底层网络的加速、多云之间的互联互通,可以帮助构建边缘云生态,接口标准化、跨网络的协同、跨云的业务部署,给上层业务提供更广阔、通用的基础设施能力。

演讲最后,张毅萍表达面向未来发展看法:在边缘云生态的发展中,零散的基础资源交付会越来越难以执行,场景应用解决方案式交付会是主流方向,开放合作共赢必将是主旋律,期待加强产业合作,共创边缘云生态。

原文链接
本文为阿里云原创内容,未经允许不得转载。

以上是关于天翼云CDN全站加速产品对websocket协议的支持的主要内容,如果未能解决你的问题,请参考以下文章

阿里云全站加速DCDN全面支持WebSocket协议

阿里云全站加速DCDN升级

阿里云张毅萍:构建边缘云全站加速网络体系

阿里云张毅萍:构建边缘云全站加速网络体系

全民加速节:全站加速在游戏行业的最佳实践

从静态动态到全站,看阿里云“全站加速”的技术演进