使用grpc-java时,是否有推荐的方法来支持故障转移?
例如,您连接到一台服务器,然后停机。你从中恢复的建议方法是什么?
我见过实验LoadBalancer
课程。它是否打算解决问题?还有各种拦截器类,但我不知道如何使用它们来对连接错误做出反应。
我们正在使用grpc-spring-boot-starter,但我也没有看到故障转移支持。
我想避免的是处理业务类中的所有重新连接。例如,通过捕获异常并建立与下一个可用服务器的连接。如果可能,应该透明地处理。
答案 0 :(得分:0)
这不是官方的依赖
https://github.com/yidongnan/grpc-spring-boot-starter
在客户端
@GrpcClient("gRPC server name")
private Channel serverChannel;
GreeterGrpc.GreeterBlockingStub stub = GreeterGrpc.newBlockingStub(serverChannel);
HelloReply response = stub.sayHello(HelloRequest.newBuilder().setName(name).build());
客户端请求将使用负载平衡。