是否需要通过gprc流客户端重新创建新流?

问题描述 投票:0回答:1

[有一个gRPC流服务器和客户端。客户端通过gRPC双向流拨号到服务器。服务器正在kunbeness码头上运行。

一次升级kubeness服务器后,尝试向流服务器发送请求时,客户端始终会收到EOF错误。我发现TCP连接仍然有效。为什么?

我需要通过在go-grpc中调用“ NewStream” API来重新创建新的strean吗?

func (cc *ClientConn) NewStream(ctx context.Context, desc *StreamDesc, method string, opts ...CallOption) (ClientStream, error)

如果在拨打gRPC流服务器时设置了保持活动参数,该流将自动重新连接还是仅重新连接TCP?

go protocol-buffers grpc http2 grpc-go
1个回答
0
投票

如果我在拨打gRPC流服务器时设置了保持活动参数,流会自动重新连接还是仅重新连接TCP连接?

仅是TCP连接。

在io.EOF之后重新启动并不常见,因此您的客户端将需要重新启动流。

您的重试循环可能要在重试和最大重试次数之间添加等待/睡眠退避,以防止繁忙的忙循环。

© www.soinside.com 2019 - 2024. All rights reserved.