WebSocket协议可以为网站和应用提供真正的双向通信,具有控制开销、保持连接状态、更强实时性、更好的压缩效果等优点,是当下低延时应用最常采用的一种技术协议。为了更好的满足客户在实时通讯场景下的加速需求,目前阿里云全站加速DCDN已经全面支持WebSocket协议,以此确保更加极致的客户体验。

WebSocket的优势与应用

HTML5定义 的WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信,即允许服务器主动发送信息给客户端。因此,WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

WebSocket能更好的节省服务器资源和带宽,并且能够更实时地进行通讯,它的优势:

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

WebSocket主要用于解决以下几个问题:

一、 在线聊天速度慢,断开连接较快,不能更好的保持业务通讯
二、 网页通讯信息更安全,连接更稳定
三、 提供更高效的网页通讯
四、 网络抖动带来的连接时断时续问题
五、 访问打不开网页,需要刷新页面
六、 同时在线人数多,如何实时推送所有用户
七、 服务端支持WebSocket协议
八、 如何降低带宽,保证成本

总之,如果你的应用需要提供多个用户相互交流,或者展示服务器端经常变动的数据,就十分需要使用WebSocket技术。

阿里云DCDN的WebSocket应用场景

阿里云CDN服务全球30多万家客户,涵盖视频、教育、政府、游戏、金融、社交、电商等各大行业场景,其中有几个典型的业务场景,可以利用平台技术优势,更好地解决实时通讯业务需求。DCDN已经支持WebSocket协议,可以应用在以下场景之中:

场景一:弹幕

弹幕的流程是终端用户A在自己的客户端广播了一条信息,这条信息需要在与其他N个用户端发送的弹幕信息一并展示在A这边。它需要马上显示到屏幕上,对实时性要求极高。在今年S8赛事总决赛中,虎牙直播就采用全站加速WebSocket协议,更从容地应对2000万在线超高并发流量下更实时、更猛烈的互动考验。

场景二:在线教育

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

场景三:金融产品实时信息查询

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

场景四:体育实况更新

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

场景五:视频会议和互动直播

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

全站加速DCDN ——更极致用户体验

阿里云自主研发的全站加速产品(Dynamic Route for Content Delivery Network)是融合了动态加速和静态加速技术的CDN产品,除了全面支持WebSocket协议之外,该产品一站式解决了页面动静态资源混杂、跨运营商、网络不稳定、单线源站、突发流量、网络拥塞等诸多因素导致的响应慢、丢包、服务不稳定的问题,提升全站性能和用户体验。

全站加速工作原理:

全站加速构建于阿里云CDN平台之上,它的服务优势是:

应用广泛:针对电商、社交、政企、游戏、金融等动静内容混合场景下的性能及稳定性需求,可以确保用户体验,防止用户流失。更多场景解读

便捷接入:站点无需动静态内容拆分加速,一键接入解决网络拥塞,提高访问成功率,接入指南

智能极速:加速方案更智能,多种分发策略,边缘缓存,最优路由,压缩传输,访问效率提升60%

稳定加速:1500+全球节点充足保障,120T带宽能力,六大洲覆盖,国内主流运营商支持, 了解节点分布

内容安全:全链路加密传输,集成多种访问控制方式,增强源站防护能力,为文件、视频的传输保驾护航,了解更多产品文档

三步即可快速上手全站加速

请按步骤接入:

  1. 开通全站加速服务
  2. 添加加速域名
  3. 配置CNAME,服务生效

如何购买全站加速

全站加速目前采用两种计费方式:按量付费(后付费,详见全站加速计费项)和预付费资源包

性能提升刻不容缓,马上开通全站加速

原文链接​​​​​​​
更多技术干货 请关注阿里云云栖社区微信号 :yunqiinsight

