现在从github下载jar包什么的都很慢,而且现在很多地方下载需要积分或者不是最新的,于是自己编译了源码,打成jar包,经历过此痛的鄙人免费分享出来。下载地址: https://pan.baidu.com/s/1g1TD9SozFBomT91OBDLkCg
提取码:jzx0 (包不是最新的,代码有更新,直接拉代码打包最好)
在这里插入图片描述
第二个文件,直接基于sentinel-dashboard 源码编译打包(1.8.0,目前最新)。
第一个文件,基于 sentinel-dashboard 源码改造,将流控规则等持久化至Nacos,代码地址:https://gitee.com/francisoyc/sentinel-dashboard.git
主要修改部分如下:
在这里插入图片描述
这个是参考其源码 /src/test/ 目录中单测改造,如下:
在这里插入图片描述
每种规则都可基于此单测示例稍微改造,定义自己的 Provider 和 Publisher,然后改造对应的Controller,如下:
在这里插入图片描述
截图不完整,具体可以拉代码后,参考对应Controller,类中注释部分即为改造部分。如果想要直接使用此包,需要配置启动参数: nacos.server-addr=localhost:8848,即nacos服务地址,配置将持久化至此nacos。

在 sentinel 接入方(以nacos-service-provider为例),只需增加如下配置:

spring:
  application:
    name: nacos-service-provider
  cloud:
    sentinel:
      transport:
        dashboard: localhost:8080
        client-ip: 192.168.3.4
      datasource:
        flow:
          nacos:
            server-addr: localhost:8848
            dataId: ${spring.application.name}-flow-rules
            groupId: SENTINEL_GROUP
            rule-type: flow
        degrade:
          nacos:
            server-addr: localhost:8848
            dataId: ${spring.application.name}-degrade-rules
            groupId: SENTINEL_GROUP
            rule-type: degrade
        system:
          nacos:
            server-addr: localhost:8848
            dataId: ${spring.application.name}-system-rules
            groupId: SENTINEL_GROUP
            rule-type: system
        authority:
          nacos:
            server-addr: localhost:8848
            dataId: ${spring.application.name}-authority-rules
            groupId: SENTINEL_GROUP
            rule-type: authority
        param-flow:
          nacos:
            server-addr: localhost:8848
            dataId: ${spring.application.name}-param-flow-rules
            groupId: SENTINEL_GROUP
            rule-type: param-flow
        gw-flow:
          nacos:
            server-addr: localhost:8848
            dataId: ${spring.application.name}-gw-rules
            groupId: SENTINEL_GROUP
            rule-type: gw-flow
        gw-api-group:
          nacos:
            server-addr: localhost:8848
            dataId: ${spring.application.name}-gw-api-rules
            groupId: SENTINEL_GROUP
            rule-type: gw-api-group

这段配置,除了ip相关需要改动,其他不能改动,都是源码中定义好的,当然 spring.application.name 是可以变的,因为是动态取值,nacos中持久化的配置如下:
在这里插入图片描述
至此,sentinel 重启后原来的配置依旧存在。。。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