微服务问题解决方案指引

微服务问题解决方案指引,第1张

高效的限流、灵活的熔断 限流、熔断解决微服务异常问题 限流的纬度
  • 接口限流
  • 总限流
限流的单位
  • 限并发
  • 限QPS/TPS
限流的分类
  • 单击限流
  • 集群限流
单击限流方案:限制并发VS限制QPS/TPS
  • 单击:
    1.限制并发:计数器(需原子性和互斥性)放在aop处理 ,count++执行之后再count–
    2.限制qps/tps(令牌桶不放回,每秒充令牌,请求先取到令牌)
  • 集群:集中式缓存
    Redis获取令牌,
    1.另一个程序定时充令牌较危险;
    2.另一种获取时间隔相同步长(过期时间)充令牌,需注意同时充令牌时循环覆盖,采用redis的乐观锁机制watch->multi->exec;很难减负载
    3.自研方案:分布式系统内执行单击限流,按不能的逻辑拆分成不同的系统;类似雪花算法,总系统自己维护一个计数器,用完时到对应的分布式系统中申请令牌
熔断的本质:减少级联错误

调用不同服务进入不同的线程不相互影响

  • 失败率触发
  • 失败总次数触发
熔断的恢复
  • 全回复
  • 半转全(配置策略尝试调用已熔断的系统,可控制半转全的节奏)

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/723196.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-26
下一篇2022-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存