阿里开源Sentinel流控框架基本介绍与简单使用

Sentinel是一款由阿里开源的轻量级高可用流量控制组件,主要用于服务稳定性保护。它提供了丰富的流量控制策略,如限流、降级、系统负载保护等,并具有与Hystrix相比的诸多优势。Sentinel通过Resource、Slot、Context和Entry等概念实现工作流程,并支持动态规则配置,如使用Nacos进行规则源扩展。此外,Sentinel还提供了Dashboard控制台,便于监控和管理应用的稳定性。
摘要由CSDN通过智能技术生成

作者:未完成交响曲,资深Java工程师!目前在某一线互联网公司任职,架构师社区合伙人!

一、简介

1. Sentinel 是什么?

Sentinel是去年7月由阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件。

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

(引自官方文档)

2. 主要优势和特性

  1. 轻量级,核心库无多余依赖,性能损耗小。

  2. 方便接入,开源生态广泛。

  3. 丰富的流量控制场景。

  4. 易用的控制台,提供实时监控、机器发现、规则管理等能力。

  5. 完善的扩展性设计,提供多样化的 SPI 接口,方便用户根据需求给 Sentinel 添加自定义的逻辑。

3. 与Hystrix对比

之前大家熟知的容错组件Hystrix,在去年宣布停止开发,因此许多的开发人员在选型时将目光投向了Sentienl。这里将它们做一下对比:


Resource

在Sentinel中,Resource-资源 是最重要的一个概念,可以是代码块、方法、接口等任何需要保护的东西。在编码的时候,只需要考虑这个代码是否需要保护,如果需要保护,就将之定义为一个资源,然后定义规则就可以了,剩下的通通交给Sentinel来处理了。

Slot

Sentinel的工作流程就是围绕着一个个插槽所组成的插槽链来展开的。每个插槽都有自己的功能,通过一定的编排顺序,来达到最终的限流降级的目的。默认的各个插槽之间的顺序是固定的,因为有的插槽需要依赖其他的插槽计算出来的结果才能进行工作。

Context

Context 代表调用链路上下文,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值