淘宝APP在短视频场景下的IETF QUIC最佳实践

简介: 手机淘宝在短视频、图片等多个场景下会用到CDN内容分发网络,手机淘宝技术和阿里云CDN技术有非常多的共建合作,其中包括在IETF QUIC加速产品方向。1月12日的「阿里云CDN重磅升级 | 新一代传输协议QUIC让CDN更快一步」产品发布会中,来自大淘宝平台技术团队,负责手机淘宝网络和网关技术的喵吉,分享了手机淘宝使用IETF QUIC加速产品的应用场景和效果,以及介绍下配套的XQUIC库的情况。以下为分享全文。

手机淘宝在短视频、图片等多个场景下会用到CDN内容分发网络,手机淘宝技术和阿里云CDN技术有非常多的共建合作,其中包括在IETF QUIC加速产品方向。1月12日的「阿里云CDN重磅升级 | 新一代传输协议QUIC让CDN更快一步」产品发布会中,来自大淘宝平台技术团队,负责手机淘宝网络和网关技术的喵吉,分享了手机淘宝使用IETF QUIC加速产品的应用场景和效果,以及介绍下配套的XQUIC库的情况。以下为分享全文。

回顾过去,早在18年左右,基于GQUIC,手机淘宝和阿里云就开始合作,主要应用在手机淘宝的图片和短视频等内容分发的场景。在19年初,当时大家有一个共同的判断是要走标准化道路,一方面是因为从商业化产品角度,私有协议解决方案更难被用户认可,另一方面整个标准化协议的设计和安全性都有更完备的考量。在决定选择标准化道路之后,当时市面上也没有特别成熟并适用于移动端的IETF QUIC协议栈实现,所以手机淘宝就启动了自研XQUIC项目,经过1年半的研发和打磨,于20年的6月份开始全面上线,并且在21年初与CDN IETF QUIC产品实现对接,并在短视频场景上开始逐步应用IETF QUIC技术。在去年的9月份我们实现了IETF QUIC整套协议栈在短视频场景下的规模化应用。之后,我们经历了同年双十一的考验,XQUIC和CDN产品的性能和稳定性都有了很好的验证,因此在今年的1月7号我们完成了XQUIC开源,同时也在此支持CDN IETF QUIC新品发布。

image.png

目前在手机淘宝主要在短视频场景使用CDN QUIC加速产品,最佳实践的技术方案是端侧XQUIC协议栈和CDN QUIC加速产品配套使用。针对手机淘宝短视频场景,带来的网络体验优化效果,体现在短视频分片下载耗时优化20%,卡顿率整体优化在10%。考虑到整体的优化效果非常明显,我们后续也会进一步在图片等场景下应用这一套加速技术。同时也把这一套最佳实践贡献给大家,希望能给云产品的客户带来更好的网络加速体验。

图片
发布会中前两位专家已经对QUIC的性能和优势做了详尽的分享,具体可以参考:
在此,我简单介绍下最佳实践端侧使用的XQUIC库。XQUIC是一个轻量、高性能、标准化的跨平台协议库。
轻量, XQUIC在Android/iOS双端的编译产物均小于400KB,我们知道为了减少新用户的安装成本,移动端的APP希望能尽量减少APP的包大小,因此XQUIC很适用于需要高性能但同时又对包大小敏感的移动端APP场景。
高性能传输,XQUIC已经在手机淘宝实现核心导购、短视频链路大规模使用,就比如我们打开手机淘宝的首页,或是搜索我们感兴趣的商品,或是打开逛逛浏览达人的视频,XQUIC都为这些场景的提供更快的网络数据传输。
在标准化方面,XQUIC实现了整套IETF QUIC标准协议,包含传输层、加密层、应用层协议栈。
在跨平台方面,我们的网络库支持Linux/Android/iOS/Mac等平台,后续也会支持Windows平台适配,客户端可以通过SDK方式很方便地接入并使用。

image.png

如前所述,XQUIC提供IETF QUIC标准包含的3层协议栈能力,它在客户端以sdk的方式运行,在服务端,可以通过module对接到tengine/nginx框架使用。

此外,针对移动端使用内容分发网络的场景,我们针对协议互通性、0-RTT比例提升、明文和密文模式兼容等方面做了不少额外工作。比如明文和密文模式兼容方面,我们除了支持标准TLS/1.3推荐的加密套件之外,也额外提供了明文模式,并且在握手阶段可以实现自适应的协商,通过握手阶段的alpn参数实现协商,并保证对标准密文模式的兼容性。在0-RTT比例提升方面,我们也针对server config以及token的缓存策略进行了优化,0-RTT比例在无线端可以达到68%以上。

相信XQUIC协议库与CDN QUIC加速产品的配合,能够整体给用户带来更丝滑的网络传输体验。

目录
相关文章
|
3月前
|
域名解析 JSON 测试技术
常见移动端APP测试场景
常见移动端APP测试场景
|
2月前
|
数据采集 存储 数据挖掘
淘宝app端商品详情数据采集python
淘宝app端商品详情数据采集python
29 2
|
2月前
|
Web App开发 传感器 Android开发
APP兼容性测试都需要考虑哪些场景?
APP兼容性测试都需要考虑哪些场景?
|
4月前
|
JSON Android开发 数据格式
【Android App】实战项目之仿抖音的短视频分享App(附源码和演示视频 超详细必看)
【Android App】实战项目之仿抖音的短视频分享App(附源码和演示视频 超详细必看)
79 1
|
4月前
|
XML Java Android开发
Android Studio App开发实战项目之淘宝评价晒单(附源码 超详细必看 简单易懂)
Android Studio App开发实战项目之淘宝评价晒单(附源码 超详细必看 简单易懂)
52 0
|
4月前
|
XML Android开发 数据格式
Android Studio App开发实战项目之实现淘宝电商App首页界面(附源码,可用于大作业参考)
Android Studio App开发实战项目之实现淘宝电商App首页界面(附源码,可用于大作业参考)
70 0
|
4月前
|
网络协议 调度 vr&ar
面向 IPv6 的淘宝 App 网络技术与体验升级
面向 IPv6 的淘宝 App 网络技术与体验升级
|
9月前
|
XML JSON 缓存
Java实现商品ID获取淘宝APP商品详情方法
Java实现商品ID获取淘宝APP商品详情方法
82 0
|
9月前
|
Shell
02-appium-启动淘宝app-Android
02-appium-启动淘宝app-Android
|
10月前
|
XML JSON 缓存
数据获取-快捷获取淘宝app商品详情原数据
数据获取-快捷获取淘宝app商品详情原数据