diff --git a/yudao-framework/yudao-spring-boot-starter-protection/pom.xml b/yudao-framework/yudao-spring-boot-starter-protection/pom.xml index a98614830..012e53f5a 100644 --- a/yudao-framework/yudao-spring-boot-starter-protection/pom.xml +++ b/yudao-framework/yudao-spring-boot-starter-protection/pom.xml @@ -41,8 +41,6 @@ com.alibaba.cloud spring-cloud-starter-alibaba-sentinel - - com.alibaba.csp sentinel-datasource-nacos diff --git a/yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/sentinel/config/SentinelExceptionHandlerAutoConfiguration.java b/yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/sentinel/config/YudaoSentinelAutoConfiguration.java similarity index 79% rename from yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/sentinel/config/SentinelExceptionHandlerAutoConfiguration.java rename to yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/sentinel/config/YudaoSentinelAutoConfiguration.java index dddcb8093..c636a31c3 100644 --- a/yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/sentinel/config/SentinelExceptionHandlerAutoConfiguration.java +++ b/yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/sentinel/config/YudaoSentinelAutoConfiguration.java @@ -6,12 +6,9 @@ import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -/** - * 当Spring容器中不存在MyService类型的bean时,才创建这个bean - */ @AutoConfiguration @Slf4j -public class SentinelExceptionHandlerAutoConfiguration { +public class YudaoSentinelAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/sentinel/core/handler/SentinelExceptionHandler.java b/yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/sentinel/core/handler/SentinelExceptionHandler.java index 6a93c7150..f8f8e3ed6 100644 --- a/yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/sentinel/core/handler/SentinelExceptionHandler.java +++ b/yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/sentinel/core/handler/SentinelExceptionHandler.java @@ -15,13 +15,13 @@ import org.springframework.http.HttpStatus; /** - * Sentinel自定义阻断异常处理 + * Sentinel 自定义阻断异常处理 + * @author koltZhang */ public class SentinelExceptionHandler implements BlockExceptionHandler { @Override public void handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, String s, BlockException e) throws Exception { - String msg = "未知异常"; int status = HttpStatus.TOO_MANY_REQUESTS.value(); if (e instanceof FlowException) { @@ -33,10 +33,9 @@ public class SentinelExceptionHandler implements BlockExceptionHandler { } else if (e instanceof AuthorityException) { msg = "没有权限访问"; status = HttpStatus.UNAUTHORIZED.value(); - }else if (e instanceof SystemBlockException) { + } else if (e instanceof SystemBlockException) { msg = "系统规则限流或降级"; } - ServletUtils.writeJSON(httpServletResponse, CommonResult.error(status, msg)); } diff --git a/yudao-framework/yudao-spring-boot-starter-protection/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/yudao-framework/yudao-spring-boot-starter-protection/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 7a184101a..3cd3b5ff3 100644 --- a/yudao-framework/yudao-spring-boot-starter-protection/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/yudao-framework/yudao-spring-boot-starter-protection/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -2,4 +2,4 @@ cn.iocoder.yudao.framework.idempotent.config.YudaoIdempotentConfiguration cn.iocoder.yudao.framework.lock4j.config.YudaoLock4jConfiguration cn.iocoder.yudao.framework.ratelimiter.config.YudaoRateLimiterConfiguration cn.iocoder.yudao.framework.signature.config.YudaoApiSignatureAutoConfiguration -cn.iocoder.yudao.framework.sentinel.config.SentinelExceptionHandlerAutoConfiguration \ No newline at end of file +cn.iocoder.yudao.framework.sentinel.config.YudaoSentinelAutoConfiguration \ No newline at end of file diff --git a/yudao-gateway/src/main/resources/application-local.yaml b/yudao-gateway/src/main/resources/application-local.yaml index 1b3a92c64..e41a892dd 100644 --- a/yudao-gateway/src/main/resources/application-local.yaml +++ b/yudao-gateway/src/main/resources/application-local.yaml @@ -17,48 +17,8 @@ spring: spring: cloud: sentinel: - enabled: true # 是否开启。默认为 true 开启 - eager: true # 是否饥饿加载。默认为 false 关闭 transport: dashboard: 127.0.0.1:8080 # Sentinel 控制台地址 - filter: - url-patterns: /** # 拦截请求的地址。默认为 /* - #自定义流控降级异常信息 - scg: - fallback: - mode: response - response-body: '{"code": 429, "msg":"服务压力过大,请稍后重试!"}' - # sentinel用nacos作为数据源的配置 (可导入/yudao-cloud/script/sentinel/system-server下对应规则,使用时需去掉注释) - datasource: - # 流控规则 - flow: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - data-id: ${spring.application.name}-gw-flow-rules # 在修改的sentinel 源码中定义的规则名 - rule-type: gw_flow - # 降级规则 - degrade: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - dataId: ${spring.application.name}-degrade-rules - rule-type: degrade - # 系统规则 - system: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - dataId: ${spring.application.name}-system-rules - groupId: DEFAULT_GROUP - data-type: json - rule-type: system # 日志文件配置 logging: diff --git a/yudao-gateway/src/main/resources/application.yaml b/yudao-gateway/src/main/resources/application.yaml index 3a5cfc637..79a185254 100644 --- a/yudao-gateway/src/main/resources/application.yaml +++ b/yudao-gateway/src/main/resources/application.yaml @@ -229,4 +229,49 @@ knife4j: yudao: info: - version: 1.0.0 \ No newline at end of file + version: 1.0.0 + +--- #################### Sentinel相关配置 #################### +spring: + cloud: + sentinel: + enabled: true # 是否开启。默认为 true 开启 + eager: true # 是否饥饿加载。默认为 false 关闭 + filter: + url-patterns: /** # 拦截请求的地址。默认为 /* + #自定义流控降级异常信息 + scg: + fallback: + mode: response + response-body: '{"code": 429, "msg":"服务压力过大,请稍后重试!"}' + # sentinel用nacos作为数据源的配置 (可导入/yudao-cloud/script/sentinel/system-server下对应规则,使用时需去掉注释) + datasource: + # 流控规则 + flow: + nacos: + server-addr: ${spring.cloud.nacos.server-addr} + namespace: ${spring.cloud.nacos.discovery.namespace} + username: ${spring.cloud.nacos.username} + password: ${spring.cloud.nacos.password} + data-id: ${spring.application.name}-gw-flow-rules # 在修改的sentinel 源码中定义的规则名 + rule-type: gw_flow + # 降级规则 + degrade: + nacos: + server-addr: ${spring.cloud.nacos.server-addr} + namespace: ${spring.cloud.nacos.discovery.namespace} + username: ${spring.cloud.nacos.username} + password: ${spring.cloud.nacos.password} + dataId: ${spring.application.name}-degrade-rules + rule-type: degrade + # 系统规则 + system: + nacos: + server-addr: ${spring.cloud.nacos.server-addr} + namespace: ${spring.cloud.nacos.discovery.namespace} + username: ${spring.cloud.nacos.username} + password: ${spring.cloud.nacos.password} + dataId: ${spring.application.name}-system-rules + groupId: DEFAULT_GROUP + data-type: json + rule-type: system \ No newline at end of file diff --git a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/demo/SentinelFeigenDemoApi.java b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/demo/SentinelFeigenDemoApi.java index a8347516e..ccc549033 100644 --- a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/demo/SentinelFeigenDemoApi.java +++ b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/demo/SentinelFeigenDemoApi.java @@ -16,7 +16,6 @@ public interface SentinelFeigenDemoApi { String PREFIX = ApiConstants.PREFIX + "/provider/sentinel"; - @GetMapping(PREFIX +"/test/{message}") public CommonResult providerSentinelTest(@PathVariable("message") String message); diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application-dev.yaml b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application-dev.yaml index c58c4e065..bc4d08405 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application-dev.yaml +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application-dev.yaml @@ -19,61 +19,8 @@ spring: spring: cloud: sentinel: - enabled: true # 是否开启。默认为 true 开启 - eager: true # 是否饥饿加载。默认为 false 关闭 transport: dashboard: 127.0.0.1:8080 # Sentinel 控制台地址 - filter: - url-patterns: /** # 拦截请求的地址。默认为 /* - # sentinel用nacos作为数据源的配置 (可导入/yudao-cloud/script/sentinel/gateway-server下对应规则,使用时需去掉注释) - datasource: - # 流控规则 - flow: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - data-id: ${spring.application.name}-flow-rules # 在修改的sentinel 源码中定义的规则名 - rule-type: flow - # 降级规则 - degrade: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - dataId: ${spring.application.name}-degrade-rules - rule-type: degrade - # 授权规则 -# authority: -# nacos: -# server-addr: ${spring.cloud.nacos.server-addr} -# namespace: ${spring.cloud.nacos.discovery.namespace} -# username: ${spring.cloud.nacos.username} -# password: ${spring.cloud.nacos.password} -# dataId: ${spring.application.name}-authority-rules -# rule-type: authority -# # 热点规则 -# param-flow: -# nacos: -# server-addr: ${spring.cloud.nacos.server-addr} -# namespace: ${spring.cloud.nacos.discovery.namespace} -# username: ${spring.cloud.nacos.username} -# password: ${spring.cloud.nacos.password} -# dataId: ${spring.application.name}-param-flow-rules -# rule-type: param-flow -# # 系统规则 -# system: -# nacos: -# server-addr: ${spring.cloud.nacos.server-addr} -# namespace: ${spring.cloud.nacos.discovery.namespace} -# username: ${spring.cloud.nacos.username} -# password: ${spring.cloud.nacos.password} -# dataId: ${spring.application.name}-system-rules -# groupId: DEFAULT_GROUP -# data-type: json -# rule-type: system --- #################### 数据库相关配置 #################### spring: diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application-local.yaml b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application-local.yaml index 4ad4812cf..01193c5e2 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application-local.yaml +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application-local.yaml @@ -19,61 +19,8 @@ spring: spring: cloud: sentinel: - enabled: true # 是否开启。默认为 true 开启 - eager: true # 是否饥饿加载。默认为 false 关闭 transport: dashboard: 127.0.0.1:8080 # Sentinel 控制台地址 - filter: - url-patterns: /** # 拦截请求的地址。默认为 /* - # sentinel用nacos作为数据源的配置 (可导入/yudao-cloud/script/sentinel/gateway-server下对应规则,使用时需去掉注释) - datasource: - # 流控规则 - flow: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - data-id: ${spring.application.name}-flow-rules # 在修改的sentinel 源码中定义的规则名 - rule-type: flow - # 降级规则 - degrade: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - dataId: ${spring.application.name}-degrade-rules - rule-type: degrade - # 授权规则 -# authority: -# nacos: -# server-addr: ${spring.cloud.nacos.server-addr} -# namespace: ${spring.cloud.nacos.discovery.namespace} -# username: ${spring.cloud.nacos.username} -# password: ${spring.cloud.nacos.password} -# dataId: ${spring.application.name}-authority-rules -# rule-type: authority -# # 热点规则 -# param-flow: -# nacos: -# server-addr: ${spring.cloud.nacos.server-addr} -# namespace: ${spring.cloud.nacos.discovery.namespace} -# username: ${spring.cloud.nacos.username} -# password: ${spring.cloud.nacos.password} -# dataId: ${spring.application.name}-param-flow-rules -# rule-type: param-flow -# # 系统规则 -# system: -# nacos: -# server-addr: ${spring.cloud.nacos.server-addr} -# namespace: ${spring.cloud.nacos.discovery.namespace} -# username: ${spring.cloud.nacos.username} -# password: ${spring.cloud.nacos.password} -# dataId: ${spring.application.name}-system-rules -# groupId: DEFAULT_GROUP -# data-type: json -# rule-type: system --- #################### 数据库相关配置 #################### spring: diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application.yaml b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application.yaml index d466250aa..d2ef81f54 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application.yaml +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application.yaml @@ -91,6 +91,11 @@ easy-trans: --- #################### RPC 远程调用相关配置 #################### +# 开启 feign 对 sentinel 的支持 +feign: + sentinel: + enabled: true + --- #################### 消息队列相关 #################### # rocketmq 配置项,对应 RocketMQProperties 配置类 @@ -180,8 +185,60 @@ yudao: debug: false ---- #################### 开启feign对sentinel的支持 #################### - -feign: - sentinel: - enabled: true \ No newline at end of file +--- #################### Sentinel相关配置 #################### +spring: + cloud: + sentinel: + enabled: true # 是否开启。默认为 true 开启 + eager: true # 是否饥饿加载。默认为 false 关闭 + filter: + url-patterns: /** # 拦截请求的地址。默认为 /* + # sentinel用nacos作为数据源的配置 (可导入/yudao-cloud/script/sentinel/gateway-server下对应规则,使用时需去掉注释) + datasource: + # 流控规则 + flow: + nacos: + server-addr: ${spring.cloud.nacos.server-addr} + namespace: ${spring.cloud.nacos.discovery.namespace} + username: ${spring.cloud.nacos.username} + password: ${spring.cloud.nacos.password} + data-id: ${spring.application.name}-flow-rules # 在修改的sentinel 源码中定义的规则名 + rule-type: flow + # 降级规则 + degrade: + nacos: + server-addr: ${spring.cloud.nacos.server-addr} + namespace: ${spring.cloud.nacos.discovery.namespace} + username: ${spring.cloud.nacos.username} + password: ${spring.cloud.nacos.password} + dataId: ${spring.application.name}-degrade-rules + rule-type: degrade + # 授权规则 +# authority: +# nacos: +# server-addr: ${spring.cloud.nacos.server-addr} +# namespace: ${spring.cloud.nacos.discovery.namespace} +# username: ${spring.cloud.nacos.username} +# password: ${spring.cloud.nacos.password} +# dataId: ${spring.application.name}-authority-rules +# rule-type: authority +# # 热点规则 +# param-flow: +# nacos: +# server-addr: ${spring.cloud.nacos.server-addr} +# namespace: ${spring.cloud.nacos.discovery.namespace} +# username: ${spring.cloud.nacos.username} +# password: ${spring.cloud.nacos.password} +# dataId: ${spring.application.name}-param-flow-rules +# rule-type: param-flow +# # 系统规则 +# system: +# nacos: +# server-addr: ${spring.cloud.nacos.server-addr} +# namespace: ${spring.cloud.nacos.discovery.namespace} +# username: ${spring.cloud.nacos.username} +# password: ${spring.cloud.nacos.password} +# dataId: ${spring.application.name}-system-rules +# groupId: DEFAULT_GROUP +# data-type: json +# rule-type: system \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-dev.yaml b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-dev.yaml index 1b22e4a8b..01beb64ba 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-dev.yaml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-dev.yaml @@ -20,61 +20,8 @@ spring: spring: cloud: sentinel: - enabled: true # 是否开启。默认为 true 开启 - eager: true # 是否饥饿加载。默认为 false 关闭 transport: dashboard: 127.0.0.1:8080 # Sentinel 控制台地址 - filter: - url-patterns: /** # 拦截请求的地址。默认为 /* - # sentinel用nacos作为数据源的配置 (可导入/yudao-cloud/script/sentinel/system-server下对应规则,使用时需去掉注释) - datasource: - # 流控规则 - flow: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - data-id: ${spring.application.name}-flow-rules # 在修改的sentinel 源码中定义的规则名 - rule-type: flow - # 授权规则 - authority: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - dataId: ${spring.application.name}-authority-rules - rule-type: authority - # 降级规则 - degrade: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - dataId: ${spring.application.name}-degrade-rules - rule-type: degrade - # 热点规则 - param-flow: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - dataId: ${spring.application.name}-param-flow-rules - rule-type: param-flow - # 系统规则 - system: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - dataId: ${spring.application.name}-system-rules - groupId: DEFAULT_GROUP - data-type: json - rule-type: system --- #################### 数据库相关配置 #################### spring: diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-local.yaml b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-local.yaml index 770275b25..b51933884 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-local.yaml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-local.yaml @@ -20,61 +20,8 @@ spring: spring: cloud: sentinel: - enabled: true # 是否开启。默认为 true 开启 - eager: true # 是否饥饿加载。默认为 false 关闭 transport: dashboard: 127.0.0.1:8080 # Sentinel 控制台地址 - filter: - url-patterns: /** # 拦截请求的地址。默认为 /* - # sentinel用nacos作为数据源的配置 (可导入/yudao-cloud/script/sentinel/system-server下对应规则,使用时需去掉注释) - datasource: - # 流控规则 - flow: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - data-id: ${spring.application.name}-flow-rules # 在修改的sentinel 源码中定义的规则名 - rule-type: flow - # 授权规则 - authority: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - dataId: ${spring.application.name}-authority-rules - rule-type: authority - # 降级规则 - degrade: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - dataId: ${spring.application.name}-degrade-rules - rule-type: degrade - # 热点规则 - param-flow: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - dataId: ${spring.application.name}-param-flow-rules - rule-type: param-flow - # 系统规则 - system: - nacos: - server-addr: ${spring.cloud.nacos.server-addr} - namespace: ${spring.cloud.nacos.discovery.namespace} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} - dataId: ${spring.application.name}-system-rules - groupId: DEFAULT_GROUP - data-type: json - rule-type: system --- #################### 数据库相关配置 #################### spring: diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/application.yaml b/yudao-module-system/yudao-module-system-biz/src/main/resources/application.yaml index 54ec8d2da..b313ac861 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/application.yaml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/application.yaml @@ -91,6 +91,11 @@ easy-trans: --- #################### RPC 远程调用相关配置 #################### +# 开启 feign 对 sentinel 的支持 +feign: + sentinel: + enabled: true + --- #################### 消息队列相关 #################### # rocketmq 配置项,对应 RocketMQProperties 配置类 @@ -207,8 +212,61 @@ yudao: debug: false ---- #################### 开启feign对sentinel的支持 #################### +--- #################### Sentinel相关配置 #################### -feign: - sentinel: - enabled: true \ No newline at end of file +spring: + cloud: + sentinel: + enabled: true # 是否开启。默认为 true 开启 + eager: true # 是否饥饿加载。默认为 false 关闭 + filter: + url-patterns: /** # 拦截请求的地址。默认为 /* + # sentinel用nacos作为数据源的配置 (可导入/yudao-cloud/script/sentinel/system-server下对应规则,使用时需去掉注释) + datasource: + # 流控规则 + flow: + nacos: + server-addr: ${spring.cloud.nacos.server-addr} + namespace: ${spring.cloud.nacos.discovery.namespace} + username: ${spring.cloud.nacos.username} + password: ${spring.cloud.nacos.password} + data-id: ${spring.application.name}-flow-rules # 在修改的sentinel 源码中定义的规则名 + rule-type: flow + # 授权规则 + authority: + nacos: + server-addr: ${spring.cloud.nacos.server-addr} + namespace: ${spring.cloud.nacos.discovery.namespace} + username: ${spring.cloud.nacos.username} + password: ${spring.cloud.nacos.password} + dataId: ${spring.application.name}-authority-rules + rule-type: authority + # 降级规则 + degrade: + nacos: + server-addr: ${spring.cloud.nacos.server-addr} + namespace: ${spring.cloud.nacos.discovery.namespace} + username: ${spring.cloud.nacos.username} + password: ${spring.cloud.nacos.password} + dataId: ${spring.application.name}-degrade-rules + rule-type: degrade + # 热点规则 + param-flow: + nacos: + server-addr: ${spring.cloud.nacos.server-addr} + namespace: ${spring.cloud.nacos.discovery.namespace} + username: ${spring.cloud.nacos.username} + password: ${spring.cloud.nacos.password} + dataId: ${spring.application.name}-param-flow-rules + rule-type: param-flow + # 系统规则 + system: + nacos: + server-addr: ${spring.cloud.nacos.server-addr} + namespace: ${spring.cloud.nacos.discovery.namespace} + username: ${spring.cloud.nacos.username} + password: ${spring.cloud.nacos.password} + dataId: ${spring.application.name}-system-rules + groupId: DEFAULT_GROUP + data-type: json + rule-type: system \ No newline at end of file