【问题标题】:Max Number of Messages in NServiceBus SendNServiceBus 发送的最大消息数
【发布时间】:2015-03-21 13:44:15
【问题描述】:

我目前没有使用 NSB,但正在评估它作为一种可能的解决方案。

我可以传递给 NServiceBus 的 IBus.Send(params IMessage[] messages) 命令的消息数量是否有实际限制?

在我的应用程序中,我一直在批量处理几十个消息……也许是 300 多个(想想需要发送营销电子邮件的场景)。单个消息并不大……平均每个消息大约 500 个字节。现在我有一个新场景(新租户),它正在批处理多达 6000 条消息(这引起了我的担忧,即未来我可以让更大的租户在一个活动中处理成千上万封营销电子邮件)。

我需要知道如何使用 NSB 解决方案来处理这种情况。我在想 .Send 方法调用将是一个阻塞方法,只要它需要 MSMQ 在引擎盖下排队 6000 条消息,它就会被阻塞。但是我在这里应该注意其他实际问题吗?如果我宁愿迭代消息集合,而不是将每个消息单独传递给接受单个消息的 IBus.Send 的重载,会更好吗?

这真的只是我在这里关心的发送方。服务器端单独接收和处理每条消息,顺序无关紧要。

【问题讨论】:

    标签: msmq nservicebus


    【解决方案1】:

    NServiceBus 版本 5 移除了一次调用 Send() 多条消息的功能:

    http://docs.particular.net/nservicebus/upgradeguides/4to5#obsolete-sending-and-publishing-batches-of-messages-together-in-a-single-call

    我不会预见循环超过 6000 条消息并发送它们有任何问题。您可能需要确保将 MSMQ 配置为处理您可能需要的消息数量和空间量,但根据您的描述,我认为您不需要更改默认设置。

    我建议您获取演示许可证并进行一些测试。启动一个产生这种消息量的小测试工具应该相当容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-15
      • 2012-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多