写点什么

十一、高可用

用户头像
Geek_28b526
关注
发布于: 2021 年 01 月 03 日

提升系统高可用的架构方案

1)解耦

系统的耦合度越高, 它们之间的关系越复杂, 那么任何一个模块或功能出问题都可能牵连到其他的功能模块, 最后发生级联反应

2)隔离

通过解耦以后的这些业务子系统, 如果能在物理上进一步地进行隔离分隔,即使是某一个子系统内部出现了一些小的问题,这个问题不会扩散到其他的已解耦业务子系统里面去,这样也可以提高系统的可用性。

3)异步

事件驱动的异步架构

基于消息中间件, 如新用户注册, 将事件消息扔到主题队列内, 其他子系统对这个新用户注册事件进行消费处理, 如发送邮件、发送短息、加积分等等

4)备份

当机器发生故障或宕机等情况时,能够使用备用服务器进行继续服务

应用集群设计

数据库主从架构, 从服务器进行数据备份

5)故障转移

应用集群负载均衡

数据库主库失效转移 MHA

6)容错机制

重试, 远程服务可能由于线程阻塞、垃圾回收或者网络抖动, 而无法及时返回响应, 调用者可以通过重试的方式来修复单次调用的故障!

7)熔断降级

当某个服务出现故障、响应延迟或者失败率增加, 若继续调用这个服务将会导致调用者请求阻塞、资源消耗增加, 进而出现服务级联失效, 这种情况下使用断路器阻断对故障服务的调用。

8)限流

在高并发场景下, 如果系统的访问量超过了系统的承受能力, 则可以通过限流对系统进行保护!

限流的几种算法:

计数器算法(固定窗口、滑动窗口)

漏桶算法

令牌桶算法

9)异地多活


用户头像

Geek_28b526

关注

还未添加个人签名 2020.02.26 加入

还未添加个人简介

评论

发布
暂无评论
十一、高可用