认识服务容错

在微服务系统中,各服务之间必然存在着某种依赖关系。服务容错指的是某个服务宕机时,依赖服务能够检测并执行容错处理

容错策略

  • 故障转移(failed over):在多实例的场景下,某个实例异常时自动切换到其他实例进行重试。

  • 快速失败(failed fast):快速返回异常,而不是等待超时或多次重试

  • 安全失败(failed safe):走默认的处理逻辑

  • 沉默失败(failed silent):若大量请求失败,停止继续提供服务,防止异常在整个系统传播

  • 故障恢复(failed back):异步处理请求

容错设计模式

  • 断路器模式

    为每个服务维护断路器状态:OPEN(完全放开请求)、CLOSED(所有请求直接失败failed fast)、HALF OPEN(允许少许请求)。

    ON===连续失败多次==>CLOSED===一段时间后==>HALF OEPN

    HALF OEPN===连续多个请求成功==>ON

    HALF OEPN===连续多个请求失败==>OFF

  • 舱壁隔离模式

    即资源隔离模式,为每个服务分配有限的资源,避免某个服务异常耗尽所有资源。

    线程池模式:每个服务对应一个N线程的线程池处理请求

    信号量模式:每个服务使用N个信号量控制请求量

  • 重试模式

    即failed over和failed back的实践,都是采用重试的思想。

    重试要求请求具有幂等性,且有终止条件(时间或次数)

    采用重试模式必须充分考虑重试带来的额外请求负载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值