上一章介绍了grpc断路器sentinel,spring
可是因为公司线上系统用的告警与监控组件是prometheus,而sentinel暂时尚未集成prometheus,因此这里就在部分线上系统仍是用hystrixui
<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超时时间大。.net