内容简介:Hystrix在过去几年中非常受欢迎。现在它处于维护模式,许多人正在寻找替代方案。在本文中,我将介绍Sentinel:一个开源Java限流项目。我将通过与Hystrix进行比较来做到这一点,因为更多的人都熟悉它。在这一部分,我们将在更高的层次上比较这两个项目。在下一篇文章中,我们将介绍一些代码示例。简而言之,它是一个断路器。当某些资源一直出现故障时,将触发断路器。断路器不会继续访问已经发生故障的资源,而是拦截请求并返回故障信号。这听起来类似于断路器模式。但是,Sentinel提供了更多选择,例如流量整形,过
Hystrix在过去几年中非常受欢迎。现在它处于维护模式,许多人正在寻找替代方案。在本文中,我将介绍Sentinel:一个开源 Java 限流项目。我将通过与Hystrix进行比较来做到这一点,因为更多的人都熟悉它。在这一部分,我们将在更高的层次上比较这两个项目。在下一篇文章中,我们将介绍一些代码示例。
什么是Sentinel?
简而言之,它是一个断路器。当某些资源一直出现故障时,将触发断路器。断路器不会继续访问已经发生故障的资源,而是拦截请求并返回故障信号。这听起来类似于断路器模式。但是,Sentinel提供了更多选择,例如流量整形,过载保护和容错。
Sentinel的历史
- 2012年:Sentinel开始作为阿里巴巴的流量控制组件。
- 2013-2017:随着微服务的疯狂增长带来了可靠性的挑战。Sentinel迅速成长为防止级联灾难的工具。
- 2018年:Sentinel由阿里巴巴开源。
Sentinel看起来是怎么样的?
- Sential提供了许多处理流量控制的选项。用户可以选择根据QPS,线程池编号,系统负载来调整流量,以及直接使用命令来停止流量或执行冷启动。用户还可以混合和匹配不同的规则。Hystrix并没有真正提供全面的流量整形。
- Sentinal提供故障隔离和断路。这与Hystrix类似。但是,他们的方法不同。
- Sentinal提供实时监控。它还提供了一个仪表板,用于聚合来自分布式系统的信息。
Sentinel与Hystrix有何不同?
两者之间的关键区别在于如何实现隔离。Hystrix通常使用bulkhead 模式来隔离依赖关系。它将每个依赖项放在一个单独的线程池中。这样做的主要好处是它提供了干净的切割。缺点主要包括计算开销和线程池管理。
Sentinel为每个依赖项使用计数器。通过这样做,它不仅可以节省管理线程池的开销,还可以为用户提供更多控制。用户现在可以决定流的退化的粒度。
此表列出了Hystrix和Sentinel在设计和实现方面差异的更多细节:
这似乎有点压倒性。但是,从用户体验的角度来看,用户不会注意到太多差异。
生态系统
Sentinal非常适合云原生环境。它可以与其他流行的云原生解决方案集成。其中之一是Spring Cloud。中国另一个流行的Java分布式框架是Dubbo。Sentinal还可以与Istio和Envoy等服务网络解决方案并肩工作。
参考
Sentinal将很快作为Spring Boot框架的一部分发布。有关更多信息,请访问他们的GitHub repo .。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- SpringCloud学习系列之三----- 断路器(Hystrix)和断路器监控(Dashboard)
- 用断路器驯服数据质量
- SpringCloud 断路器(Hystrix)
- 云设计模式之: 断路器模式
- Java EE的断路器API设计
- 微服务断路器Istio与Hystrix比较
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Release It!
Michael T. Nygard / Pragmatic Bookshelf / 2007-03-30 / USD 34.95
“Feature complete” is not the same as “production ready.” Whether it’s in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. Did you design your system to......一起来看看 《Release It!》 这本书的介绍吧!