QUIC Proxy
随着http/3的临近,quic越来越受到关注,关于quic的介绍网上有很多,这里就不做介绍了。目前,quic有两个版本Google QUIC 和 IETF QUIC,随着IETF的最终定稿,谷歌也会向其靠拢。
作为全球最大的浏览器Chrome很早以前就开始支持GQUIC(Google QUIC),并且Youtube已经开始全站应用GQUIC协议,所以本文介绍的QUIC代理服务实现的是谷歌版本的quic服务。
QUIC Proxy 特点
基于chromium开源项目(Chrome开源项目)
chromium 本身提供了一个测试用的quic服务,但是这个服务是单进程,且http回源需要整个文件下载完才能发给前端,大的视频文件这种方式是不能接受的,所以在epoll_quic_server这个demo基础上,基于chromium架构,重新开发了一个支持高并发,可商用的quic to http代理服务。
相较于其他quic开源项目, 因为使用chromium中的quic协议,所以可以做到与chrome浏览器做到同步更新,完美的兼容各个版本的chrome内核浏览器,避免了其他开源项目quic协议更新慢,实现不完全的苦恼。
使用最新的linux内核特性解决性能问题
quic服务属于udp服务,udp的服务在性能上有两个很难解决的问题:
- 多核