企业级负载均衡解决方案之五:阿里四层负载均衡解决方案AGW
一、前言
阿里巴巴在面对大并发大流量接入的时候,基于UIO等优化技术开发了自己四层负载均衡设备AGW,支持FULLNAT功能。在文章《面向C10M时代的MiddleBox之 - 高性能四层负载均衡设备AGW》中,描述了AGW的技术要点。
转载自https://blog.****.net/cloudvtech
二、AGW技术要点
同样,在开始阶段,阿里也是使用IPVS作为四层负载均衡解决方案,也遇到了同样的系统瓶颈,比如:
- 中断爆炸
- 内核协议栈路径开销太大
- 内核对于多核的支持有限
所以他们的方案提出要解决数据包处理、系统内存使用、系统CPU使用的可扩展性,充分利用多核系统的能力。
AGW主要使用的技术如下:
- 基于UIO的用户态网卡驱动,绕过内核协议栈
- CPU core的隔离和绑定,AGW系统使用的core和内核使用的core进行隔离绑定
- 使用网卡RSS技术,首发队列pin到每个core上
- 无锁化,数据面每个 core维护自己的local session表,控制面使用poll方式定期更新控制
- 大页内存减少TLB Miss
- NUMA结构,将内存和NIC和NUMA节点进行绑定,避免跨NUMA节点的数据访问
但是文章同样也没有提到如何构建AGW集群;而且根据阿里分析的技术图,AGW也是基于DPDK框架开发的。
跟美团点评一样,AGW也适用FULLNAT模式的四层负载均衡技术,不同的是AGW使用syncProxy进行接入控制,提供更高的接入抗DDOS能力:
转载自https://blog.****.net/cloudvtech