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(断路器)

SpringCloud学习系列之三----- 断路器Hystrix和断路器监控Dashboar

springcloud费话之断路器(hystrix in feign)

SpringCloud之断路器监控(Hystrix Dashboard)

SpringCloud之Hystrix环境搭建

springcloud之Hystrix