登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
业界区
›
安全
›
Spring Boot整合Sentinel之流量控制入门
Spring Boot整合Sentinel之流量控制入门
[ 复制链接 ]
存叭
2025-12-28 00:50:02
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
目录
Sentinel简介
Sentinel 入门 demo
限流入门示例|done
结束语
Reference
摘要
介绍Spring Boot 4 如何整合流量治理神器Sentinel,入门案例以实现流量控制为切入点。
Sentinel简介
什么是Sentinel?随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由/调度、流量控制、流量整形、熔断降级、系统自适应过载保护/实例摘除、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。
Sentinel 具有以下特征:
♥丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
♥完备的实时监控:可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模集群的汇总运行情况。
♥广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Apache Dubbo、gRPC、Quarkus 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。同时 Sentinel 提供 Java/Go/C++ 等多种语言的原生实现。
♥完善的 SPI 扩展机制:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。
流量控制(flow control)原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。限流的直接表现是在执行 Entry nodeA = SphU.entry(resourceName) 的时候抛出 FlowException 异常。FlowException 是 BlockException 的子类,您可以捕捉 BlockException 来自定义被限流之后的处理逻辑。
『资源』是 Sentinel 的关键概念,只要通过 Sentinel API 定义的代码,就是资源,能够被 Sentinel 保护起来。它可以是 Java 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。
『规则』围绕资源的实时状态设定的规则,可以包括「流量控制规则」、「熔断降级规则」以及「系统保护规则」。对于同一个资源,我们通过规则定义如何程序保护资源,所有规则可以动态实时调整。
Sentinel 的「设计理念」是让编码人员自由选择控制的角度,并进行灵活组合,从而达到想要的效果。它的流量控制规则由下表的关键属性组成:
字段名说明默认值resource资源名count限流阈值grade限流机制,1 QPS,0 并发线程数QPS 模式limitApp流控针对的调用来源default,代表不区分调用来源strategy调用关系限流,包括资源自身、其它关联资源 (refResource)和链路入口等根据资源本身controlBehavior流量控制效果(直接拒绝、预热和匀速排队等)直接拒绝 限流的直接表现是在执行Entry nodeA = SphU.entry(resourceName)的时候抛出FlowException异常。FlowException是BlockException的子类,您可以捕捉BlockException来自定义被限流之后的处理逻辑。
本文以《一步步搭建JDK 21 Spring Boot项目》搭建的Spring Boot项目为基础,演示Sentinel 限流功能。
Sentinel 入门 demo
使用 Sentinel 来进行资源保护,主要分为几个步骤:
定义资源
设置规则
验证规则
定义需要保护的资源后配置限流规则。我们可以理解为只要有了资源,就可以在任何时候灵活地定义各种流量控制规则。在编码之前考虑此代码片段是否需要保护,如果需要保护,就将其定义为一个资源。今天咱们就把Sentinel限流掰开揉碎讲清楚怎么对流量洪峰限流保证服务稳定性。
引入 Sentinel 依赖
如果您的应用使用了 Maven,则从maven仓库地址中找适合的sentinel版本并加入 pom.xml 文件中。我使用的是 JDK 21 + Spring Boot 4.0.0,故引入以下Sentinel依赖包:
<dependency>
<groupId>com.alibaba.csp</groupId>
sentinel-core</artifactId>
<version>1.8.9</version>
</dependency>
复制代码
限流入门示例|done
定义资源。我们一般会将 Java 中的方法定义为资源,也可以更灵活地对资源进行定义。在下面的例子中,我们定义的资源名是【my_resource】,将System.out.println("Hello Sentinel");这个代码片段作为被保护的资源,把它用Sentinel API SphU.entry("my_resource")和entry.exit()包裹起来。见如下代码中的函数sentinelDemo(String resourceName):
[code]import com.alibaba.csp.sentinel.Entry;import com.alibaba.csp.sentinel.SphU;import com.alibaba.csp.sentinel.slots.block.BlockException;import com.cactus.wiener.config.FlowRules;/** * @Author 楼兰胡杨 * @Description: 简单的限流示例 */public class SimpleSentinelDemo { public static void main(String[] args) { // 定义资源名称 String resourceName = "my_resource"; //加载流控规则 FlowRules.initFlowRules(resourceName); // 启动测试示例 sentinelDemo(resourceName); } public static void sentinelDemo(String resourceName) { Entry entry1 = null; for (int i = 1; i
Spring
Boot
整合
Sentinel
流量
相关帖子
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
0
1002
于映雪
2026-04-03
业界
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
0
292
蔺堰
2026-04-03
业界
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
0
62
剽达崖
2026-04-03
业界
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
0
171
峰襞副
2026-04-03
业界
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
0
921
洪思思
2026-04-03
业界
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
0
775
心麾浪
2026-04-03
业界
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
0
728
嫁蝇
2026-04-03
业界
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
0
928
琉艺戕
2026-04-03
业界
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
0
186
东郭欣然
2026-04-03
业界
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
0
557
幌斛者
2026-04-03
回复
(30)
驳嗦
2026-1-4 06:41:58
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
收藏一下 不知道什么时候能用到
轩辕琳芳
2026-1-13 18:36:13
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
很好很强大 我过来先占个楼 待编辑
予捻
2026-1-13 19:12:53
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享
费卿月
2026-1-14 07:51:11
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
很好很强大 我过来先占个楼 待编辑
睁扼妤
2026-1-14 11:50:00
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
钿稳铆
2026-1-15 01:10:28
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
收藏一下 不知道什么时候能用到
注思
2026-1-17 13:40:23
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
东西不错很实用谢谢分享
高小雨
2026-1-18 05:20:17
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
柩通奉
2026-1-20 08:05:10
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢楼主提供!
煞赶峙
2026-1-22 11:51:18
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢楼主提供!
崔瑜然
2026-1-26 09:24:13
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,辛苦了
飧沾
2026-2-1 02:31:05
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个有用。
稞冀
2026-2-3 10:12:31
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
收藏一下 不知道什么时候能用到
喳谍
2026-2-3 23:33:53
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
热心回复!
客臂渐
2026-2-4 06:40:39
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢,下载保存了
啪炽
2026-2-10 07:36:27
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢发布原创作品,程序园因你更精彩
龙梨丝
2026-2-10 21:22:05
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
新版吗?好像是停更了吧。
万俟谷雪
2026-2-11 12:16:48
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
喜欢鼓捣这些软件,现在用得少,谢谢分享!
崆蛾寺
2026-2-11 23:52:37
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢楼主提供!
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
科技
签约作者
程序园优秀签约作者
发帖
存叭
2026-2-11 23:52:37
关注
0
粉丝关注
18
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9529
6
韶又彤
9912
7
荪俗
9024
8
宋子
9875
9
蓬森莉
9871
10
俞瑛瑶
10000
查看更多
今日好文热榜
174
【OpenClaw】通过 Nanobot 源码学习架构---
232
NCCL EP 论文解读
3
200 行 Python 代码,从零手搓极简 Agent,
2
200 行 Python 代码,从零手搓极简 Agent,
2
手把手教你用Python做本地AI聊天机器人最终
2
200 行 Python 代码,从零手搓极简 Agent,
368
200 行 Python 代码,从零手搓极简 Agent,
3
200 行 Python 代码,从零手搓极简 Agent,
2
手把手教你用Python做本地AI聊天机器人最终
2
200 行 Python 代码,从零手搓极简 Agent,
2
手把手教你用Python做本地AI聊天机器人最终
3
200 行 Python 代码,从零手搓极简 Agent,
3
手把手教你用Python做本地AI聊天机器人最终
778
手把手教你用Python做本地AI聊天机器人最终
3
200 行 Python 代码,从零手搓极简 Agent,
3
200 行 Python 代码,从零手搓极简 Agent,
2
手把手教你用Python做本地AI聊天机器人最终
3
200 行 Python 代码,从零手搓极简 Agent,
2
手把手教你用Python做本地AI聊天机器人最终
2
200 行 Python 代码,从零手搓极简 Agent,