预期行为
我有一个有3个节点的k8s集群,我在其中部署了grpc服务器和grpc客户端,它们每隔一段时间就会断开,而grpc服务器端可以检测到链接断开,但grpc客户端没有立即感觉到链接断断,因为我将keepAliveTime设置为6分钟,它总是等到6分钟才检测到连接错误,我在客户端,遇到OnError时有一种重新连接的机制,但现在的问题是客户端不会立即察觉到连接断开,并且中间有一段很长的keepAliveTime真空期我希望,这个问题有一个很好的解决方案,我知道我可以再次使用健康检查来解决这个问题。我知道k8s中的pod会漂移,是因为这个问题吗?
实际行为
它会定期断开连接,客户端不会注意到
grpc客户端:
grpc服务器:
复制步骤
k8s中的版本为1.23,在内部部署grpc服务器和grpc客户端,将keepAliveTime设置为6分钟
JVM版本(例如java -version
)
京东17
操作系统版本(例如uname -a
)
在k8simage是ubuntun
我想我可以增加定期健康检查以缩短链接断开时间,但我想找到一种更优雅的方法