在grpc-java中处理网络错误

问题描述:

如何实现一个策略来检测并尝试使用gRPC-java从网络错误中恢复?我知道UNAVAILABLE状态可能意味着网络错误,但这并不能告诉我它是哪种网络错误 - 并且还可以从服务器发回UNAVAILABLE。在grpc-java中处理网络错误

在Java RMI中,我们被告诫要注意网络问题,我们可以区分例如一个ConnectionException,它是一个连接拒绝错误。我们如何用gRPC做到这一点?

您可以从状态的原因和说明中了解有关错误的更多详细信息。例如:如果它是来自客户端的连接错误,则原因可能是IO/SocketException;如果它是从服务器发送的GO_AWAY,则描述将包含HTTP/2错误代码。