如何设计全链路99.99%高可用架构?

邓赢


以自己曾经设计高可用的交易系统思路请参考。

具体是考虑通讯高可用、服务高可用这两维度来保证平台支持服务的分布式部署、集群容错和负载均衡来实现。具体如下:

(一) 通讯高可用

交易系统集群模式为全节点Online模式,所有应用集群内部节点可同构横向扩展并负载均衡。当一个节点出现故障时(如下图),集群自动将故障节点隔离,并将交易请求分流到其它正常节点;当检测到原故障节点恢复时自动纳入集群可用节点。

通过以上机制,确保了系统在发生单点故障时,不影响整个系统运行,相对于传统HA模式,全节点Online模式无切换不应期,保证了系统的7*24小时服务能力。

(二) 服务高可用

服务发布和治理是通过注册中心完成的。

当一个服务的多个提供方中有一方故障或停机更新的时候,注册中心会及时获取服务状态信息并推送给消费方,消费方获取的可用服务列表将停机的服务剔除,仅发送给正常的服务提供方;当服务恢复后,注册中心也会推送新的服务地址给消费方,完成服务恢复。

结论:设计的目标系统所有子系统均需支持负载均衡和横向扩展,可通过配合合理的部署方案,将能够保证系统的软、硬件平滑地扩容和升级,使之不仅能满足当前的业务需要,还为今后业务领域的发展提供的扩展支持。应用系统集群模式为全节点Online模式,即所有应用集群内部节点可同构横向扩展并负载均衡。


分享到:


相關文章: