【发布时间】:2019-06-24 08:40:20
【问题描述】:
是否可以从通道中获取实际连接的端点? 我使用 nameResolverFactory 为我的频道获取多个可能的端点。建立连接后,我想知道使用哪个端点。
【问题讨论】:
是否可以从通道中获取实际连接的端点? 我使用 nameResolverFactory 为我的频道获取多个可能的端点。建立连接后,我想知道使用哪个端点。
【问题讨论】:
Channel 不提供在发出 RPC 之前知道正在使用哪个端点的方法。每个 RPC 可能使用不同的连接(例如,使用循环负载均衡器),因此对于 Channel 来说这不是一个有意义的问题。
但是,如果您执行 RPC,在收到响应标头后,您可以调用(例如,来自拦截器)clientCall.getAttributes(),然后获取Grpc.TRANSPORT_REMOTE_ADDR。这将返回特定 RPC 使用的端点地址。
【讨论】: