news 2026/5/1 7:47:53

Sentinel 实现流控规则的Nacos推送和拉取

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Sentinel 实现流控规则的Nacos推送和拉取

Sentinel 控制台(集群流控管理)

规则配置

要通过 Sentinel 控制台配置集群流控规则,需要对控制台进行改造。我们提供了相应的接口进行适配。

从 Sentinel 1.4.0 开始,我们抽取出了接口用于向远程配置中心推送规则以及拉取规则:

  • DynamicRuleProvider<T>: 拉取规则
  • DynamicRulePublisher<T>: 推送规则

对于集群限流的场景,由于每个集群限流规则都需要唯一的 flowId,因此我们建议所有的规则配置都通过动态规则源进行管理,并在统一的地方生成集群限流规则。

我们提供了新版的流控规则页面,可以针对应用维度推送规则,对于集群限流规则可以自动生成 flowId。用户只需实现DynamicRuleProviderDynamicRulePublisher接口,即可实现应用维度推送(URL:/v2/flow)。

注:应用维度推送流控规则页面的默认实现仅仅是对旧版 API 的兼容(批量推送有效的机器/拉取最近有效的机器的规则),对集群规则无效。生产环境下不推荐使用默认实现,建议对接动态规则源。

我们提供了 Nacos、ZooKeeper 和 Apollo 的推送和拉取规则实现示例(位于test目录下)。以 Nacos 为例,若希望使用 Nacos 作为动态规则配置中心,用户可以提取出相关的类,然后只需在FlowControllerV2中指定对应的 bean 即可开启 Nacos 适配。前端页面需要手动切换,或者修改前端路由配置(sidebar.html流控规则路由从dashboard.flowV1改成dashboard.flow即可,注意簇点链路页面对话框需要自行改造)。

@Autowired@Qualifier("flowRuleNacosProvider")privateDynamicRuleProvider<List<FlowRuleEntity>>ruleProvider;@Autowired@Qualifier("flowRuleNacosPublisher")privateDynamicRulePublisher<List<FlowRuleEntity>>rulePublisher;

默认 Nacos 适配的 dataId 和 groupId 约定如下:

  • groupId:SENTINEL_GROUP
  • 流控规则 dataId:{appName}-flow-rules,比如应用名为 appA,则 dataId 为appA-flow-rules

用户可以在NacosConfigUtil修改对应的 groupId 和 dataId postfix。用户可以在NacosConfig配置对应的Converter,默认已提供FlowRuleEntity的 decoder 和 encoder。

注意:接入端也需要注册对应的动态规则源,参考 集群流控规则配置文档。

集群流控管理

注:客户端必须引入集群限流相关依赖(比如需要使用集群限流,则需要引入集群限流 client 依赖;若需要作为嵌入式的集群限流服务端,则还需要引入集群限流 server 依赖),否则无法进行配置。

Sentinel 1.4.1 版本的控制台引入了应用维度的集群流控管理页面,可以方便地从应用维度分配 token server、查看相关状态。我们可以在侧边栏点击“集群流控”,进入 Token Server 列表页面,可以查看当前应用下所有的 token server 列表及相关状态:

我们可以点击右上角的“添加 Token Server”按钮来添加新的 token server 并分配 client:

Token Client 列表


  • Sentinel 官方网站
  • OpenSergo 微服务治理
  • 文档
    • Read Me
    • 新手指南
    • Sentinel 介绍
    • FAQ
    • Roadmap
    • 如何使用
    • 工作原理
    • 流量控制
    • 集群流控(分布式流控)
    • 网关流控
    • 熔断降级
    • 热点参数限流
    • 系统自适应限流
    • 黑白名单控制
    • 实时监控数据
    • 动态规则
    • 控制台
    • 生产环境使用 Sentinel
    • 阿里云企业版 Sentinel
    • OpenSergo 控制面
    • 启动配置项
    • 注解埋点支持
    • 主流框架适配
    • Envoy 集群流量控制
    • 多语言生态
    • 开源贡献指南
  • 阿里云 微服务解决方案
  • Release Notes
  • Related Blog
  • Awesome Sentinel
  • Documents
    • Read Me
    • Introduction
    • How to Use
    • How it Works
    • Flow Control
    • Parameter Flow Control
    • Cluster Flow Control
    • API Gateway Flow Control
    • Circuit Breaking
    • Adaptive System Protection
    • Metrics
    • General Configuration
    • Dynamic Rule Configuration
    • Dashboard
    • Integrations with open-source frameworks
    • Contribution Guideline

https://github.com/alibaba/Sentinel/wiki/Sentinel-%E6%8E%A7%E5%88%B6%E5%8F%B0%EF%BC%88%E9%9B%86%E7%BE%A4%E6%B5%81%E6%8E%A7%E7%AE%A1%E7%90%86%EF%BC%89#%E8%A7%84%E5%88%99%E9%85%8D%E7%BD%AE

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 6:33:52

太强了!SpringBoot + QLExpress打造动态规则引擎!

作为一名后端开发&#xff0c;你是否遇到过这样的场景&#xff1a; 运营同学说&#xff1a;"双11活动规则临时调整&#xff0c;满300减60改成满200减50&#xff0c;能马上上线吗&#xff1f;" 产品经理说&#xff1a;"风控策略需要微调一下&#xff0c;这个规则…

作者头像 李华
网站建设 2026/4/8 20:22:07

基于Arduino智能家居环境监测系统

3 系统需求分析 3.1 可行性分析 3.1.1 技术可行性 分析实现基于 Arduino 智能家居环境监测系统所需技术是否成熟、可获取。比如 Arduino 平台开源且资料丰富&#xff0c;有大量现成的函数库可调用&#xff0c;像读取传感器数据、控制执行设备等功能都有成熟实现方式&#xf…

作者头像 李华
网站建设 2026/4/28 19:12:22

失落的乡土:《阿凡达》与《乡土中国》的跨时空深度对话

失落的乡土&#xff1a;《阿凡达》与《乡土中国》的跨时空深度对话 在詹姆斯卡梅隆的《阿凡达》中&#xff0c;潘多拉星球上那片荧光闪烁、万物互联的雨林&#xff0c;常被视作一个纯粹的幻想乌托邦。然而&#xff0c;若将这部科幻巨制与费孝通先生1947年写就的社会学经典《乡…

作者头像 李华
网站建设 2026/4/23 17:12:59

解锁飞行焊接:电芯顶盖封口的高效与精准密码

飞行焊接技术原理剖析 在电芯顶盖封口工艺的不断演进中,飞行焊接技术崭露头角,成为提升生产效率与焊接质量的关键力量。飞行焊接,又称激光飞行焊接(Laser Fly Welding),其核心在于打破了传统逐点焊接的效率瓶颈,实现了 “边移动边焊接” 的创新模式。 传统的焊接方式,…

作者头像 李华
网站建设 2026/4/18 12:24:33

Python+hadoop+spark商品数据分析及预测系统 机器学习 预测算法预测销量

1、项目介绍 技术栈&#xff1a;python语言、Django框架、Echarts可视化、机器学习随机森林预测算法预测销量、爬虫、HTML Python 商品数据分析及预测系统介绍 本 Python 商品数据分析及预测系统&#xff0c;以 Python 语言为开发核心&#xff0c;依托 Django 框架搭建稳定后端…

作者头像 李华