共计 436 个字符,预计需要花费 2 分钟才能阅读完成。
微服务化最大的两个问题是 可用性的问题 和数据一致性 的问题。
咱们把我的项目从一个单体拆分为微服务,我的项目复杂度回升,出问题的概率天然进步了。
并且从数学与统计角度而言,因为服务数量变多了,假如单个服务的故障率不变,那么整体微服务零碎的故障率则会进步。
如果咱们不做任何预防伎俩,微服务中若有一个服务宕机,可能会连锁反应导致整个服务不可用。
所以咱们采纳“隔离”的伎俩,让影响范畴可控。事实上“隔离”这种伎俩在工程学中很常见,比方造船行业对船舱进水危险的隔离办法:将船舱分块隔离起来,一部分船舱进水不会导致整条船完蛋。
隔离,实质上是对系统或资源进行分隔,从而实现当零碎产生故障时能限定流传范畴和影响范畴,即产生故障后只有出问题的服务不可用,保障其余的服务依然可用。
隔离的技巧能够分为 3 大类,7 个套路:
- 服务隔离:动静拆散、读写拆散
- 轻重隔离:外围业务拆散、快慢隔离、热点隔离
- 物理隔离:线程(过程)隔离、机房隔离
这 7 个套路具体有哪些案例,我写了一点心得,分享给大家:微服务高可用秘诀 – 隔离
正文完