上一章介绍了grpc断路器sentinel,
但是由于公司线上系统用的告警与监控组件是prometheus,而sentinel暂时还没有集成prometheus,所以这里就在部分线上系统还是用hystrix
<dependency>
<groupid>org.springframework.cloud</groupid>
<artifactid>spring-cloud-starter-netflix-hystrix</artifactid>
</dependency>
@PostMapping("/grpc")
@HystrixCommand(fallbackMethod = "fallbackMethod")
public BaseResponse doGrpc(@RequestBody ReRequest rr){
......
.......
}
public BaseResponse fallbackMethod(@RequestBody ReRequest rr){
......
.......
}
feign:
hystrix:
enabled: true
okhttp:
enabled: true
httpclient:
enabled: false
compression:
request:
enabled: true
response:
enabled: true
hystrix:
command:
default:
execution:
timeout:
enabled: true
isolation:
thread:
timeoutInMilliseconds: 1000
circuitBreaker:
requestVolumeThreshold: 50
threadpool:
default:
coreSize: 60
maxQueueSize: 200
queueSizeRejectionThreshold: 200
需要注意的是grpc也会有超时时间,这里断路器设置超时时间应该比grpc超时时间大。