Merge pull request #2404 from DanielLiu1123/upgrade_sentinel_1.8.3

Upgrade Sentinel to 1.8.3.
pull/2406/head
Freeman Lau 3 years ago committed by GitHub
commit 6475b62664
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -19,7 +19,7 @@
<properties>
<revision>2022.0-SNAPSHOT</revision>
<sentinel.version>1.8.1</sentinel.version>
<sentinel.version>1.8.3</sentinel.version>
<seata.version>1.3.0</seata.version>
<nacos.client.version>1.4.3</nacos.client.version>
<nacos.config.version>0.8.0</nacos.config.version>

@ -18,10 +18,6 @@
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>

@ -56,8 +56,8 @@ feign:
再访问 http://localhost/test/default/true 断路器处于打开状态
验证指定 feign client 生效
先访问 http://localhost/test/feign/true 2 次
再访问 http://localhost/test/feign/false 断路器处于打开状态
先访问 http://localhost/test/feign/false 2 次
再访问 http://localhost/test/feign/true 断路器处于打开状态
验证 feign client 指定方法生效
先访问 http://localhost/test/feignMethod/false 2次

@ -0,0 +1,68 @@
# Sentinel Feign Circuit Breaker Example
## Project description
OpenFeign integrates Sentinel circuit breaker implementation
## sample
1. add dependency
```xml
<!-- requires spring cloud 2020.0.4 and above -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
```
2. add configuration to config center
```yaml
feign:
circuitbreaker:
enabled: true # Enable feign circuit breaker support
sentinel:
default-rule: default # Default rule name
rules:
# Default rule, valid for all feign clients
default:
- grade: 2 # Downgrade based on number of exceptions
count: 1
timeWindow: 15 # Time to half-open state after downgrade
statIntervalMs: 1000
minRequestAmount: 1
# Only valid for feign client user
user:
- grade: 2
count: 1
timeWindow: 15
statIntervalMs: 1000
minRequestAmount: 1
# Only valid for the method feignMethod of the feign client user
# Parentheses are parameter types, separated by multiple commas, such as user#method(boolean,String,Map)
"[user#feignMethod(boolean)]":
- grade: 2
count: 1
timeWindow: 10
statIntervalMs: 1000
minRequestAmount: 1
```
## Verify
Startup project
Verify that the default feign client takes effect.
First visit http:localhost/test/default/false 2 times
and then visit http:localhost/test/default/true, the circuit breaker is open
Verify that the specified feign client takes effect.
First visit http:localhost/test/feign/false 2 times
and then visit http:localhost/test/feign/true, the circuit breaker is open
Verify that the specified method of feign client takes effect.
First visit http://localhost/test/feignMethod/false 2 times
and then visit http://localhost/test/feignMethod/true, the circuit breaker is open
## Rules are dynamically refreshed
Modify the rules of the configuration center, and then access the above interface

@ -7,5 +7,5 @@ spring:
nacos:
config:
server-addr: 127.0.0.1:8848
name: sentinel-circuitbreaker-rules.yml
file-extension: yml
config:
import: optional:nacos:sentinel-circuitbreaker-rules.yml
Loading…
Cancel
Save