风暴 - 动态增加执行程序



在我看来,风暴有一些限制。

你能让我知道以下几点是有效和真实的吗?

  1. 工作人员人数应小于或等于执行者人数
  2. 执行程序数应小于或等于任务数
  3. 考虑到以上 2 点,重新平衡仅适用于将执行器或工作线程移动到其他节点等......
  4. 重新平衡无助于动态增加任务计数
  5. 因此,根据上述几点,Storm 无法完全扩展

您可以将tasks视为螺栓/喷口的运行实例。这是固定的(静态的),在拓扑运行时永远无法更改?执行器实际上是可以动态更改的线程。

如果设置 num tasks = 4 和执行程序 = 2,则每个线程将运行 2 个任务。但是任务在执行器上串行运行(每个线程一次将运行一个任务)。因此,即使您有 4 个 bolt 实例,它们也不会一次运行。那有什么用呢?

为每个执行程序创建多个任务将使您能够灵活地使用 rebalance 命令更改执行程序的数量,而不会终止拓扑。因此,将来如果您向集群添加额外的节点(或出于任何原因),您可以轻松地将执行程序的数量更改为 4,以便现在每个任务都有一个专用线程来处理它(#threads <= #tasks 是正确的原因,因为拥有比任务更多的执行器不会带来任何好处)。所以现在你的喷口/螺栓的每个 4 个实例(称为组件)可以一次并行运行。这就是风暴的规模。

最新更新