腾讯的负载均衡

CLB

腾讯所有业务的负载均衡都是基于内部腾讯GateWay实现的,运行在标准x86服务器上,优点包括:自主研发、代码可控。腾讯GateWay对外的版本为Cloud load balance,是多机active部署的,通过BGP发布VIP、local adress路由、同步DNS信息等,实现集群负载通过路由OSPF将流量分发到不同的服务器上。

特点:

1,4层负载均衡

a、集群,ospf+ecmp模式分布负载

b、每个负载均衡设备使用Intel DPDK实现:

        利用了intel DPDK提供的高性能多核开发框架、hugepage内存管理及ring buffer共享队列方案,将DPDK常见的逻辑设计框架run-to-completion与pipeline结合。极大提升了流量分发的效率。

2,7层负载均衡

a,nginx优化实现

b,https卸载优化

CLB性能上最大的一个难题是如何提升HTTPS的效率。同样的物理设备下cpu满负载,nginx SSL完全握手的性能不到普通HTTP性能的10%,如果说HTTP的性能是QPS 1万,HTTPS可能只有几百。为什么会这么低呢?

1、主要是RSA算法,它对性能的影响占了75%左右:

2、ECC椭圆曲线如果使用最常用的ECDHE算法,这部分约占整体计算量的7%;

3、对称加解密和MAC计算,它们对性能影响比较小,是微秒级别的。

有了这些分析结论,优化的方向就很明确了:

1、减少完全握手(采用分布式session cache、全局Session ticket、自定义session ticket)


腾讯的负载均衡_第1张图片

2、RSA异步代理计算

3、对称加密优化

优化结果:

https请求的访问时延与http请求相差无几。单集群的单台云服务器完全握手性能可达到65000QPS,长连接时单台服务器性能可以达到300000QPS。

3,租户隔离

你可能感兴趣的:(腾讯的负载均衡)