号码携带集中管理系统的高可用技术应用
时间:2023-09-29 10:34来源: 作者: 点击: 次1 引言
在系统中,CSMS()汇总着全国所有运营商用户的基本数据和规则,扮演着号码携带业务提供管理者和仲裁者的角色,地位十分重要。CSMS和运营商的号码携带营业生产系统一起,实时为用户提供号码携带申请业务,必须按照电信级系统的要求,提供24h×7d×365d时间内99.99%的服务性。因此,CSMS系统的高性方案十分重要。
高性(High Availability)一般是指通过尽量缩短系统停机时间,提高系统和应用的可用性。为了提高系统可用性,一种方法是提高计算机各个部件的可靠性,但这种方法并不可靠,因为单一服务器可靠性再高也存在单点故障的潜在隐患,所以目前业界比较成熟的做法是采用集群(CluSTer)的方案。它通过加入冗余设备使得在一个设备出错而停止服务的时候,这些冗余的设备可以继续提供服务。本文中,高可用性的含义还包括“快速恢复”,即一旦由于系统中止并重启后,业务应用能够尽快恢复。
本文主要介绍了在CSMS中为了实现系统的整体高可用性,在各个层面可以采用的集群技术。
2 系统高可用技术的应用范围
在号码携带系统中,从和运营商接口侧到CSMS的核心数据层主要包括以下功能层,高可用方案主要围绕这些层面来展开。
(1)网络层:是和运营商连接的部分,主要需要考虑,如何避免传输单点故障,如何避免网络设备单点故障?
(2)Web服务器层:如何保证Web服务器的单点故障?如果提供多台Web服务器,如何在之间进行资源协调?
(3)应用服务器层:Web服务器提交请求给应用服务器后,如何避免应用服务器的单点故障及多台应用服务器的资源协调?
(4)数据库服务器层:应用服务器向数据库服务器提交请求时,如何避免数据库服务器的单点故障及多台之间的资源协调?
(5)应用软件:即使我们采取了各种措施,还是存在服务器硬件宕机的可能性。在系统重启后,我们应用软件如何设计保证系统能快速恢复?
(6)数据层:如何保证数据存储安全可靠?
为了回答上述问题,我们需要对各种高可用性技术进行研究和总结。
3 高可用性技术研究
3.1 CSMS系统架构
图1所示的是CSMS系统组织架构。
图1 CSMS系统组织架构
为了保证系统的高可用性,防止出现单点故障,系统的每个功能层在硬件设备上都采用冗余配置,同时通过各种软件方案设计,实现系统高可用性。
3.2 网络方案
在网络方案上,系统和每个运营商之间的专线采用155M POS或者MSTP双光缆接入,利用传输网络的冗余和自愈能力,保证系统物理接入线路的高可用性。每个运营商的两条光缆分别接入到系统的两台接入路由器上,尽量避免路由器设备的单点故障。每台路由器分别配置了多个网卡分别接入多个运营商的专线,防止出现单板卡故障影响到更多的运营商接入。
在路由器对运营商侧的方案设计上,需要采用动态路由协议,当某台路由器到某个运营商的某条缺省配置路由出现故障时(比如线路故障或板卡故障),需要将备选路由广播到所有相关设备上,新的通信连接则按照新的路由进行通信。在路由器对防火墙的方案设计上,需要采用VRRP协议进行动态IP地址绑定,即两台路由器下联到防火墙的IP为一个虚拟地址,缺省时绑定在某个路由器的实际地址上,当需要切换时,将虚拟地址绑定在另外一台路由器的实际地址上,而对于防火墙来说,不需要做任何改变就完成了通信的切换过程。
3.3 Web服务器的负载均衡器方案
从客户端的请求经过网络设备后,将首先到达Web服务器。从系统的高可用性设计角度出发,系统将部署多台Web服务器进行集群。Web服务器之间进行集群包括Web负载均衡和会话的失败转移两个方面。
负载均衡可以采用多种技术,比如采用硬件负载均衡器,也可以在某个Web服务器上部署负载均衡软件,由这台Web服务器兼作负载均衡器。负载均衡器最主要的特征包括:
(1)单点接入
从客户端的角度看,多台Web服务器只有一个地址,就是负载均衡器的服务地址。这样做的好处有两点:一是客户端不需要配置多个Web服务器地址,比较方便;二是可以向客户端网络屏蔽网内具体的设备的地址信息,对网络保护具有一定作用。
(2)实现负载均衡算法
当客户端请求到来的时候,负载均衡器能够决定把这个请求转发到后台的哪个Web服务器进行处理。主流算法包括:轮循算法,随机算法和权重算法,无论哪种算法,负载均衡器总是试图让每个服务器实例分担等同的压力。