快手自研 kQUIC:千万级 QPS 集群是如何实现的?
2010 年 12 月 27 日
近日,快手自研高性能服务器 kQUIC 已全面上线,集群峰值 QPS 突破千万。kQUIC 是快手结合自身业务特点,自研打造的支持 QUIC/HTTP/HTTPS 多协议同层接入的高性能服务器,在短视频场景下针对行业痛点做了系列优化。InfoQ 记者就此专访了 kQUIC 团队多位核心开发者,挖掘了其自研背后的架构设计演进、技术难点攻关以及未来发展规划等问题,以飨读者。
项目背景
QUIC 协议
,全称 Quick UDP Internet Connections,是由 Google 开发的基于 UDP 的新一代互联网传输协议。顾名思义,其代表特点就是“快”,相比 HTTP(s) 等协议,它具备以下几大优势:
- 首先,QUIC 在应用层实现了基于 UDP 的可靠传输,能够在使用多路复用机制的同时避免 TCP 的队首阻塞问题;
- 其次,QUIC 改进了握手机制,大部分场景下可以 0-RTT 建立安全链接进行数据加密发送;
- 再次,QUIC 同时设计了连接迁移的新特性,可以保证在用户的网络地址发生变化时,比如 WIFI 和 4G 切换,业务请求依然能够被继续处理,不需要重新发起请求;
- 最后,QUIC 传输控制机制在应用层进行处理,相比 TCP 在内核中处理的方式更灵活、方便贴近业务场景做自定义优化,可以应用更先进的算法进行双端加速。