微服务治理攻略 - 隔离

微服务化最大的两个问题是可用性的问题数据一致性的问题。
我们把项目从一个单体拆分为微服务,项目复杂度上升,出问题的概率自然提高了。
并且从数学与统计角度而言,由于服务数量变多了,假设单个服务的故障率不变,那么整体微服务系统的故障率则会提高。
如果我们不做任何预防手段,微服务中若有一个服务宕机,可能会连锁反应导致整个服务不可用。
所以我们采用“隔离”的手段,让影响范围可控。事实上“隔离”这种手段在工程学中很常见,比如造船行业对船舱进水风险的隔离方法:将船舱分块隔离起来,一部分船舱进水不会导致整条船完蛋。
image.png
隔离,本质上是对系统或资源进行分隔,从而实现当系统发生故障时能限定传播范围和影响范围,即发生故障后只有出问题的服务不可用,保证其他的服务仍然可用。
隔离的技巧可以分为 3 大类,7 个套路:

  1. 服务隔离:动静分离、读写分离
  2. 轻重隔离:核心业务分离、快慢隔离、热点隔离
  3. 物理隔离:线程(进程)隔离、机房隔离

这 7 个套路具体有哪些案例,我写了一点心得,分享给大家:微服务高可用秘诀 – 隔离

你可能感兴趣的:(微服务后端go)