【问题标题】:Azure service bus subscription and topic sizeAzure 服务总线订阅和主题大小
【发布时间】:2016-12-29 22:40:03
【问题描述】:

我有一个 ASB 主题,我在其中发布了很多消息。该主题将有多个订阅。我试图找出订阅大小是否会导致主题大小的增加。也就是说,如果有 1 个订阅,则主题大小与该订阅中消息大小的总和相同。如果有 2 个订阅,那么主题大小会变成 2 倍,以此类推?

我不打算扩大话题。我已经使用了分区主题。我想弄清楚的是,如果我向一个主题发送 50 条消息并且该主题有 4 个订阅,那么该主题的大小将是所有订阅消息的总和吗?或者主题大小将保持主题中所有消息大小的总和,而不管它拥有多少订阅?

【问题讨论】:

    标签: azure azureservicebus


    【解决方案1】:

    消息似乎是重复的,因此所有订阅的总和都计入配额。

    架构是这样说的: https://azure.microsoft.com/en-us/documentation/articles/service-bus-queues-topics-subscriptions/

    主题订阅类似于接收发送到主题的消息副本的虚拟队列。从订阅接收消息的方式与从队列接收消息的方式相同。

    因此向 3 个订阅发送 1 条消息 (10Kb),将从配额中花费 30KB

    根据您为每次操作支付的计费常见问题解答:https://azure.microsoft.com/en-us/pricing/details/service-bus/

    同一消息的多次传递(例如,消息扇出到多个订阅者或在放弃、延迟或死信后检索消息)将被计为独立操作。例如,对于具有三个订阅的主题,发送和随后接收的单个 64KB 消息将生成四个计费操作,一个“输入”加三个“输出”,假设所有消息都传递到所有订阅并在读取期间删除.

    【讨论】:

    • 谢谢。我不打算扩大话题。我已经使用了分区主题。我想弄清楚的是,如果我向一个主题发送 50 条消息并且该主题有 4 个订阅,那么该主题的大小将是所有订阅消息的总和吗?或者主题大小将保持主题中所有消息大小的总和,而不管它拥有多少订阅?
    • 看来配额是所有订阅的总和,更新我的答案
    • 假设有 4 个订阅,每个订阅都填充了消息,每个订阅的大小已达到 16GB。现在主题有 16GB 的消息。所以总共有80GB。现在生产者将无法向该主题发送更多消息?
    • 同意@ErikOppedijk 转发。您可以在订阅上设置自动转发,以便将消息传递到各个队列(如果您愿意,可以称为“邮箱”)。需要记住,如果消费者不主动检索消息,这些消息可能会被淹没。
    • 非常感谢。该信息确实帮助我弄清楚了为什么我的主题空间不足。我有 2 个订阅,但只从其中一个中读取和删除!!
    猜你喜欢
    • 2016-02-10
    • 2018-08-27
    • 1970-01-01
    • 2017-10-23
    • 2018-07-18
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    相关资源
    最近更新 更多