F5公司的负载均衡解决方案在银行中起什么作用?

  F5公司的负载均衡解决方案在银行中起什么作用?今天我们就来探讨一下这个问题。

  我是民生银行的,我所在银行采用负载均衡解决方案实现了同城双活数据中心的业务部署和数据中心之间的业务快速切换,除此之外,在多个数据中心向两个新建数据中心整合的迁移、IP地址改造和日常业务上线的测试、验证、发布及维护过程中也起到了非常大的作用。

  F5公司的技术和产品在金融行业有着广泛深入的应用, F5整体应用交付解决方案中包括多中心多活并行的应用交付解决方案,与数据中心多活实践的需求相吻合。F5的多中心多活并行应用交付解决方案在实现多数据中心应用多活部署的同时还包括应用加速、应用安全、集中管理等功能,可立体地满足业务发展需求。在部署F5多数据中心并行应用交付解决方案后,在后续业务扩容和功能追加时可平滑地扩展:当需要增加F5设备的功能时只需增加license而无需进行硬件的调整;按需插卡式设备只需在原来设备中添加板卡即可扩充设备的性能,而整个架构和设备的配置均无需发生任何变化。

  F5提供GSLB+LB(即GTM+LTM),RHI,N+M cluster等多种方式的多中心多活并行解决方案,可根据实际的基础架构和应用需求选择一种或多种方案实现多数据中心的应用多活。根据我所在银行的实际需求,我们选择了GSLB+LB的方案来实现对互联网业务的双中心流量的选择智能引导,N+M Cluster的方案来实现对数据中心内部业务的双中心状态探测和切换,具体包括如下的考虑。

  主动的健康检查:这包括对网络链路状态监测、对服务器的应用状态深度健康检查,通过F5多样化的健康检查方式,可以在链路层面、服务器硬件层面、应用软件层对双中心的可用情况做出准确的判断,从而确定双中心是否需要切换、以及是整体切换还是部分资源切换。

  灵活的负载分担策略:建设多活中心的重要特征是“多活”,以充分利用各中心的资源,提升资源利用率。F5可以根据业务需要,基于用户来源地域、延时情况、使用的运营商、负载权重等不同的因素来制定负载分担策略,实现在多个数据中心之间进行业务的分配。

  基于业务需求的NAT:在多活数据中心的环境中,经常可能的切换对IP地址提出了动态漂移的要求,F5可以提供一对一、一对多、多对多的地址转换,灵活适应业务切换的需要。

  自定义的iRules:根据多中心的要求,通过F5的iRules脚本的定制编写,可实现不同业务定制化的流量牵引,例如对双数据中心的突发流量应急调度牵引,出向流量的优化控制,根据业务场景动态选择不同的SNAT/SSL profile等;

  可预设定的接管顺序:基于F5的N+M cluster机制,通过F5集群节点之间的切换和接管,牵引业务流在数据中心之间重新分布,更为重要的是,集群节点之间的切换可以预先定义接管顺序,使多活中心的运维是可管理和可预期的,并符合数据中心的分布使得延时和影响最小。这种可以预定义接管顺序已在业界得到了实践验证。

  尽量减少现有基础架构变动:基础架构的调整影响非常大,采用局部优化、循序渐进改造的方式控制风险,对业务的稳定运行非常重要。同时,在实施的过程中,我们重点考虑了双活数据中心高可用方案的可管理性和可运维性,使之不仅仅只是一个好的纸面方案,更能是一个好的实践工程,能真正地在银行的生产环境中可靠运行。这些实施过程中的考虑要点包括:

  本地同机房切换优先:业务在同机房的切换会影响小些,而如果是同城跨机房的切换,则相对影响要大一些。在考虑基于F5的集群N+M的切换实现时,我们在两个同城机房各部署了两台F5 LTM设备,一共四台组成N+M集群,在切换的时候,某一个业务可以从其中一台LTM向其他三台中的一台进行流量牵引。从业务平滑的角度考虑,我们需要优先保证同机房的优先切换,因此,针对每一个业务,在设定N+M集群的切换顺序时,都应该按照先同机房,后同城的顺序来设定集群接管顺序。

  管理调度:考虑业务分布在同城双中心是否按1:1部署。在双活数据中心的设计中,由于每个数据中心都是“活”的对外承担业务的,本身容量的设计并不需要1:1的部署,但是考虑到如果一个数据中心完全失效的极端情况下(双中心割裂是目前的主要风险),另一个数据中心的处理容量应能够承担完整的业务量。同时,基于“双活”的情景,管理调度能力应可以实现对突发流量的应急处理,在多中心之间自动削峰调度。

  切换的协同联动:在建设双中心时,往往由于实际客观条件的限制,会存在某些环节不能实现完全的冗余备份,例如最常见的是与不同运营商的网络出口,例如电信、联通的线路配备了双出口,但是移动、广电等线路还是单出口。我们需要将双中心的各个环节进行梳理,针对实际建设中的单点环节,专门考虑协同切换,将受影响的因素进行捆绑协同。

  运维自动化考虑:包括和系统、应用的配合互动,包括监控和响应。由于双活数据中心涉及到的环节和流程特别多,为了更好地运维双活中心,可采用大量的自动化脚本,同时充分利用F5的iControl接口,可实现一键DC切换,一键DB切换,自动配置采集及上传,F5配置合规性检验,单一数据中心配置关联性提取,多数据中心配置一致性对比,F5应用统一视图生成等,并和统一运维管理平台进行集成,提升多中心环境下的运维水平和运维能力。笔者所在银行采用这些功能设计实现了同城双活数据中心的业务部署和数据中心之间的业务快速切换,除此之外,在多个数据中心向两个新建数据中心整合的迁移、IP地址改造和日常业务上线的测试、验证、发布及维护过程中也起到了非常大的作用。

  使用跨中心双活集群,在新数据中心部署业务后,可以无缝的将一个业务从一个中心变为两个中心双活。同时跨中心集群的使用,将A/A, A/S模式的双机结构扩展为N+M模式,如下图所示:
 F5公司的负载均衡解决方案在银行中起什么作用?

  通过SNAT功能,将服务地址与真实服务器完全解耦。F5设备所在的位置与服务器位置完全无关,这样就给予应用在数据中心之间迁移或搬迁最大的灵活度,当一个业务系统要从A中心的搬迁到B中心时,完全不需要进行业务中断。IP地址的改造时,可以留给业务系统更多的弹性时间。在多中心整合过程中构建业务多活场景,简化业务迁移过程,最终整合为同城双中心。

  通过负载均衡设备进行差异化业务验证。多中心运行的业务,在进行业务测试或变更过程中,通过负载均衡技术可以将部分或特定的业务访问(比如指定客户端IP或HTTP URI等)发送到指定服务器进行业务验证。

  同城多中心均能承担业务流量并周期性进行故障演练,演练涉及各个节点的故障模拟场景,多中心的以不同业务负载比例在线服务,实时验证“备用”环境的可用性,杜绝真正发生一个数据中心故障时切换不成功的问题。

  设备的多角色分权管理。负载均衡设备涉及与应用相关的处理,横跨多个部门,因此设备的分权管理尤为重要,既要有相关变更权限,又要避免相互影响。因此在数据中心设备管理中,负载均衡设备管理员权限由网络部门统一管理,同时可为不同应用部门分配不同的只针对其职责内的变更和配置权限,将具体应用层面的日常操作从网络部门设备运维中剥离,既简化运维管理工作,又能明确权责划分。

  数据中心实现多活后,效益是多方面的,不仅提高了业务的持续性,同时还在资产使用效率等方面提高显著:

  快速感知和故障快速恢复:当一个数据中心业务发生故障时,健康检查和探测对故障的感知降到分钟级甚至秒级,在大部分故障场景下,可实现分钟级甚至秒级的切换。

  按需切换:当服务器或业务需要切换时,并不需要把全部应用都切换至备份中心。

  资产盘活:在传统主备数据中心的模型中,备份数据中心完全不进行业务处理而仅仅做为热备或冷备,这对资源的使用是极大的浪费。多活数据中心的引入则盘活了备用的资产,提高了资产使用率。

  通过F5这些方案和功能设计,我所在银行目前已完成20余套业务系统的双中心部署及多套系统的同城多中心整合迁移,并在实际使用、维护过程中得到验证。

  多活数据中心作为数据中心发展的一个阶段,其必然不是一成不变的,随着业务需求的不断发展,数据中心还将朝更加先进的方向前进,而负载均衡解决方案在目前及可预见的相当一段时间内仍有很大的使用空间,因此,利用负载均衡解决方案来配合多中心建设是一项非常具有实际意义的实践。

上一篇:基于嵌入式操作系统VxWorks的多任务并发程序设计(2) ――任务控制


下一篇:阿里P8架构师谈:什么是缓存雪崩?服务器雪崩的场景与解决方案