【问题标题】:In queue message count in service bus服务总线中的队列消息计数
【发布时间】:2016-12-23 10:57:22
【问题描述】:

我想知道是否为服务总线队列或主题定义了任何消息入队限制。

假设我在 azure iot hub 上创建了一个设备。现在我正在向该设备发送 c2d 消息。如果此设备没有可用的接收器。然后它可以在队列中保存 50 条消息。过了这个限制。它将丢弃所有发送给它的 c2d 消息。

我只是想确认在服务总线队列或主题中创建的相同类型的场景。

服务总线队列或主题可能不存在这种情况。但我有些困惑。

【问题讨论】:

  • 这不是您在 ASB 上可以找到的功能。 ASB 旨在用于消息流,而不是存储(以及随后的消息大小配额)。

标签: azureservicebus azure-iot-hub


【解决方案1】:

我想知道是否定义了任何消息队列限制 服务总线队列或主题。

是的,队列/主题的大小有限制(在创建队列/主题时定义)。

队列/主题的大小可以是 1、2、3、4 或 5 GB。如果partitioning 启用后,最大队列/主题大小为 80 GB。

如果超出限制,

传入的消息将被拒绝并收到异常 通过调用代码。

更多信息可以参考Service Bus quotas

【讨论】:

    【解决方案2】:

    我不知道 ASB 完全支持这种开箱即用的配额。我建议以不同的方式处理它:在您的队列或主题上使用 DefaultMessageTimeToLive 属性(在创建它们时设置)。这将允许您自动丢弃未及时处理的旧的、过时的消息。或者您可以在单个消息上设置TimeToLive 上的BrokeredMessage

    或者,您也可以在队列/主题上设置MaxSizeInMegabytes 以限制它们的大小,但我认为基于 TTL 的方法会更好。

    【讨论】:

      猜你喜欢
      • 2020-10-08
      • 2010-11-02
      • 1970-01-01
      • 2017-11-07
      • 2014-11-03
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多