如何为storm.config.setMessageTimeoutSecs设置最佳值

时间:2018-02-22 08:58:24

标签: apache apache-storm

我正在研究Apache风暴拓扑。我有不同的螺栓执行cosmosdb插入,REST api调用等功能。

我想为我的Storm拓扑设置storm.config.setMessageTimeoutSecs的值。

现在我已将其设置为5分钟,但由于消息超时,我仍然可以在现场看到故障。拓扑的消息超时是否有最大值。

以及如何为storm.config.setMessageTimeoutSecs

设置最佳值

1 个答案:

答案 0 :(得分:0)

我不相信最大超时,不。你可能不想把它设置得太高,因为这意味着如果一个元组在网络传输过程中实际丢失了,那么要弄清楚它已经丢失并重播它需要更长的时间

您是否将topology.max.spout.pending设置为合理的值?这有助于避免一次飞行中过多的元组,这有助于保持完整的延迟。

我还要看看5分钟以上是否是您元组的合理处理时间。我不知道你的用例,所以也许这是合理的,但对我来说似乎很长一段时间。

如果您确实需要处理一些需要很长时间的元组,您可以考虑将拓扑拆分为较小的拓扑,这样就可以为慢速部分设置高超时,为其余部分设置较低的超时。