gRPC 和 Kubernetes 连接是否只拨号到一个副本?
Does a gRPC and Kubernetes connection only dial to one replica?
我一直在用 Go 学习 gRPC 和 Kubernetes。在我的 golang 代码中,我的 API 网关在 main 开始之前在 init() 函数中调用我的微服务。我的问题是,如果我有多个微服务副本,并且我的 API 网关与微服务建立一次性连接,它会保持与负载均衡器发送该流量的第一个 pod/replica 的连接吗到?如果不是,负载均衡器如何保持该拨号连接处于活动状态?谢谢
如果您在 gRPC-Go 中使用负载均衡器,负载均衡器会告诉 gRPC 它应该保持连接到哪些后端,以及对于每个请求,使用哪个后端。例如,RoundRobin balancer 将尝试与解析器返回的每个后端保持连接,并循环遍历所有已成功连接的后端。
如果您想了解更多信息,This doc 涵盖了 gRPC 中负载平衡的高级基础知识。
我一直在用 Go 学习 gRPC 和 Kubernetes。在我的 golang 代码中,我的 API 网关在 main 开始之前在 init() 函数中调用我的微服务。我的问题是,如果我有多个微服务副本,并且我的 API 网关与微服务建立一次性连接,它会保持与负载均衡器发送该流量的第一个 pod/replica 的连接吗到?如果不是,负载均衡器如何保持该拨号连接处于活动状态?谢谢
如果您在 gRPC-Go 中使用负载均衡器,负载均衡器会告诉 gRPC 它应该保持连接到哪些后端,以及对于每个请求,使用哪个后端。例如,RoundRobin balancer 将尝试与解析器返回的每个后端保持连接,并循环遍历所有已成功连接的后端。
如果您想了解更多信息,This doc 涵盖了 gRPC 中负载平衡的高级基础知识。