内容简介: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比较
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Little Schemer
[美] Daniel P. Friedman、[美] Matthias Felleisen / 卢俊祥 / 电子工业出版社 / 2017-7 / 65.00
《The Little Schemer:递归与函数式的奥妙》是一本久负盛名的经典之作,两位作者Daniel P. Friedman、Matthias Felleisen在程序语言界名声显赫。《The Little Schemer:递归与函数式的奥妙》介绍了Scheme的基本结构及其应用、Scheme的五法十诫、Continuation-Passing-Style、Partial Function、......一起来看看 《The Little Schemer》 这本书的介绍吧!