Storm集群工作时,内部通信机制如下图所示:

(1)接收线程从网络上接收消息放到接收缓冲区,并发送到接收队列。
(2)工作线程从接收队列拿到消息并处理,并将处理结果放到发送队列。
(3)发送线程将发送队列中的消息放到发送缓冲区。
(4)各个缓冲区的控制参数和默认大小:
- 接收缓冲区:topology.receiver.buffer.size = 8K;
- 接收队列:topology.executor.receiver.buffer.size = 1024K;
- 发送队列:topology.executor.send.buffer.size = 1024K;
- 发送缓冲区:topology.transfer.buffer.size = 1024K;
网友评论