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. Delphi中的Sender:TObject对象解析转载

    https://blog.csdn.net/jl_tiny/article/details/24376661 Delphi中的Sender:TObject对象解析 procedure TForm1.B ...

  2. Dubbo 3.0 预览版解读,6到飞起~

    , false).start(); ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new St ...

  3. 来个我一起学习Python把!!!(新手共同努力)

    <初识Python> 大家好,让我们一起来学习Python,因本人也是个新手但我会把我所学的东西分享出来,并记录自己的经验学习过程,不单单是分享代码,会详细的讲解,如有错误地方希望大家指点 ...

  4. C 删除字符串中某个指定的字符

    #include <stdio.h> char *del_char(char *str, char ch) { unsigned char i=0,j=0; while(str[i] != ...

  5. 5、Docker数据管理

    为了能够存储持久化数据以及共享容器间的数据,Docker提出了Volume的概念.让我们通过类似mount的方式将宿主机的文件或者目录挂载到容器中. 在容器中管理数据主要有两种方式: 数据卷(Data ...

  6. 让er studio 生成带说明的sql

    一直使用er studion 来建数据库的模型图. 用了几年苦于 erstudion 不能生成带说明注释的sql 语句,每次生成实体之后都要自己去加注释. 今天根据外国朋友的资料找到了办法 需要自己建 ...

  7. jpa 踩坑 SQLGrammarException

    SQLGrammarException could not execute query  cause by not found column id ,, id指的是,返回的结果没有Id 封装结果集出错 ...

  8. mysql 存储过程学习 汇总

    存储过程框架 DEMILITER $$ -- 重定义符 DROP PROCEDURE IF EXISTS store_procedure$$ -- 如果存在此名的存储过程,先删除 CREATE PRO ...

  9. 如何设置树莓派 VNC 的分辨率

    当我们使用 VNC 连接到树莓派时,默认的分辨率非常低.甚至无法显示整个桌面,因此我们需要对分辨率进行设置.在树莓派上设置 VNC 的分辨率很简单,在终端运行下面指令进入设置界面设置. 1 sudo ...

  10. leetcode-421-数组中两个数的最大异或值*(前缀树)

    题目描述: 方法一: class Solution: def findMaximumXOR(self, nums: List[int]) -> int: root = TreeNode(-1) ...