工人之间如何共享螺栓和喷口?

Posted

技术标签:

【中文标题】工人之间如何共享螺栓和喷口?【英文标题】:How bolts and spouts are shared among workers? 【发布时间】:2013-12-01 14:29:02 【问题描述】:

假设我在 Storm 集群中有 2 个 spout 和 3 个 bolt,并且有两个工作节点。这些喷口和螺栓将在这些工人之间共享(例如,第一个工人有 1 个喷口和 2 个螺栓,第二个工人有 1 个喷口和 1 个螺栓)或每个工人有 2 个喷口和 3 个螺栓,最终有 4 个喷口和 6 个螺栓整个集群?

【问题讨论】:

【参考方案1】:

Spout 和 Bolt 由您的所有集群(因此工作人员)共享。

如果您有 2 个喷口和 3 个螺栓供 2 个工人使用,它们将在您的 2 个工人之间保持平衡。 您可以使用 ui (./nimbus ui) 将其可视化:)。

【讨论】:

【参考方案2】:

在 Storm 中,主管有多个工作(进程)插槽。默认情况下,Storm 甚至使用调度程序在可用的 #worker_slots 上调度 #executors(执行 spouts/bolt 逻辑的线程)。您可以找到不同调度程序实现的代码here。

【讨论】:

以上是关于工人之间如何共享螺栓和喷口?的主要内容,如果未能解决你的问题,请参考以下文章

在 gunicorn 工人之间共享一把锁

Ray 究竟是如何与工人共享数据的?

在 Storm 中通过一系列螺栓进行 ACK 的正确方法

如何在heroku上的两个不同应用程序之间共享worker?

在所有 celery worker 之间共享一个到 mongo db 的连接

多线程