论文部分内容阅读
摘要:为保障重要业务系统7*24持续运行,同时保障不同地点的用户都无差别的快速访问体验。包括金融、电信等大型政企单位,大都逐步推进系统异地双活建设。如何通过有效手段实现双活业务中心间有效的安全冗余和负载均衡是系统设计最关注的问题之一。
笔者在实际生产中通过主持千万用户级业务网关、radius等电信级系统双活建设实践,成功实现了连续3年业务零中断,异地用户接入访问速度提升30%。现总结了其中一些实践性经验,供从业者参考。
关键词:电信级;双活;负载均衡;RTO
中图分类号:TP393.08 文献标识码:A
文章编号:1009-3044(2021)30-0138-03
开放科学(资源服务)标识码(OSID):
Research on Load Balancing Design of Double Live System
SHANGGUAN Bin
(China Mobile IOT Company Limited, Chongqing 401121, China)
Abstract: To ensure important business system 7 * 24 continuous operation, while ensuring fast access experience of users in different locations. Including financial, telecommunications and other large government and enterprise units, most of them gradually promote the construction of remote dual live system. How to achieve effective security redundancy and load balancing between dual active business centers by effective means is one of the most concerned problems in system design.
In the actual production, the author presided over the construction practice of ten million user level service gateway, radius and other telecom level systems, and successfully achieved zero business interruption for three consecutive years, and the access speed of remote users increased by 30% %。This paper summarizes some of the practical experience for reference.
Key words: Carrier grade; Double live; Load balancing; RTO
1 双活系统的流量均衡困境
为保障7*24不断网、不断电持续运行,包括金融、电信、政府等越来越多的大型政企单位的核心业务,大都逐步开始推进系统双活建设。同时,为了不同地域的接入访问用户具备同样快速访问感知,物理位置单一的业务服务中心無法实现。因此,大型政企单位通过在不同构建异地系统双活,两地三中心,甚至多地多中心的系统建设方式成为必然。
在构建双活业务中心时,如何实现不同接入地的用户统一接入方式,引导用户流量就近访问最优服务节点,获得无差别用户体验;同时如何进行系统容灾,成为系统设计时最重要的问题之一。
2 双活负载均衡总体设计
2.1 总体设计目标及关键环节
电信级业务系统是保障基础通信业务正常运行的基本载体。系统的总体设计目标:必须全时段的稳定运行,同时优化用户侧访问体验,提升访问流畅度。
为达到这一设计目标,以及对实际需求的分析,考虑采用智能DNS+全局负载均衡器+本地负载均衡器的总体网络及应用负载方案。本文重点分析负载均衡方案设计中,应考虑如下关键环节:
统一用户入口:提供唯一的IP地址或域名作为所有用户访问的统一的业务服务接入点。
流量分配算法:选择与业务特性匹配的流量分配算法,使用户获得最快速的服务响应。
系统容灾设计:在单一IDC发生业务故障时,快速把用户流量切换到其他IDC业务系统去。
会话保持机制:对于TCP会话保持业务,提供避免相同会话分配到不同IDC造成访问失败的会话保持机制。
性能指标考核:应结合业务最大容忍中断时长,用户体验要求等方面,设计RTO和异地用户访问时延等指标进行项目验收考评。
2.2 负载均衡的选择
负载均衡通常有硬负载和软负载两种实现方式。硬件负载均衡解决方案通过专用的负载均衡设备来实现多样化的负载均衡能力,这种设备通常称之为负载均衡器或硬负载。软件负载是通过在通用服务器上安装软件来实现负载均衡能力。对比而言,硬负载比软负载的性能更加强大,负载均衡策略更加多样,可支持多种不同的设计方案。在大型电信级系统业务负载均衡设计中,通常采用硬负载的方案。
3 南向接口的负载均衡部署及工作方式
这里我们把向用户侧服务的系统接口称为南向接口,在双中心进行GSLB全局负载均衡设备部署及工作方式: lIDC1和IDC2机房的全局负载设备之间会通过公网互联互通,自动进行相关域名信息的同步和更新。
l正常情况下,IDC2业务中心的全局负载设备处理全部客户端的LDNS域名请求,并负责返回IDC2业务中心的A记录(IP3地址)给客户。
l当IDC2业务中心的2台全局负载均衡设备故障或者到后台服务器连接全部异常后,此时IDC1业务中心的备设备会自动处理客户的域名请求,不需要人工干预。
l当IDC2业务中心的全局负载均衡设备正常后,此时可以从IDC1切换回IDC2业务中心。
l当其中一个域名故障后,可以全局负载均衡设备上进行手工方式修改即可,勿需域名服务商进行配置修改。
以申请的域名为www.xxx.com为例,域名提供商配置,将A记录分别IDC1和IDC2的全局负载均衡设备:
全局负载均衡设备配置,将A记录指向对应的IDC2和IDC1出口IP:
4 北向接口的负载均衡部署及工作方式
两个站点的业务系统向更上级服务系统进行服务请求的系统接口称为北向接口,如短信网关需要向更上一级BOSS、HLR、运管系统等对接的时候,负载均衡工作在负荷分担模式。
lIDC1和IDC2机房的专网负载设备之间会通过拉专线进行心跳监测
l正常情况下,IDC1业务中心的负载设备处理业务系统与上级服务系统之间的请求,并负责返回响应给业务系统。
l当IDC1业务中心的负载均衡设备故障或者到业务及应用服务器连接异常后,此时自动切换到IDC2业务中心的负载均衡设备处理业务请求。
l当IDC1业务中心的负载均衡设备正常后,此时可以从IDC2切换回IDC1业务中心。
5 状态监控及切换
业务系统容灾两个中心会融合成一套异地双活部署的业务系统,业务通过GSLB全局负载均衡,因此需在两个中心部署业务检测和切换系统。每个站点部署一套监控服务器监控所有接口机,处理机与数据库等的工作状态。
当数据库发生异常的时候,由监控服务器通知所有的接口机和处理机进行数据库切换和业务恢复。
当监控服务器监控到某个模块的业务成功率低,可以根据预定策略对该模块进行重启或者下线处理。
监控服务器部署业务检测和切换系统。
检测系统和切换系统间,通过消息接口进行数据交换。检测服务器定期将检测结果发送给切换服务器,由切换服务器进行切换逻辑判定和出来。发送周期可配,通常可配置为10秒。
检测服务器反馈的各项检测结果,是切换服务器进行切换判定的数据依据。
切换系统主要工作:
1)接受检测结果;
2)根据检测结果,做出是否要切换的逻辑判定;
3)将检测结果展示到结果查询界面;
4)根据配置确定是自动或人工切换;
5)如自动切换,进行切换操作;
6)切换结果上报。
业务检测主要通过部署在业务系统接口机和处理机上的驻留程序检测:
1)CPU:空闲率(平均值和瞬时值);
2)内存:最大值,占用率;
3)数据库访问成功率;
4)业务进程状态;
5)磁盘:最大值,占用率。
作为切换处理的相关判定,为后续实际切换提供切换判定逻辑和处理数据支持。
切换的两种模式定义:
自动切换:切换服务器根据检测服务器检测结果,综合判断需要进行哪种场景的切换,然后自动进行容灾切换控制。
半自动切换:部署方式及切换业务流同自动切换方案,人工根据告警判断是哪种故障场景,然后点击“一键切换服务器”上相应的切换场景,由切换服务器进行切换控制。
6 质量指标评估
可从RTO和异地用户访问时延两个方面评估建设目标:
(1)RTO (Recovery Time Objective,复原时间目标):是指灾难发生后,从IT系统当机导致业务停顿之时开始,到IT系统恢复至可以支持各部门运作、恢复运营之时,此两点之间的时间段称为RTO。比如说灾难发生后需要半天时间恢复,RTO值就是12小时。
在实际案例中,笔者通过双活系统建设,成功实现系统稳定运行三年0中断,应急演练RTO<10分钟。
(2)异地用户访问时延是指用户请求报文从用户侧系统发起,传送到服务侧系统处理,并反馈响应报文,最后到达用户侧系统实现业务请求的全流程所需要的时间。它包括了发送时延,传播时延,处理时延,排队时延,回传时延,接收时延。
在实际案例中,笔者通过异地用户就近接入,极大压缩了报文传播时延和回传时延;通过负载均衡器的合理配置,极大压缩了报文处理时延,排队时延。最终异地用户访问时延从平均520ms压缩到350ms,访问速度提升约30%。
7 结束语
双活系统架构设计应遵循必要的基本原则。应充分考虑网络双活、应用双活、数据双活三个层次。其中构建了双活业务中心系统设计最关注的问题之一,是如何通过有效手段实现双活业务中心间的协调工作,引导用户访问最优的站点,以及当某个站点出现灾难性故障后使用户仍然可以无感知快速访问其他站点上的关键业务。通过全局负载+本地负载的合理设计,最终实现系统长时间可靠的0中断运行, 异地用户就近接入获得访问速度极大提升。以上是笔者在实践基础上的一些总结,对电信级两地三中心系统建设中特别是大型业务系统全局及业务负载均衡架构设计及实施工作的有效开展,具有积极的借鉴意义。
参考文献:
[1] 《物联网业务网关设备规范》[S](QB-D-176-2011)
[2] 《中国移动蜂窝物联网技术体制》[S](QB-A-048-2019)
[3] 《电信设备安装抗震设计规范》[S](YD 5059-2005)
[4] Radware全局负载均衡解决方案[N] 比特網
【通联编辑:梁书】
笔者在实际生产中通过主持千万用户级业务网关、radius等电信级系统双活建设实践,成功实现了连续3年业务零中断,异地用户接入访问速度提升30%。现总结了其中一些实践性经验,供从业者参考。
关键词:电信级;双活;负载均衡;RTO
中图分类号:TP393.08 文献标识码:A
文章编号:1009-3044(2021)30-0138-03
开放科学(资源服务)标识码(OSID):
Research on Load Balancing Design of Double Live System
SHANGGUAN Bin
(China Mobile IOT Company Limited, Chongqing 401121, China)
Abstract: To ensure important business system 7 * 24 continuous operation, while ensuring fast access experience of users in different locations. Including financial, telecommunications and other large government and enterprise units, most of them gradually promote the construction of remote dual live system. How to achieve effective security redundancy and load balancing between dual active business centers by effective means is one of the most concerned problems in system design.
In the actual production, the author presided over the construction practice of ten million user level service gateway, radius and other telecom level systems, and successfully achieved zero business interruption for three consecutive years, and the access speed of remote users increased by 30% %。This paper summarizes some of the practical experience for reference.
Key words: Carrier grade; Double live; Load balancing; RTO
1 双活系统的流量均衡困境
为保障7*24不断网、不断电持续运行,包括金融、电信、政府等越来越多的大型政企单位的核心业务,大都逐步开始推进系统双活建设。同时,为了不同地域的接入访问用户具备同样快速访问感知,物理位置单一的业务服务中心無法实现。因此,大型政企单位通过在不同构建异地系统双活,两地三中心,甚至多地多中心的系统建设方式成为必然。
在构建双活业务中心时,如何实现不同接入地的用户统一接入方式,引导用户流量就近访问最优服务节点,获得无差别用户体验;同时如何进行系统容灾,成为系统设计时最重要的问题之一。
2 双活负载均衡总体设计
2.1 总体设计目标及关键环节
电信级业务系统是保障基础通信业务正常运行的基本载体。系统的总体设计目标:必须全时段的稳定运行,同时优化用户侧访问体验,提升访问流畅度。
为达到这一设计目标,以及对实际需求的分析,考虑采用智能DNS+全局负载均衡器+本地负载均衡器的总体网络及应用负载方案。本文重点分析负载均衡方案设计中,应考虑如下关键环节:
统一用户入口:提供唯一的IP地址或域名作为所有用户访问的统一的业务服务接入点。
流量分配算法:选择与业务特性匹配的流量分配算法,使用户获得最快速的服务响应。
系统容灾设计:在单一IDC发生业务故障时,快速把用户流量切换到其他IDC业务系统去。
会话保持机制:对于TCP会话保持业务,提供避免相同会话分配到不同IDC造成访问失败的会话保持机制。
性能指标考核:应结合业务最大容忍中断时长,用户体验要求等方面,设计RTO和异地用户访问时延等指标进行项目验收考评。
2.2 负载均衡的选择
负载均衡通常有硬负载和软负载两种实现方式。硬件负载均衡解决方案通过专用的负载均衡设备来实现多样化的负载均衡能力,这种设备通常称之为负载均衡器或硬负载。软件负载是通过在通用服务器上安装软件来实现负载均衡能力。对比而言,硬负载比软负载的性能更加强大,负载均衡策略更加多样,可支持多种不同的设计方案。在大型电信级系统业务负载均衡设计中,通常采用硬负载的方案。
3 南向接口的负载均衡部署及工作方式
这里我们把向用户侧服务的系统接口称为南向接口,在双中心进行GSLB全局负载均衡设备部署及工作方式: lIDC1和IDC2机房的全局负载设备之间会通过公网互联互通,自动进行相关域名信息的同步和更新。
l正常情况下,IDC2业务中心的全局负载设备处理全部客户端的LDNS域名请求,并负责返回IDC2业务中心的A记录(IP3地址)给客户。
l当IDC2业务中心的2台全局负载均衡设备故障或者到后台服务器连接全部异常后,此时IDC1业务中心的备设备会自动处理客户的域名请求,不需要人工干预。
l当IDC2业务中心的全局负载均衡设备正常后,此时可以从IDC1切换回IDC2业务中心。
l当其中一个域名故障后,可以全局负载均衡设备上进行手工方式修改即可,勿需域名服务商进行配置修改。
以申请的域名为www.xxx.com为例,域名提供商配置,将A记录分别IDC1和IDC2的全局负载均衡设备:
全局负载均衡设备配置,将A记录指向对应的IDC2和IDC1出口IP:
4 北向接口的负载均衡部署及工作方式
两个站点的业务系统向更上级服务系统进行服务请求的系统接口称为北向接口,如短信网关需要向更上一级BOSS、HLR、运管系统等对接的时候,负载均衡工作在负荷分担模式。
lIDC1和IDC2机房的专网负载设备之间会通过拉专线进行心跳监测
l正常情况下,IDC1业务中心的负载设备处理业务系统与上级服务系统之间的请求,并负责返回响应给业务系统。
l当IDC1业务中心的负载均衡设备故障或者到业务及应用服务器连接异常后,此时自动切换到IDC2业务中心的负载均衡设备处理业务请求。
l当IDC1业务中心的负载均衡设备正常后,此时可以从IDC2切换回IDC1业务中心。
5 状态监控及切换
业务系统容灾两个中心会融合成一套异地双活部署的业务系统,业务通过GSLB全局负载均衡,因此需在两个中心部署业务检测和切换系统。每个站点部署一套监控服务器监控所有接口机,处理机与数据库等的工作状态。
当数据库发生异常的时候,由监控服务器通知所有的接口机和处理机进行数据库切换和业务恢复。
当监控服务器监控到某个模块的业务成功率低,可以根据预定策略对该模块进行重启或者下线处理。
监控服务器部署业务检测和切换系统。
检测系统和切换系统间,通过消息接口进行数据交换。检测服务器定期将检测结果发送给切换服务器,由切换服务器进行切换逻辑判定和出来。发送周期可配,通常可配置为10秒。
检测服务器反馈的各项检测结果,是切换服务器进行切换判定的数据依据。
切换系统主要工作:
1)接受检测结果;
2)根据检测结果,做出是否要切换的逻辑判定;
3)将检测结果展示到结果查询界面;
4)根据配置确定是自动或人工切换;
5)如自动切换,进行切换操作;
6)切换结果上报。
业务检测主要通过部署在业务系统接口机和处理机上的驻留程序检测:
1)CPU:空闲率(平均值和瞬时值);
2)内存:最大值,占用率;
3)数据库访问成功率;
4)业务进程状态;
5)磁盘:最大值,占用率。
作为切换处理的相关判定,为后续实际切换提供切换判定逻辑和处理数据支持。
切换的两种模式定义:
自动切换:切换服务器根据检测服务器检测结果,综合判断需要进行哪种场景的切换,然后自动进行容灾切换控制。
半自动切换:部署方式及切换业务流同自动切换方案,人工根据告警判断是哪种故障场景,然后点击“一键切换服务器”上相应的切换场景,由切换服务器进行切换控制。
6 质量指标评估
可从RTO和异地用户访问时延两个方面评估建设目标:
(1)RTO (Recovery Time Objective,复原时间目标):是指灾难发生后,从IT系统当机导致业务停顿之时开始,到IT系统恢复至可以支持各部门运作、恢复运营之时,此两点之间的时间段称为RTO。比如说灾难发生后需要半天时间恢复,RTO值就是12小时。
在实际案例中,笔者通过双活系统建设,成功实现系统稳定运行三年0中断,应急演练RTO<10分钟。
(2)异地用户访问时延是指用户请求报文从用户侧系统发起,传送到服务侧系统处理,并反馈响应报文,最后到达用户侧系统实现业务请求的全流程所需要的时间。它包括了发送时延,传播时延,处理时延,排队时延,回传时延,接收时延。
在实际案例中,笔者通过异地用户就近接入,极大压缩了报文传播时延和回传时延;通过负载均衡器的合理配置,极大压缩了报文处理时延,排队时延。最终异地用户访问时延从平均520ms压缩到350ms,访问速度提升约30%。
7 结束语
双活系统架构设计应遵循必要的基本原则。应充分考虑网络双活、应用双活、数据双活三个层次。其中构建了双活业务中心系统设计最关注的问题之一,是如何通过有效手段实现双活业务中心间的协调工作,引导用户访问最优的站点,以及当某个站点出现灾难性故障后使用户仍然可以无感知快速访问其他站点上的关键业务。通过全局负载+本地负载的合理设计,最终实现系统长时间可靠的0中断运行, 异地用户就近接入获得访问速度极大提升。以上是笔者在实践基础上的一些总结,对电信级两地三中心系统建设中特别是大型业务系统全局及业务负载均衡架构设计及实施工作的有效开展,具有积极的借鉴意义。
参考文献:
[1] 《物联网业务网关设备规范》[S](QB-D-176-2011)
[2] 《中国移动蜂窝物联网技术体制》[S](QB-A-048-2019)
[3] 《电信设备安装抗震设计规范》[S](YD 5059-2005)
[4] Radware全局负载均衡解决方案[N] 比特網
【通联编辑:梁书】