「轻阅读」如何设计全链路99.99%高可用架构?

程序那点儿事 2019-08-27 17:53:24 ⋅ 807 阅读

(一) 什么是全链路99.99%高可用架构?

简单来说,就是如此复杂的架构中,任何一个环节都可能会故障,比如MQ集群可能会挂掉、KV集群可能会挂掉、MySQL集群可能会挂掉。那你怎么才能保证说,你这套复杂架构中任何一个环节挂掉了,整套系统可以继续运行?

这就是所谓的全链路99.99%高可用架构


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

(二) 通讯高可用

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


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

(三) 服务高可用

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

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

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


全部评论: 0

    我有话说:

    阅读」从MySQL可用架构可用架构设计

    可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一

    阅读如何设计移动端屏适配方案

    在众多的移动设备中,前端开发人员如何在不同屏幕大小,不同程度的清屏下去百分百的还原设计稿,从来都不

    阅读」阿里云-开放平台高级技术家教你搭建微服务架构的四大金刚利器

    孔凡勇,花名云狄,阿里云-开放平台高级技术家,对并发、性能、可用、可伸缩的分布式系统架构设计有丰富经验,Cloud Native坚定拥护者,坚守开发一线打磨匠艺的架构师。

    阅读」图文并茂带你了解分布式架构的演进

    初始阶段架构初始阶段 的小型系统 应用程序、数据库、文件等所有的资源都在一台服务器上通俗称LAMP

    阅读」最近程序员圈刷屏的支付宝架构,分享给大家

    支付宝的架构到底有多牛逼!还没看完我就跪了

    架构设计原则 - 并发

    并发设计可以从以下几方面考虑:无状态拆分服务化消息队列数据异构缓存并发化1. 无状态无状态的应用容易进行水......

    阅读」聊一聊6种常用的架构设计模式(上)

      许多现代应用都需要在企业级规模上进行构建,有时甚至需要在互联网规模上进行构建。这些应用都需要满足可扩展性、可用性、安全性、可靠性和弹性需求。 在本文中,我将谈论一些设计模式,这些模式

    创业团队如何设计支撑百万并发的数据库架构

    我们来聊一下对于一个支撑日活百万用户的并系统,他的数据库架构应该如何设计?

    阅读」为什么在做微服务设计的时候需要DDD?

    你的设计蓝图里为什么没有看到DDD的影子呢?

    阅读」4大服务注册发现技术对比

    架构设计中的 CAP 和 BASE 理论

    阅读」微博推荐架构的演进

    微博两个核心基础点:一是用户关系构建,二是内容传播,微博推荐一直致力于优化这两点,促进微博发展。

    阅读」使用 Angular 打造微前端架构的 ToB 企业级应用

    转载自:https://www.cnblogs.com/worktile/p/11940244.html

    「转载」微服务分布式架构中,如何实现日志跟踪?

    一个用户请求一个url,整个如图,每个处理层...

    CherryTree 0.99.17 发布

    CherryTree 0.99.17 现已发布。CherryTree 是一个支持无限层级分类的笔记软件,Python 编写,支持富文本编辑和代码亮,支持 Linux 和