【发布时间】:2019-08-15 22:03:29
【问题描述】:
我们的一个 Bolt 将一个大的元组消息分解为它的孩子,然后将这些孩子作为元组发出。有时可能有 10000 个孩子。
元组的这种轰炸,扼杀了我们的拓扑。
Bolt 中的一个元组生成的元组数量是否有上限/上限?
我们需要将这些子节点进一步发送到拓扑的下方,以便这些子节点的状态可以根据父节点的状态进行更新。
【问题讨论】:
标签: apache-storm
我们的一个 Bolt 将一个大的元组消息分解为它的孩子,然后将这些孩子作为元组发出。有时可能有 10000 个孩子。
元组的这种轰炸,扼杀了我们的拓扑。
Bolt 中的一个元组生成的元组数量是否有上限/上限?
我们需要将这些子节点进一步发送到拓扑的下方,以便这些子节点的状态可以根据父节点的状态进行更新。
【问题讨论】:
标签: apache-storm
Storm 跟踪元组的算法有一个上限,但该上限是在您开始看到 64 位随机值之间的常见冲突的地方。所以不,实际上没有上限。
您可能会遇到处理所有子元组的时间过长,因此整个元组树都会遇到元组超时。您可以增加超时时间,也可以绕道而行,例如Kafka,因此整个处理不必在单个元组树的处理时间内发生。
类似的设置
拓扑A:源->分离器->卡夫卡
拓扑 B:Kafka -> 处理
让您可以单独处理每个子节点,而不必在父节点的消息超时内处理所有 10k 元组。
如果您的拓扑被阻塞,请详细说明您的意思。
【讨论】: