【发布时间】:2020-02-27 22:14:35
【问题描述】:
在REST 服务中添加带有hystrix 的断路器,我可以执行以下操作:
@HystrixCommand(fallbackMethod = "getBackupResult")
@GetMapping(value = "/result")
public ResponseEntity<ResultDto> getResult(@RequestParam("request") String someRequest) {
ResultDto resultDto = service.parserRequest(someRequest);
return new ResponseEntity<>(resultDto, HttpStatus.OK);
}
public ResponseEntity<ResultDto> getBackupResult(@RequestParam("request") String someRequest) {
ResultDto resultDto = new ResultDto();
return new ResponseEntity<>(resultDto, HttpStatus.OK);
}
我可以为gRPC 通话做些类似的事情吗?
public void parseRequest(ParseRequest request, StreamObserver<ParseResponse> responseObserver) {
try {
ParseResponse parseResponse = service.parseRequest(request.getSomeRequest());
responseObserver.onNext(parseResponse);
responseObserver.onCompleted();
} catch (Exception e) {
logger.error("Failed to execute parse request.", e);
responseObserver.onError(new StatusException(Status.INTERNAL));
}
}
【问题讨论】:
标签: grpc grpc-java circuit-breaker