【问题标题】:How to set optimum value for storm.config.setMessageTimeoutSecs如何为storm.config.setMessageTimeoutSecs 设置最佳值
【发布时间】:2018-02-22 08:58:23
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: apache apache-storm


    【解决方案1】:

    我不相信有最大超时,不。不过,您可能不想将其设置得太高,因为这意味着如果元组在网络传输过程中实际丢失,则需要更长的时间才能确定它已丢失并重放它。

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      相关资源
      最近更新 更多