代码之家  ›  专栏  ›  技术社区  ›  Avrohom Yisroel

Azure服务总线-只有一个订户接收消息

  •  0
  • Avrohom Yisroel  · 技术社区  · 7 年前

    注: 根据我得到的回复,Azure Service Bus似乎不是适合这项工作的工具。我把这个问题留在这里,以防对其他人有用。


    我想设置一种情况,即我有一个发布消息的应用程序和多个接收消息的应用程序。据我所见, Azure Service Bus Topics 就是为这个设计的。公认的答案 this question 我也这么说。

    我一直在关注 quick start sample 生成两个控制台应用程序,一个用于发送消息,另一个用于接收消息。当我只运行了一个receiver应用程序实例时,这很好,但是如果我启动 二 在接收方实例中,只有一个实例获得任何消息。

    我试着把电话转到 CompleteAsync 在接收消息的代码中,但这没有任何区别。

    我使用的代码与那篇文章中所示完全相同,所以在这里发布这些代码没有意义。

    我肯定我只是误解了一些基本的东西,但我认为这个想法是,主题和订阅可以让你拥有尽可能多的接收者。

    有人能解释我做错了什么吗?

    2 回复  |  直到 7 年前
        1
  •  2
  •   Arunprabhu    7 年前

    你需要有不同的订阅客户端来代替不同的接收者。您应该在该主题下有两个订阅,才能在两个不同的位置接收该主题。

    这样,您需要为两个订阅创建订阅客户端,每个接收器应用程序中一个。这样您就可以同时在两个应用程序中接收消息。

        2
  •  0
  •   Sean Feldman    7 年前

    按比例缩小的接收器表示单个逻辑端点。您可以扩展以更快地处理消息,而不是确保每个实例都有一个副本。如果需要,那么接收方必须是逻辑上不同的端点,而不是同一个端点。同一逻辑接收器/端点不应处理同一消息两次。

    总而言之:

    • 如果想更快地处理消息,请使用同一个接收器并向外扩展。
    • 使用 不同的 如果你需要确保每个人都能收到所有的信息,你就可以选择接收者。
    推荐文章