重新连接grpc客户端
Reconnect grpc client
我有一些 pods 运行 一些服务(例如身份验证服务)。它通过 grpc 向客户端服务发送请求。客户端服务重启后,pod的IP地址发生变化。然后身份验证服务接收该服务的新 IP 客户端。但是,没有重新连接。我怎样才能重新连接?
我建议您阅读 Kubernetes 基础知识以熟悉一些核心对象,这确实有助于了解概况。
关于你的问题,我会阅读有关服务的信息:https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-intro/
您可能想要使用服务。
如@colm.anseo所述,kubernetes 服务旨在跟踪 pods 不断变化的 IP。因此,在寻址服务时使用 DNS 名称而不是 IP 地址。当 DNS 更新时,gRPC 将自动重新连接到新地址,并且 DNS 会定期刷新(出现连接错误;最多每 30 秒一次,如果当前没有连接地址,则使用指数退避)。每次重新连接尝试都意味着解析 DNS 地址,尽管由于旧 DNS 条目的 TTL(生存时间),它可能不会立即检测到新地址。有关信息,请参阅 DNS for Services and Pods。
我有一些 pods 运行 一些服务(例如身份验证服务)。它通过 grpc 向客户端服务发送请求。客户端服务重启后,pod的IP地址发生变化。然后身份验证服务接收该服务的新 IP 客户端。但是,没有重新连接。我怎样才能重新连接?
我建议您阅读 Kubernetes 基础知识以熟悉一些核心对象,这确实有助于了解概况。
关于你的问题,我会阅读有关服务的信息:https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-intro/
您可能想要使用服务。
如@colm.anseo所述,kubernetes 服务旨在跟踪 pods 不断变化的 IP。因此,在寻址服务时使用 DNS 名称而不是 IP 地址。当 DNS 更新时,gRPC 将自动重新连接到新地址,并且 DNS 会定期刷新(出现连接错误;最多每 30 秒一次,如果当前没有连接地址,则使用指数退避)。每次重新连接尝试都意味着解析 DNS 地址,尽管由于旧 DNS 条目的 TTL(生存时间),它可能不会立即检测到新地址。有关信息,请参阅 DNS for Services and Pods。