Sentinel源码分析一、全观

本文介绍了阿里巴巴开源的Sentinel组件,它是一个面向分布式服务的流量控制工具,比Hystrix功能更强大。文章分析了Sentinel项目结构,包括核心模块(sentinel-core)、控制台(sentinel-dashboard)、传输模块(sentinel-transport)等,并通过示例代码展示了如何进行限流操作。Sentinel提供了SphU和SphO两种入口方法来处理限流,前者在限流时抛出异常,后者返回布尔值表示是否通过。
摘要由CSDN通过智能技术生成

Sentinel是啥

Sentinel 是阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。

那么Sentinel 和之前常用的熔断降级库 Netflix Hystrix 有什么异同呢?

首先官网上有一个介绍,这里摘录一个总结表格。具体对比参考链接查看

对比内容 Sentinel Hystrix
隔离策略 信号量隔离 线程池隔离/信号量隔离
熔断降级策略 基于响应时间或失败比率 基于失败比率
实时指标实现 滑动窗口 滑动窗口(基于 RxJava)
规则配置 支持多种数据源 支持多种数据源
扩展性 多个扩展点 插件的形式
基于注解的支持 支持 支持
限流 基于 QPS,支持基于调用关系的限流 不支持
流量整形 支持慢启动、匀速器模式 不支持
系统负载保护 支持 不支持
控制台 开箱即用,可配置规则、查看秒级监控、机器发现等 不完善
常见框架的适配 Servlet、Spring Cloud、Dubbo、gRPC 等 Servlet、Spring Cloud Netflix

从对比的表格可以看到,Sentinel 比 Hystrix 在功能性上还要强大一些。

项目结构

引入项目源码到Idea中,先看一下Sentinel项目的整个结构:

在这里插入图片描述

简单说明一下:

  • sentinel-core 核心模块,
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值