Sentinel 使用 Nacos 配置规则

Sentinel 使用 Nacos 作为配置中心进行规则持久化,可以实现在 Sentinel 控制台之外统一管理和动态推送流控、降级等规则到各个微服务实例中。以下是将 Sentinel 配置规则存储在 Nacos 中的步骤:

步骤概览

  1. 添加依赖

    • 在你的 Spring Cloud 应用中引入 spring-cloud-starter-alibaba-sentinelnacos-config-spring-boot-starter(或 spring-cloud-starter-alibaba-nacos-discovery,如果已包含则无需重复添加)依赖。
  2. Nacos 中添加规则配置

    • 登录 Nacos 控制台,在配置管理页面新建一个配置。
    • 设置 Data ID,通常格式为 ${spring.application.name}-sentinel 或者直接指定资源名,例如:your-service-name-sentinel-rules
    • 设置 Group 为默认分组 DEFAULT_GROUP 或自定义分组。
    • 编写内容,按照 Sentinel 的数据源规范编写流控规则、降级规则等 JSON 格式的配置内容。
  3. 服务端配置 Sentinel 数据源

    • 在应用的 YAML 配置文件(如 application.yml 或 application.properties)中配置 Sentinel 从 Nacos 获取规则:
      spring:
        cloud:
          sentinel:
            datasource:
              flow:
                nacos:
                  server-addr: localhost:8848 # Nacos 地址
                  data-id: ${spring.application.name}-sentinel-flow-rules # 流控规则Data ID
                  group-id: DEFAULT_GROUP # 分组
              degrade:
                nacos:
                  server-addr: localhost:8848 # 同上,也可以共享同一个 server-addr 配置
                  data-id: ${spring.application.name}-sentinel-degrade-rules # 降级规则Data ID
                  group-id: DEFAULT_GROUP
      
  4. 启动服务并验证

    • 启动带有 Sentinel 和 Nacos 集成的应用服务。
    • 在 Nacos 中修改和保存相应的 Sentinel 规则配置。
    • 应用服务会自动监听 Nacos 上的规则变化,并实时同步到本地生效。

这样设置后,Sentinel 就能够从 Nacos 中获取并应用流控、降级等规则,实现规则的集中管理和持久化。当服务重启时,规则依然可以从 Nacos 中加载,避免了规则丢失的问题。同时,通过控制台或者其他方式编辑的规则也能及时推送到 Nacos 中,确保所有服务实例都能遵循最新的规则。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值