最近有个同学问了我一个非常有意思的问题, 今天我根据这个问题来给大家好好分析一下。
前提知识
我们都知道, 每个Broker都可以配置多个监听器, 用来用于网络分流。...问题图述
那么问题来了, 既然一台Broker能够配置多个Listener, 也就意味着有多个地址, 那么客户端在跟具体的Broker发起请求的话, 应该选择哪一个Listener?是遍历吗?...我们重点看一下, 获取元信息返回之后,是如何解析Broker集群列表的,确定一下是不是把集群所有的 EndPoint都获取了,还是只获取了一部分。...注意:这里发出去的请求是 UPDATE_METADATA
所以, 从客户端发出UPDATE_METADATA请求之后, 服务端是如何处理的呢?...当对应的Processor监听到请求过来的时候,会将请求解析一下并组装成Request,然后入队
Processor#processCompletedReceives
我们可以看到, 在组装Request