You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.0 KiB
Markdown
69 lines
2.0 KiB
Markdown
3 years ago
|
# 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
|
||
|
|