gRPC Java 客户端:获取连接的端点
gRPC Java Client: get connected endpoint
是否可以从通道获取实际连接的端点?
我使用 nameResolverFactory 为我的频道获取多个可能的端点。建立连接后,我想知道与哪个端点。
通道不提供在发出 RPC 之前知道正在使用哪个端点的方法。每个 RPC 可能使用不同的连接(例如,使用循环负载均衡器),因此这对 Channel 来说不是一个有意义的问题。
但是如果您执行 RPC,在收到响应后 headers 您可以调用(例如,从拦截器)clientCall.getAttributes()
and then get Grpc.TRANSPORT_REMOTE_ADDR
。 returns 特定 RPC 使用的端点地址。
是否可以从通道获取实际连接的端点? 我使用 nameResolverFactory 为我的频道获取多个可能的端点。建立连接后,我想知道与哪个端点。
通道不提供在发出 RPC 之前知道正在使用哪个端点的方法。每个 RPC 可能使用不同的连接(例如,使用循环负载均衡器),因此这对 Channel 来说不是一个有意义的问题。
但是如果您执行 RPC,在收到响应后 headers 您可以调用(例如,从拦截器)clientCall.getAttributes()
and then get Grpc.TRANSPORT_REMOTE_ADDR
。 returns 特定 RPC 使用的端点地址。