为什么需要断路器?
The Circuit Breaker pattern helps us in preventing a cascade of failures when a remote service is down.
断路器帮助我们在一个(下游)远程服务宕机时防止出现级联错误(蔓延于整个集群的错误)。
实现了断路器的框架有哪些?
Netflix/hystrix、alibaba/sentinel、twitter/finagle、qiwi/thrift-pool、resiliance4j
hystrix已经进入维护模式,不再添加新的功能,而且最新的版本的监控后台还有bug导致无法使用,不推荐使用。
finagle是Scala语言写的,很小众,不推荐使用。
thrift-pool由qiwi(俄罗斯的支付宝)出品,很多注释都是俄文,而且github上的start很少,不推荐使用。
resiliance4j是hystrix官方推荐的替代品,相比于sentinel,它少了一个重要功能dashboard,另外sentinel是经过了阿里巴巴双十一的压测的,所以挑来挑去sentinel还是最优选择。