Giraph消息发送结构刨析

来源:互联网 发布:网络赚钱项目 编辑:程序博客网 时间:2024/04/27 19:11
每个ComputeCallellable线程对应一个NettyWorkerClientRequestProcessor, 
每个NettyWorkerClientRequestProcessor对应一个SendMessageCache,
每个SendMessageCache内部待发送的消息按照worker进行区分,到同一个worker的消息超过阈值就开始发送,


即1个ComputeCallellable<->1个NettyWorkerClientRequestProcessor<->1个SendMessageCache<->多个按照worker区分的消息


这样做的好处是每个分区的消息是并行发送,且互补干扰,坏处是消息无法合并优化。



但是在最后的实际发送对象是NettyWorkerClient,

这个每个BspServiceWorker都只有一个,所有的NettyWorkerClientRequestProcessor公用这一个发送器。

原创粉丝点击