1

所以我想知道一个问题。考虑发布者在上午 10:00 创建一个主题并立即开始向该主题发布消息。它通知消费者该主题的创建,然后他们在上午 10:01 订阅该主题。这些消费者不会收到发布者在上午 10:00 - 10:01 之间发送的消息。因此,如果消息传递提供者发现该主题没有活动订阅者来接收任何消息,它是否应该立即丢弃这些消息。我们能否提供一种订阅机制,消费者可以通过该机制指定他们希望从哪个点接收消息(例如,从主题开始或太平洋标准时间 2011 年 12 月 25 日上午 10:00 等)

4

1 回答 1

1

在发布/订阅消息模型中,发布者不会向订阅者通知主题的创建。

发布者和订阅者通过主题松散耦合。所以发布者不会知道是否有订阅者。如果该主题没有订阅者,则消息传递提供者会丢弃有关该主题的发布。如果没有发布者,一些消息传递提供者会通知发布者。这样出版商就可以决定是否继续出版。

订阅者将从创建订阅时开始获取发布。有两种类型的订阅,持久的和非持久的。非持久订阅是指只要订阅者处于活动状态,就会将发布交付给订阅者的订阅。持久订阅是即使订阅者处于非活动状态也能交付发布的订阅。

有保留发布的概念,其中消息传递提供者保留一个最新的发布并交付给迟到的订阅者。

于 2012-09-05T03:54:34.480 回答