美文网首页
熔断、降级、限流

熔断、降级、限流

作者: packet | 来源:发表于2019-02-02 23:55 被阅读0次

    架构的基础有两点,一点是分层,一点是RPC。
    衡量架构的一个重要指标就是健壮性和稳定性(也可以用来衡量人),这就需要考虑如果RPC失败了怎么办。
    最坏的结果就是因为某个局部服务的失败,导致。
    工程师们把现实世界中的熔断器,借鉴到了软件中,来解决这个问题。
    一言以蔽之:当请求的失败率达到某个阈值的时候,熔断器就会打开,不会继续RPC,而是返回一个fallback。等过一段时间之后,再判断是关闭熔断器,还是继续打开。
    有了熔断,就会有降级。就是当熔断器打开之后,客户端可以自己准备一个本地的fallback,返回一个缺省值。
    这里介绍一个Hystrix熔断器的参数:requestVolumeThreshold,熔断器滑动窗口的大小,默认是20。如果在20个请求中,失败率达到阈值,熔断器就会打开。

    无论是计算机世界,还是物理世界,存在一个基本矛盾:资源和消耗的矛盾。在多数时候,消耗是大于矛盾的,所以必须限制消耗。
    对消耗的限制有两种:
    1)限制总数,比如数据库的连接数
    2)限制速率,比如秒杀中对流量的限制,常见的算法有令牌桶算法。Guava的RateLimiter

    相关文章

      网友评论

          本文标题:熔断、降级、限流

          本文链接:https://www.haomeiwen.com/subject/enrssqtx.html