当前位置: 首页 > 知识库问答 >
问题:

客户对主题的订阅(即订阅者)的寿命是多少?

壤驷俊逸
2023-03-14

客户对主题的订阅(即订阅者)的寿命是多少?

我之所以这么担心,是因为我认为服务总线的一个特点--持久的信息。因此,我认为在连接不稳定的情况下,可以保证提供持久的消息。

那么,当一个应用程序(多个应用程序中的一个)失去与服务总线的连接一天,然后第二天重新启动应用程序并实例化一个新的订阅客户端实例时,会发生什么呢?当其他应用程序由于自己的订阅已经处理了这些相同的消息时,应用程序是否会继续接收等待传递的消息?

总之,一个客户(即订阅者)订阅一个主题的寿命是多少?

https://weblogs.asp.net/sfeldman/asb-subs-with-correlation-filters

共有1个答案

步联
2023-03-14

客户对主题的订阅(即订阅者)的寿命是多少?

有点宽泛的问题。如果您引用一个连接到代理的客户机,只要存在一个不中断的底层连接,客户机就会连接到订阅。如果您引用的是逻辑订阅服务器,则在逻辑订阅服务器连接时。可能是365年每天24/7,也可能是偶尔的。这个寿命是由你的系统将要做什么来定义的。

那么,当一个应用程序(多个应用程序中的一个)失去与服务总线的连接一天,然后第二天重新启动应用程序并实例化一个新的订阅客户端实例时,会发生什么呢?

如果你运行几个连接到同一个主题的应用程序实例,如果一个正在关闭,其余的将继续处理消息。不会有挂起的消息。如果你有其他应用程序使用不同主题的消息,那么是的,你重新连接的应用程序将接收所有发布的消息,当它关闭。

您可能需要查看竞争的消费者模式。订阅是一个包含竞争消费者的队列。

 类似资料:
  • 目前,我已经开始使用ActiveMQ处理JMS主题。我已经通过JAVA代码(如下所述)创建了发布者和持久订阅者,并且在订阅者端也收到了消息。 Publisher.Java 订阅者.java 我对以下主题有一些疑问, 如何检查有多少订阅者使用 Java JMS 在主题中主动查找消息? 如何从主题中获取活动和持久订阅者列表? 我们是否可以删除主题中发布的消息? 在这些情况下帮助我。 提前致谢。

  • https://github.com/azure/azure-service-bus/tree/master/samples/dotnet/gettingstart/microsoft.azure.servicebus/topicsubscriptionwithruleoperationssample 现在我想添加一个筛选器/规则,这样只有通过筛选器中定义的特定条件的消息才应该给订阅。 例如,下面

  • 我通读了RxJS文档,并希望确保我理解了< code > subscriber . unsubscribe()和< code > subscriber . complete()之间的区别。 假设我有一个有两个订阅者的可观察对象,订阅者1和订阅者2。如果订阅者1对其订阅调用取消订阅,它将不再接收来自可观察对象的通知,但订阅者2将继续接收它们。 <代码>的文档。complete(): 观察者回调,用于

  • 我正在试验消息驱动Beans,以便从外部ActiveMQ实例接收主题订阅消息。 我的测试首先从队列订阅开始,它工作得很好。 然后我想尝试主题订阅,但我无法让它工作。 这就是我所拥有的: 会议记录。xml 这是MDB: 我不知道为什么,但从日志中我可以看到,TomEE创建了一个队列,而不是一个主题: 另一个证明是,当我添加持续时间配置时,服务器不会启动: 然后服务器抱怨这不适合配置类型javax.j

  • 在我的应用程序中(它正在使用Topic1、Topic2和Topic3),我还不断看到与其他主题相关的警告。 该消息通过以下Kafka代码打印:https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/networkclient.java 这是意料之中的吗?为什么这些警告消息会发

  • 我想在一个主题上放一个BrokeredMessage。有些订阅者必须立即处理。一个或多个订阅服务器必须在第二天才开始处理。 我曾经研究过使用BrokeredMessage.ScheduleDenQueueTimeUTC属性来延迟队列和主题上的消息处理,但这意味着所有订阅者都将延迟它们的处理。 我的想法是,我应该在不延迟入队时间的情况下将BrokeredMessage添加到主题中,并在一个订阅服务器