F5消息处理与连接优化议题1.简单负载均衡环境下的连接问题2.基于消息处理的连接优化方式3.F5TMOS与消息处理技术4.消息处理在金融业务中的优化案例简单负载均衡环境下的连接问题©F5Networks,Inc4F5在金融客户中的部署©F5Networks,Inc5这些问题解决了吗?•短连接的应用•频繁的连接建立与拆除吞噬了大量的计算资源?•传输延时造成了资源浪费?•长连接的应用•设备故障后要重启应用?•负载不均衡?•应用恢复后无法接收新的请求?•不能“无缝”停机维护?©F5Networks,Inc6•如果采用基于连接的负载均衡机制,长连接一旦分配完成后,连接两端的对应关系不可改变•某些客户端如果交易量特别大,也只会和与它相连的服务器通讯,造成服务器繁忙•对突发情况没有任何的应急手段负载分配不均衡©F5Networks,Inc7•如果用基于连接的负载均衡机制,客户端和服务器对应关系固定•客户端检测到心跳信号故障后,重新发起连接到仍然正常工作的服务器上•当故障服务器恢复后,如果没有新的连接建立,则将永远无法进行业务处理应用恢复后无法接收新的请求©F5Networks,Inc8•长连接一旦建立后,中间的设备无法干预交易的进行•在多层业务部署模式下,一个长连接的中断可能会引起一个区域的业务中断或异常•即使是正常维护,也必须等待心跳包超时后应用重新建立连接不能“无缝”停机维护基于消息处理的连接优化方式©F5Networks,Inc10•通过iRules取出报文头中的报文长度字段•收取匹配长度的数据到内存中•判断报文结束后释放报文•对于超长的报文,可以采用循环读取和释放的方式实现存储与转发•需要的时候,还需要读取报文的唯一标示,比如报文序列号报文拆分、存储与转发机制iRules收集完成执行负载均衡分配收集未完成继续收集如果释放失败则重新分配新的节点应用服务器应用服务器客户端收集数据释放数据释放成功进入下一个报文收集©F5Networks,Inc11•客户端和VS建立TCP连接•LTM与服务器建立TCP连接•只有报文内容在客户端和服务器端的连接进行转发•LTM针对每个连接提供客户端缓冲存储和服务器端缓冲存储连接管理引擎CLIENTSIDETCPSTACKSERVERSIDETCPSTACK报文转发©F5Networks,Inc12消息处理与资源效率的提高data200ms200msdata©F5Networks,Inc13datadatadatadata200ms20ms消息处理与资源效率的提高消息缓存与连接快速释放©F5Networks,Inc14•客户端与VS建立连接后,客户端发送报文•LTM判断报文长度,将完整报文接收到缓冲存储•LTM查看当前与后台服务器的连接中是否有“空闲”连接•如果有空闲连接,则将报文通过空闲连接发送到服务器•如果没有空闲连接,则与后台建立一个新的连接,将报文通过新建连接发送到服务器•LTM判断服务器响应结束后,将与对应的与服务器的连接置为“空闲”状态同步长连接处理模式©F5Networks,Inc15•在交易不是特别繁忙的情况下,服务器端连接中经常会有空闲连接•LTM利用空闲连接与后台服务器发送和接收报文,则不需要建立新的连接•通常情况下,服务器端连接数要大大小于客户端连接数•配置比较大的缓冲存储空间有利于进一步减小服务器端连接数同步长连接下的连接聚合CLIENTSIDETCPSTACKSERVERSIDETCPSTACK报文转发©F5Networks,Inc16•客户端与VS采用短连接方式进行通讯,一个报文的请求和应答对应一个TCP连接•LTM与后台服务器采用长连接方式进行通讯,多个报文的请求和应答在同一个TCP连接中进行•有利于降低服务器的TCP连接建立和拆除的开销•减小数据传输,提高传输效率•通常情况下可以使服务器获得更强的处理能力同步模式下短连接转换为长连接CLIENTSIDETCPSTACKSERVERSIDETCPSTACK报文转发©F5Networks,Inc17•客户端与VS建立长连接•LTM分别与每个后台服务器建立一个长连接对应同一个客户端连接•LTM判断客户端请求报文结束后,选择一个后台服务器连接发送报文到服务器•由于服务器端连接和客户端连接固定的对应关系,服务器的返回报文将从对应的客户端连接返回给客户端•这种模式下每台服务器上的连接数与客户端的连接数相同异步长连接处理模式©F5Networks,Inc18•客户端和VS建立长连接•客户端发送报文,LTM解析报文后记录报文序列号和对应的客户端连接•LTM通过服务器端的空闲连接将报文转发给服务器•服务器返回应答报文后,LTM解析报文序列号•LTM匹配应答报文序列号和请求报文序列号•匹配成功后,将应答报文通过对应的客户端连接发送给发起请求的客户端异步长连接下的连接聚合F5TMOS与消息处理技术©F5Networks,Inc20网络会话应用物理客户端/服务器网络会话应用物理客户端/服务器Web应用Web应用•应用“交付与定义点”•应用智能–3-7流量处理•独特的客户端/服务器控制•统一服务/上下文•互操作性与网关功能智能化完整代理的优点通过消息处理实现对连接的优化全代理的应用交付系统©F5Networks,Inc21ControlPlaneDataPlane第三方管理平台DevCentralUserCommunityTMOS与可编程化Extendtheplatformtomeetyourapplicationdeliveryneeds©F5Networks,Inc22F5OneConnect•实现连接聚合降低服务器的连接总数•需要对每一个请求都进行单独处理©F5Networks,Inc23F5MBLB•MBLB可以以交易为单位对一个长连接进行负载均衡,也就是将同一个连接里的多比交易转发到不同的后台服务器去•通过iRules消息边界规则,从TCP长连接上持续流动的数据流中取出相互独立的消息,将逐个消息依据预定策略转发至不同的服务端。MBLB支持TCP异步非阻塞长连接。客户端在不等待Server回应的情况下可以持续发出请求,Server端可以连续发送应答。•针对每条客户端长连接,F5均与所有的服务端建立1条与之对应的长连接。消息处理在金融业务中的优化案例©F5Networks,Inc25X行对短连接消息缓存与资源快速释放AORLPARAORAORLPARAOR1.客户端与F5建立TCP连接2.F5接收来自广域网对端的客户端请求并缓存3.F5根据交易长度判断交易请求是否提交完毕4.F5在局域网内与后建立TCP连接5.F5将客户端的交易请求发送到后台6.后台返回交易响应7.F5判断交易响应接收完毕8.断开到后台的连接,释放后台资源9.F5将交易响应返回客户端10.客户端断开与F5的连接©F5Networks,Inc26X行卡受理业务中消息处理对连接优化的应用分行渠道集群银联系统长连接F5MBLB单工接收长连接国际卡组织本行贷记卡请求、国际卡应答分行总行长连接(国际卡请求、贷记卡应答)卡受理中心集群长连接(本代他请求、他代本应答)长连接长连接F5OneConnectATM同步短连接同步长连接F5MBLB双工长连接(异步长连接:客户端不同步等待服务端应答)异步长连接分行POS/MIS网控器异步长连接异步长连接F5模式待定F5MBLB单工发送长连接长连接(他代本请求、本代他应答)BoEingABISV#电子现金平台©F5Networks,Inc27X行消息处理实现短连接到长连接的优化ATM-1ATM-2F5OneConnect模式1.F5与ATM之间为TCP短连接方式:ATM建立连接,发起请求,同步等待F5应答,然后关闭连接;2.F5收到ATM建立连接请求时,复用服务端空闲长连接,如无空闲连接则新建;3.F5同步等待服务节点的应答,收集应答报文并返回给ATM;4.F5收到ATM关闭连接请求后,将当前服务端长连接状态设为空闲状态。请求/应答请求/应答同步长连接(F5同步等待应答)设备2的结果2.等待设备2的结果设备2的请求1.发送设备2请求A省渠道集群接收到请求数据的节点负责返回该笔请求的处理结果ATM-N请求/应答设备N的结果i+1.等待设备N的结果设备N的请求i.发送设备N的请求设备2关闭连接后,长连接方可复用F5MBLB异步均衡模式1.异步处理模式:F5发送请求之后不同步等待应答;2.逐笔消息负载均衡。总行银行卡受理中心集群接收到请求数据的节点负责返回该笔请求的处理结果异步长连接异步长连接B省渠道集群C省渠道集群异步长连接异步长连接©F5Networks,Inc28X行消息处理对长连接的优化POS-1POS-2A省POS网控器1.网控器与F5为异步TCP长连接方式,连接数量固定;网控器在同一连接上连续发送请求、异步接收应答;2.每个传输消息含2字节消息头,表示消息体长度;3.发送给F5的请求数据含TPDU标识信息(TransportProtocolDataUnit)以标识POS接入线路;4.从F5接收的应答数据取出TPDU信息(由应用系统负责填入),以判断应答数据回送的POS接入线路。请求/应答请求/应答异步长连接(发送请求不等待应答)设备1的结果设备N的结果设备2的结果接收的应答与请求之间没有任何顺序上的关联设备N的请求设备1的请求设备2的请求通过一条长连接连续发送多台POS的请求F5MBLB异步均衡模式1.异步处理模式:F5发送请求之后不同步等待应答;2.逐笔消息负载均衡。POS-N请求/应答总行银行卡受理中心集群接收到请求数据的节点负责返回该笔请求的处理结果异步长连接A省渠道集群B省POS网控器B省渠道集群异步长连接异步长连接©F5Networks,Inc29