grpc断路器之hystrix
Posted java微服务技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了grpc断路器之hystrix相关的知识,希望对你有一定的参考价值。
上一章介绍了grpc断路器sentinel,
grpc断路器之sentinel
但是由于公司线上系统用的告警与监控组件是prometheus,而sentinel暂时还没有集成prometheus,所以这里就在部分线上系统还是用hystrix
步骤
1、pom依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
2、启动类或者配置类中增加@EnableHystrix
3、增加hystrixCommend注解
@PostMapping("/grpc")
@HystrixCommand(fallbackMethod = "fallbackMethod")
public BaseResponse doGrpc(@RequestBody ReRequest rr){
......
.......
}
public BaseResponse fallbackMethod(@RequestBody ReRequest rr){
......
.......
}
4、yml中增加相关配置
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超时时间大。
以上是关于grpc断路器之hystrix的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloud学习系列之三----- 断路器Hystrix和断路器监控Dashboar
springcloud费话之断路器(hystrix in feign)