QUIC(Quick UDP Internet Connections)协议能帮助您大幅提升客户端访问速度,尤其是在弱网络、Wi-Fi和移动网络频繁切换等场景下,无需重连即可实现多路复用,提升资源的访问效率,同时保障数据传输的安全性。
背景信息
QUIC协议又被称为快速UDP互联网连接协议,提供与SSL相同的安全性,同时具备多路复用、0-RTT握手等多种优势,具有极佳的弱网性能,在丢包和网络延迟严重的情况下仍可提供可用的服务。QUIC协议在应用程序层面可以实现不同的拥塞控制算法,不需要操作系统和内核支持,相比于传统的TCP协议,拥有了更好的改造灵活性,适合用于在TCP协议优化遇到瓶颈的业务。
随着短视频、直播等新兴业务的飞速发展,流媒体传输对于带宽和延迟提供了双重要求,QUIC协议可以有效解决网络、视频卡顿的问题,提升音视频资源的访问效率,同时保障数据传输的安全性。目前,阿里云应用型负载均衡ALB支持的QUIC协议版本有:Q46、Q44、Q43、Q39、Q36和Q35。
场景示例
使用Chrome浏览器访问ALB实例时,ALB会根据配置的监听所绑定的证书域名
example.com
访问后端服务器。主要有以下两种应用场景:
- 当同时配置了HTTPS监听和QUIC监听时,系统会优先使用QUIC监听,此时在Chrome浏览器中输入证书绑定的域名
example.com
,ALB实例将会通过配置的QUIC监听将客户端的请求转发至默认后端服务器组RS1。 - 当QUIC监听不可用时,系统会自动切换到关联的HTTPS监听,此时在Chrome浏览器中输入证书绑定的域名
example.com
,ALB实例将会通过配置的HTTPS监听将客户端的请求转发至默认后端服务器组RS1。
客户端要求
- 如果您使用Chrome浏览器,支持直接对ALB发起QUIC协议请求。
- 如果您使用其他客户端,则客户端必须集成支持QUIC协议的网络库,例如:lsquic-client或cronet网络库。
- 使用Chrome浏览器访问QUIC,需要使用指定的Chrome浏览器版本:
- ALB支持的QUIC协议最高版本是Q46,对应的Chrome浏览器版本为Chrome 74-81。
- 对于更高版本的Chrome浏览器,已经默认使用Q50及以上版本,如果需要访问ALB,则需要降级Chrome版本。
前提条件
步骤一:创建QUIC监听
步骤二:创建HTTPS监听
创建HTTPS监听时,请开启QUIC升级,并关联已创建的QUIC监听。
步骤三:配置域名解析
将example.com
通过CNAME域名解析的方式解析到ALB实例的公网服务域名上。
- 登录应用型负载均衡控制台。
- 在顶部菜单栏选择地域。
- 选择要进行域名解析的ALB实例,复制其对应的DNS名称。
- 完成以下步骤来添加CNAME解析记录。
步骤四:结果验证
在Chrome浏览器中输入
example.com
可访问到ALB实例,本文在服务器组RS1对应的后端服务器ECS01上使用Nginx搭建了视频服务。
- 当同时配置了HTTPS监听和QUIC监听时,在Chrome浏览器中输入证书绑定的域名
example.com
,并按F12
可以查看当前网页的Protocol为http/2+quic/46,Time为52ms。说明 http/2+quic/46表示使用了QUIC协议,即Q46。 - 当QUIC监听不可用时,在Chrome浏览器中输入证书绑定的域名
example.com
,并按F12
可以查看当前网页的Protocol为h2,Time为65ms。说明 h2表示使用了HTTPS协议。