2012-09-04 81 views
1

所以我想知道一個問題。考慮一個發佈者在上午10點創建一個主題,並立即開始發佈消息到主題。它通知消費者創建該話題,然後他們在上午10:01訂閱該話題。這些消費者在上午10點到10點1分之間不會收到發佈商發送的消息。因此,如果消息提供者發現沒有活動訂閱者接收任何消息,該消息提供者立即丟棄這些消息。我們可以提供一種訂閱機制,消費者可以指定他們想從哪個點接收消息(例如,從主題開始或2011年12月25日上午10:00點上午10:00等)從主題開始接收消息

回答

1

在發佈/ Subscribe消息模型,發佈者不會通知用戶創建主題。

發佈者和訂閱者通過主題鬆散耦合。所以發佈商不會知道是否有用戶。如果該主題沒有訂閱者,郵件提供商會放棄關於主題的發佈。一些消息提供者通知發佈者是否沒有要發佈的接受者。這樣發佈者可以決定是否繼續發佈。

訂閱者將從訂閱創建時開始發佈。有兩種類型的訂閱,耐用和不耐用。非持久訂閱是隻要訂閱者處於活動狀態即可將其發佈給訂閱者的訂閱。持久訂閱即使訂閱者不活躍也可以發佈。

存在保留出版物的概念,其中消息傳遞提供者保留最新的出版物並將其遞送給遲到的訂閱者。