阿里云全站加速DCDN全面支持WebSocket协议的更多相关文章

  1. Delphi阿里云邮件推送【支持单一发信、邮件批量发送和获取指定条件下的发送数据】

    作者QQ:(648437169) 点击下载➨Delphi阿里云邮件推送               阿里云api文档 [Delphi阿里云邮件推送]支持SingleSendMail(单一发信接口). ...

  2. Delphi阿里云对象存储OSS【支持上传文件、下载文件、删除文件、创建目录、删除目录、Bucket操作等】

    作者QQ:(648437169) 点击下载➨Delphi阿里云对象存储OSS             阿里云api文档 [Delphi阿里云对象存储OSS]支持 获取Bucket列表.设置Bucket ...

  3. 阿里云负载不支持 WebSocket 协议与 WSS 和 Nginx 配置问题

    WebSocket 是 HTML5 下一种新的协议.它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的.它与HTTP一样通过已建立的TCP连接来传输数据,但是它和HTT ...

  4. 使用99元一年的256MB高性能阿里云Redis加速Discuz论坛

    介绍 Discuz是一个常见的论坛,支持使用Redis来对论坛进行加速访问,对于访问量比较大的论坛能够取到很好的作用,本文介绍如何使用阿里云高性价比256MBRedis来加速该论坛. 阿里云Redis ...

  5. 阿里云maven加速和docker加速

    maven加速 maven仓库用过的人都知道,国内有多么的悲催.还好有比较好用的镜像可以使用,尽快记录下来.速度提升100倍. http://maven.aliyun.com/nexus/#view- ...

  6. 阿里云 rds python sdk不支持python3处理

    阿里云文档中心的python版本aliyun-python-sdk-rds不支持python3处理 问题:默认情况下文档中心的python版本只支持python2,不兼容python3版本 需要稍微修 ...

  7. 关于STM32F103+ESP8266+阿里云过程之修改SDK支持UART和SmartConfig(四)

    设备上报状态到阿里云成功之后,还要接受来至云端下发的命令,如APP.在ESP8266接受到数据之后可将数据先进行解析,再通过自定义协议与STM32进行串口通讯,也可以将接收到的数据中的信息直接传输到U ...

  8. PHP实现阿里云OSS文件上传(支持批量)

    上传文件至阿里云OSS,整体逻辑是,文件先临时上传到本地,然后在上传到OSS,最后删除本地的临时文件(也可以不删,具体看自己的业务需求),具体实现流程如下:   1.下载阿里云OSS对象上传SDK(P ...

  9. composer阿里云短信服务不支持传参为数值--为2017年短信接口,2018阿里云有更新http://www.cnblogs.com/q1104460935/p/8916096.html

    composer 阿里云短信服务使用 xuying/aliyun_mns     更新到2017年初,不再更新 ){;, ); }; } ; }; }; }} 以下为发送成功返回对象 object(A ...

随机推荐

  1. Cortex-M3的异常/中断屏蔽寄存器组

    转自 1. Cortex-M3的异常/中断屏蔽寄存器组 注:只有在特权级下,才允许访问这3个寄存器. 名 字 功能描述 PRIMASK 只有单一比特的寄存器.置为1后,就关掉所有可屏蔽异常,只剩下NM ...

  2. 『BASH』——Learn BashScript from Daniel Robbins——[003]

    ABSTRACT: Daniel Robbins is best known as the creator of Gentoo Linux and author of many IBM develop ...

  3. 运行mybatis项目,运行测试类,点击test后,出现Cannot start compilation: the output path is not specified for module "前......

    Cannot start compilation: the output path is not specified for module "前 后来发现是在pom.xml右击,有个+号,把 ...

  4. LOL遇到登录服务器问题,未能连接到网络原因

    通过打开各种浏览器,发现只有IE不能上网,QQ之类的都能上网,不能登入LOL 只有IE是出现:远程计算机或设备将不接受连接 这个问题 解决办法是: 1.win+r --> 输入regedit 打 ...

  5. (转)Google Protocol Buffer 的使用和原理

    转自:https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html   简介 什么是 Google Protocol Buffer? ...

  6. 查看网站pv

    PV(page view),即页面浏览量,或点击量:通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标.简单来解释PV,那就是一个访问者在24小时(0点到24点)内到底看了你网站多少个页面.这 ...

  7. 如何使用flow进行静态类型检查

    Flow 是 facebook 出品的 JavaScript 静态类型检查⼯具.Vue.js 的源码利⽤了 Flow 做了静态类型检查,所以了解 Flow 有助于我们阅读源码. 为什么⽤ Flow? ...

  8. linux shell下除了某个文件外的其他文件全部删除的命令

    Linux反选删除文件 最简单的方法是 # shopt -s extglob      (打开extglob模式) # rm -fr !(file1)  如果是多个要排除的,可以这样: # rm -r ...

  9. 校园商铺-4店铺注册功能模块-10店铺注册之js实现

    1. 建立js目录和文件 1.1 建立js目录 在webapp下新建文件夹js,再在js目录下新建shop文件夹. 1.2 js文件 js的功能: 1.从后台获取到店铺分类.区域等是信息,将它填充到前 ...

  10. day28 import,from * import *,__name__

    Python之路,Day16 = Python基础16 一 module通常模块为一个文件,直接使用import来导入就好了.可以作为module的文件类型有".py"." ...