gpt4 book ai didi

.net - Azure服务总线: all topic subscribers must process message

转载 作者:行者123 更新时间:2023-12-04 16:38:41 25 4
gpt4 key购买 nike

我刚刚开始使用 Azure ServiceBus。有件事我不太清楚,我很难找到答案。

如果我在订阅消息上调用 message.Complete() ,这是否意味着该消息将不再传递给任何其他订阅者,或者我只是为当前订阅者完成该消息?换句话说,服务总线是否跟踪每个订阅者或每个订阅的消息?

在我的特定用例中,我希望消息由所有订阅者处理,而不仅仅是任何/一个订阅者>订阅者。这对于主题来说可能吗?

最佳答案

您的问题已经得到解答,但术语(订阅\订阅者)以及推荐的用例是什么似乎存在混淆。

考虑一个简单的队列,在一端放置消息,在另一端弹出消息。这就是 ServiceBus 队列的行为方式。
现在考虑一个队列,您仍然将消息放在一端,但随后它分成多个端,您可以从中弹出消息。这描述了主题(您放置消息的位置)和订阅(您弹出消息的位置)。

在主题\订阅中,主题中的消息将复制到订阅。因此,每个订阅都独立于其他订阅。它就像队列的不同副本。

现在,从订阅接收消息的客户端应用程序就是所谓的订阅者。每个客户端(订阅者)都旨在连接到单个订阅。在这种情况下,订阅者不会竞争消息,每个订阅者都可以像其他订阅者一样处理相同的消息。

另一方面,如果您有许多客户端应用程序(订阅者)连接到同一订阅,那么它们自然都会竞争相同的消息。

希望这能解释您得到的答案(这似乎是矛盾的,但实际上只是以不同的方式使用相同的术语)。底线是最终您可以使用 ServiceBus 完成这两种场景。

关于.net - Azure服务总线: all topic subscribers must process message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42317019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com