首页 文章

gRPC客户端即使使用负载均衡器地址也不使用grpc-lb

提问于
浏览
2

我正在尝试使用带有基于TCP的负载 balancer 的haproxy负载均衡器从单个node.js客户端对多个node.js后端进行rpc调用 . 我在创建grpc客户端时提供此负载均衡器的dns-name:port,根据https://github.com/grpc/grpc/blob/master/doc/load-balancing.md,应将其视为负载均衡器地址,并且应使用每个lb的后端服务器打开子通道 . 但我可以看到打开的唯一通道是负载均衡器,所有rpc仅发送到单个服务器,直到tcp空闲连接超时命中并且新服务器设置了新的tcp连接 .

只是想问一下grpc如何检测客户端是否与负载均衡器或服务器连接?有没有办法告诉客户端它连接的地址是负载均衡器地址,因此它应该使用grpc-lb策略而不是先选择?

1 回答

  • 0

    我后来才知道,对于负载 balancer 策略来确定所提供的地址是否是负载均衡器,它需要一个额外的布尔值来指示它是否是lb-address . 所以我需要为我的负载均衡器地址设置SRV记录,以获得grpc负载均衡策略所需的额外信息,根据https://github.com/grpc/proposal/blob/master/A5-grpclb-in-dns.md

相关问题