TCP长连接负载均衡在大型银行渠道中的应用
2019-01-21劳伟
网络安全与数据管理 2019年1期
关键词:系统
劳 伟
(中国农业银行股份有限公司 软件开发中心,北京 100073)
0 引言
银行渠道系统既要作为服务端接收ATM、POS等本行外围设备以及银联、国际银行卡组织等行外系统的交易请求,也要作为客户端将交易请求转发至本行后台系统以及银联、VISA、Mastercard、美国运通、大莱、JCB等银行卡组织。银行渠道系统不仅需要7×24小时不间断运行,还需要具备在春节、国庆等交易高峰期平稳运行的能力。
银行渠道系统与关联系统之间通常基于TCP协议进行消息交互。TCP作为一个面向连接的协议,传输数据之前,需要在客户端与服务端之间建立连接,数据传输停止后,需要终止连接以释放资源。建立连接需要三次握手,断开TCP连接需要四次挥手[1]。
银行渠道系统为支撑核心业务,普遍采用集群部署方式实现高可用、高可靠和可扩展。建立连接属计算密集型操作,频繁交互场景下不适合采用短连接通信方式,故银联、VISA、Mastercard等银行卡组织均要求成员机构采用长连接入网方式[2-4],因此银行渠道系统面临着如何实现长连接负载均衡的问题。
客户端和服务端完成一次消息交互后即断开TCP连接的方式为TCP短连接。建立TCP连接后进行多次消息交互,直至客户端或服务端退出时终止连接的方式为TCP长连接。采用传统负载均衡模式时,每条客户端长连接仅能接入服务集群中的1个节点,各节点的负载并不均衡,无法动态调整节点数量。
为应对上述问题,本文提出了基于F5公司的OneConnect、MBLB技术实现的TCP长连接负载均衡方案,方案已经过大型银行渠道系统的长期实践检验,取得了优化连接、节约资源的预期效果。……
登录APP查看全文
