技术分享-P4可编程平台+DPU的负载均衡实现思路
在选择硬件还是软件负载均衡方案时,务必根据实际的场景去考量。我们总结衡量负载均衡性能的关键指标,主要有以下几条:会话表项容量、新建并发处理数量、转发性能。
硬件负载均衡的优势:高性能,功能全面,打包提供安全功能
在定制处理器上运行的独立负载均衡服务器。硬件负载均衡一般都支持全局负载均衡并提供全面的、复杂的负载均衡算法,功能强大;并且基于专用的处理器,吞吐量也能做到很高,可以支持单机百万以上的并发。此外硬件负载均衡往往具备防火墙、防DDOS等安全功能。
硬件负载均衡的问题:昂贵、灵活性差、扩展性差、无法被云平台统一管控
支持硬件负载均衡的专用设备是一个封闭的盒子,当需要进行动态扩容/网络改造时会非常不灵活。举个例子,目前有很多上云的业务希望用云管平台统一管理起来。但是如果是用封闭的硬件负载均衡方案,就无法做到灵活的统一管控。另一个更为实际的因素,价格。专用硬件负载均衡设备价格昂贵,大多数用户负担不起。以F5 的设备为例,一台比较低端的设备在市场价格可达到 30 万左右,如果还需要进行高可靠部署,成本就是翻倍的。
软件负载均衡的优势:可在标准硬件上运行,低成本,良好的扩展性
软件负载均衡的问题:性能差、部分情况配置复杂、部署在服务器上大量消耗了服务器性能
显而易见,性能上达不到专用硬件的性能。在做这种软件负载均衡的情况下需要考虑各种各样的接口,业务的配置,这会是非常复杂的情况。并且所有基于软件的负载均衡实现方式都需要部署在我们服务器上,也就意味着消耗服务器 CPU 的性能,造成了我们各种各样的一个厂商成本上升。
基于P4+ DPU可编程平台的的负载均衡实现思路
1、P4+DPU的可编程开放硬件平台(需配合用户自研负载均衡软件)
- 可提供千万级的会话表项和百万级的高并发
- 相比专用的负载均衡设备,在设备成本上有非常大的缩减
- 管理平面、控制平面和数据平面全部可与CloudOS对接
负载均衡实现概要
有一个新请求过来,设备首先会去查表,如果命中就直接走硬件的快速转发;如果没有命中就会把请求上送到智能业务处理卡(GHC卡),由其进行转发。与此同时它还会把相关信息发送给CPU,CPU会生成详细的会话表项,并把表项的摘要下发到交换芯片中,交换芯片在数据流下次进来的时候直接转发,从而实现智能快速转发和慢速转发的结合。
在实际的负载均衡场景中,往往存在着非常定制化的开发需求。X-T系列硬件平台可提供一款针对开放、可编程网络构建的底层操作系统(AsterNOS-Framework),它作为一站式的综合开发环境,以轻量化的SONiC为内核,将三种异构硬件单元(x86/ARM/P4 Switch ASIC)融合成一个完整的网络系统,可为开发者大大缩短开发周期。
相关链接:https://asterfusion.com/product/x3-t/
2、Helium DPU网卡(Server in Server,卸载服务器上的软件负载均衡)
- 高性能DPU芯片,多核ARM64、集成多个硬件加速协处理器,拥有百G级的网络连接能力
- 智能网卡的外挂扩展内存可解决四七层负载均衡对会话表容量的要求
- 卸载OVS+负载均衡释放服务器集群性能,降低服务器集群压力
除了标准的Linux以外,Helium DPU网卡还可提供底层基座操作系统FusionNOS-Framework和DPDK开发套件,客户可以此为基础,直接开发上层应用程序。基于x86开发的各种DPDK应用、VPP应用和一般Linux驱动应用,仅需要简单编译就可以迅速移植到Helium DPU网卡上。