吊打面试官系列:微服务可用性设计

本文探讨了微服务可用性设计的关键点,包括隔离(如动静分离、读写分离、轻重隔离和核心隔离)、超时控制、过载保护以及限流策略(令牌桶、漏斗桶、固定窗口、滑动窗口和BBR算法)。通过这些策略,可以提高微服务的稳定性和应对高负载的能力,降低连锁故障的风险。
摘要由CSDN通过智能技术生成

引言

当项目架构演进到微服务的时候,系统分布式部署,传统单个流程的本地 API 调用被拆分成多个微服务之间的跨网络调用,由于引入了网络通信、序列化和反序列化等操作,系统发生故障的概率提高了很多。而业界通常用多少个9来衡量系统的可用性,如99.99%表示一年中有1小时左右的不可用时间。那么如何有效确保微服务架构的可用性呢?

微服务可用性设计

微服务的可用性通常可以从隔离、超时控制、过载保护、限流、熔断、降级、重试、负载均衡

隔离

微服务隔离,本质上是对系统或者资源进行分割,从而实现当系统发生事故的时候可以限制传播范围和影响范围,只有发生故障的服务不可用,而其他服务依旧可以提供服务。

  • 服务隔离
    • 动静分离
      动静分离:动静分离很好理解,现在的软件架构大部分都是前后端分离的模式,而前端的静态资源如图片、音视频等资源可以存储到oss云存储服务器,动态API则部署在ECS上来做到动静分离,静态文件访问负载全部通过CDN加速。

吊打面试官系列:微服务可用性设计

    • 读写分离
      读写分离:如数据库主从读写分离,DDD的CQRS模式
  • 轻重隔离

核心隔离
核心隔离:根据业务进行资源划分,核心业务与非核心业务进行机器资源、依赖资源隔离,核心业务可以搭建多集群通过冗余资源来提升吞吐和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值