在第十届中国电子信息博览会(CITE 2022)中,深信服信创应用交付AD收获“第十届中国电子信息博览会创新奖”。
由相关行业协会、顾问咨询机构、权威媒体等20余位专家参加评审,深信服信创AD凭借着卓越的性能及稳定性,在众多企业申报的项目中脱颖而出。
负载均衡承载着用户的核心业务,稳定,是一切业务运行的前提。作为一个全国产化的负载均衡产品,深信服信创AD在稳定性上是否足够出色?有哪些关键技术已走在前面?
今天我们就聚焦一件事——软件稳定性。
一、故障恢复「加速器」——全自研应用层网络协议栈+DPDK技术保证业务稳定运行
能在负载设备发生意外故障时,做到快速恢复且不影响业务运行,是深信服信创AD的实力之一。
数据传输主要涉及三个系统结构层次:物理层、内核层、应用层。默认情况下,数据是从物理网卡逐层传递到业务应用的。一般的负载均衡产品会在内核层以模块的形式开发业务,或者直接在内核层修改代码以实现自身业务逻辑,数据会经过多次交换,导致传输效率低下、设备性能下降,当内核层出现问题时,会直接影响设备的正常运行。
为了真正提升设备故障后及时恢复的速度、提升整体设备性能,深信服信创AD打造全自研应用层协议栈,并且改进了DPDK技术。
管理面和数据面分离,管理面通过Eth0管理网口,再通过内核协议栈,最后到应用层。而直接影响负载性能的数据面则通过DPDK技术直接接管物理网卡,绕过内核逻辑直达应用层。
深信服信创AD多维度考量业务稳定,既注重当下架构稳定,又着眼未来升级:
1、应用层架构避免触发内核层BUG降低宕机风险
一般的负载均衡产品,基于内核模块开发的数据面,在故障时容易触发系统宕机,而内核层宕机重启时间基本不会低于3分钟。
深信服信创AD因数据面不过内核层,避免了宕机风险。就算应用层出现意外故障,也可以在1秒内完成重启,即便是没有双机保证的情况下,仍然可以做到故障快速恢复。
2、内核补丁升级时数据面保持正常运行
基于内核模块开发的数据面,内核升级是一件十分“伤筋动骨”的事,可能5-6年才会考虑升级一次。因此,内核的整体稳定性也很难得到保证。
深信服信创AD自研的应用层协议+DPDK架构,可以做到快速打内核补丁,修复漏洞,或切换内核大版本兼容新硬件,而这个过程不会影响数据面的运行。同时,深信服应用交付网关V7.0软件通过与国产CPU、国产操作系统的稳定版本更新升级,不断提升整体稳定性。
二、故障「追踪器」——丰富的自研应用层调试接口及工具
快速定位设备故障
当设备出现故障导致业务出现部分异常时,要在不影响业务连续性的前提下进行调试,并且尽快定位故障予以解决,需要配套成熟的调试工具对接设备的接口,以获取设备的信息。
深信服信创AD采用了DPDK技术,实现跨过内核层直达应用层架构。通过在应用层自研抓包机制、自研Proc接口、自研调试工具等技术,可以看到更丰富的系统数据流信息;通过应用层直接读取系统数据面状态,使应用层面的调试效率更高效,有利于快速定位设备故障,实现快速恢复。
1、自研更丰富的抓包机制
深信服自研调试工具,不仅支持原生调试工具TCPDump的所有命令参数和功能,获取当前收发包信息,还对抓包功能进行了扩展,可以额外抓取错误包、某特定服务的包、关联连接相关的包信息,以此获取更全面的设备信息,帮助工作人员迅速了解设备状况。
2、定制应用层proc接口
proc文件系统是内核层的一种伪文件系统,通过这些文件可以查看系统硬件及当前正在运行进程的相关信息,甚至可以通过更改其中某些文件来改变内核的运行状态。
深信服信创AD通过模拟内核层在应用层定制proc接口,直接从应用层数据面读取当前状态,包括当前连接跟踪信息、会话保持信息、邻居项等实时信息,获取各服务当前新建速率、并发速率、延迟信息、错误计数等业务运行时的状态信息,降低运维难度,保证工作人员能及时发现并处理故障问题。
3、设备故障后易定位
负载全应用层架构可直接在调试工具GDB内运行,通过调试工具,可以轻易获取程序运行时的内存信息,运维人员可及时知悉运行状态,迅速排查问题,高效处理。
三、硬核「装备包」——自研混沌测试平台D-TaaS
将故障解决在摇篮里
尽可能跑在故障前面,避免故障出现,是一个好负载均衡产品的“自我修养”。信创AD自研混沌测试平台D-TaaS,通过多种端到端的测试手段,提前识别薄弱点并进行改善,最大程度保证负载设备的稳定性,将故障率降到最低。
1、精准丰富的故障注入
混沌测试平台D-TaaS具备100多种故障场景,涵盖硬件、系统、网络、软件、运维等故障注入的可靠性测试范围,模拟在异常复杂的环境中是否能保证业务高可用。通过故障注入测试,可平均发现历史遗留问题占比30%左右,在设备正式交付前就做好排查和预防。
2、丰富的压力流量测试插件
混沌测试平台D-TaaS全面支持网络层多种背景压力插件,共具备70多个背压模型,支持性能背压混合负载,如四层/七层流量,TCP/UDP流量、大小包流量、多样协议类型等,产品具备高兼容性,保证信创AD在复杂环境下的良好稳定性及高性能。
3、真实客户场景下组件服务化
模拟70多个业务场景,并支持随机编排组合,在测试环境下就能模拟用户场景的多样化,使信创AD的产品业务应用测试更加符合真实的客户场景。通过将测试执行、测试环境、测试报告、测试用例等组件服务化,在真实用户环境下,可以实现无人值守7*24小时的自动化运行。
采用全国产化技术,深信服信创AD保持着成熟的稳定性,在高并发、大吞吐等复杂场景下也能稳稳承载用户的业务运行,已在超57家金融行业用户中落地实践,也已为超120家政府、医疗等行业用户提供高性能、高稳定性的业务承载能力。