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

我正在尝试使用haproxy负载均衡器和基于TCP的负载均衡,将rpc调用从单个node.js客户端负载平衡到多个node.js后端。 我在创buildgrpc客户端时提供了这个负载平衡器的dns-name:port,根据https://github.com/grpc/grpc/blob/master/doc/load-balancing.md ,应该将其视为负载平衡器地址和一个子通道应该打开每个lb的后端服务器。 但是我可以看到,打开的唯一通道是负载平衡器,所有的rpc只发送到一台服务器,直到tcp idle connection-timeout命中,并且新的服务器build立一个新的tcp连接。

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

我后来才明白,为了确定负载均衡是否是负载均衡策略,需要一个额外的布尔值来指示它是否是lb地址。 因此,我需要为我的负载均衡器地址设置SRVlogging,以获得grpc负载平衡策略所需的附加信息,根据此https://github.com/grpc/proposal/blob/master/A5-grpclb- in-dns.md