高可靠的短信平台容灾备灾方案

发布于: 2024-08-05 00:00
阅读: 131

我司调研主流生产类客户需求,结合平台多年运行经验,为客户打造了一整套专业短信发送平台,超过五星级IDC机房高标准,99.999%无故障运行,平均无故障时间20000小时以上,均选用高端主流硬件产品,达到高标准要求,在单机房自然灾害断网断电等意外情况发生时继续提供服务能力。在深圳、上海、北京以及云服务厂商等搭建多套平台,实行异地多活,容灾备份机制。

系统通过负载均衡、分布式服务、动态路由、监控告警等模式来实现高可用的安全保障体系。

所有服务都通过分布式设计,每个服务都能多服务器部署同时运行,当某台服务器故障, 则负载均衡器会立即进行切换,保证服务高可用。

连接管理会接收目标网关上的连接状态上报,如果某个网关异常则会触发动态路由服务切换网关或触发告警

监控告警系统会实时监控系统进程和统计报表,通过配置规则进行异常告警。

提供了高可用性的高效的安全管理能力,包括帐户信息安全管理、数据安全管理和通信安全管理。

 

1)  应用和网络的容灾设计

应用灾备包括两个方面:数据同步和应用接管。数据同步是应用接管的基础条件,在确保数据同步的前提下,面对突发故障时,能够实现迅速的网络切换和应用切换。

  • 数据同步

系统的数据复制技术采用应用程序层数据复制,其中数据同步服务负责将主、备平台的数据库数据、缓存数据进行同步。

业务数据同步

数据同步服务业务数据采用数据库的异地复制技术,利用日志复制功能,依靠本地和远程主机间的日志归档与传递来实现两端的数据一致。

使用Canal中间件基于数据库增量日志解析,提供增量数据订阅&消费。其Canal中间件工作原理如下:

canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议

mysql master收到dump请求,开始推送binary logslave(也就是canal)

canal解析binary log对象(原始为byte)

  • 业务缓存同步

Redis提供了数据变化的通知事件,可以实时监测keyvalue的变化,可以通过订阅相关的channel来接收这些通知事件,然后做相应的自定义处理.

事件通过 Redis 的订阅与发布功能(pub/sub)来进行分发, 因此所有支持订阅与发布功能的客户端都可以在无须做任何修改的情况下, 直接使用键空间通知功能。

  • 网络切换设计

通过提供冗余的网络线路和设备。正常情况下,客户端通过生产中心的业务网络访问生产中心的应用服务器;在发生灾难时,通过网络切换,客户端能够访问到灾备中心的备用服务器。

为实现主备平台间的自动故障切换,平台使用DNS智能监控与解析服务(dnspod),结合故障检测机制,实现当在发生灾难时,通过快速将平台域名指向备用服务器IP来达到网络切换。

  • 应用切换设计

当生产中心由于发生灾难而瘫痪时,可由灾备中心的备用服务器提供业务接管,确保业务运行的高连续性。

备用服务与生产服务使用相对应的应用服务器和数据库服务器,安装相应软件。在正常情况下,灾备中心服务器处于就绪状态但对外不可访问;发生灾难时,可在决策后,快速将备用服务恢复对外访问,实现业务的快速切换。

 

分享