同步方法在做什么,心跳元组的频率是多少?

What the sync method is doing and what is the frequency of heartbeat tuple?

我正在使用 Storm 0.9.3,使用 Python。

我指的是 Multilang-protocol

谁能解释一下:

Storm 0.9.3 引入了 multilang 子进程心跳。 (其实是我介绍的。)

如您所知,nimbus 和 supervisor 会检查 worker 的心跳,并在 worker 未及时写入心跳时采取适当的措施。

Multilang subprocess heartbeat 也在做类似的事情,但它使用 multilang 协议而不是 ZK。

  1. 0.9.3之前,sync()仅用于ShellSpout通知子进程next()执行完毕。 0.9.3之后,Storm给sync()增加了新的含义,"heartbeat"(表示notifying I'm OK)

  2. ShellSpout不发送heartbeat tuple,导致正常情况Spout的nextTuple()被频繁调用,subprocess的next()也是如此。 ShellBolt 每 1 秒向子进程发送心跳元组。

希望对您有所帮助。