有一个gRPC流服务器和客户机。客户端通过gRPC双向流拨号到服务器。服务器运行在一个昆宾女码头上。
在对kubeness服务器进行一次升级之后,当试图向流服务器发送请求时,客户端总是会收到EOF错误。我发现TCP连接是活动的。为什么?
我是否需要在grpc中调用"NewStream“API来重新创建一个新的strean?
func (cc *ClientConn) NewStream(ctx context.Context, desc *StreamDesc, method string, opts ...CallOption) (ClientStream, error)如果我在拨号到gRPC流服务器时设置了“保持活动”的参数,那么该流将被自动重新连接还是只重新连接TCP连接?
发布于 2019-10-11 12:01:46
如果我在拨号到gRPC流服务器时设置了“保持活动”的参数,那么该流是否会被自动重新连接,或者仅仅是gRPC连接?
只有TCP连接。
在io.EOF之后重新启动并不少见,因此客户端需要重新启动流。
您的retry循环可能希望在重试之间添加等待/休眠退避&最大重试尝试防止失控的繁忙循环。
https://stackoverflow.com/questions/58339616
复制相似问题