2016-02-22 114 views
0

我剛讀這篇文章:Azure的服務總線 - 快速隊列和主題的解釋

,發現了一個有趣的點約Express queues and topics

快速實體支持高吞吐量和減少延遲情況。對於快遞實體,如果消息發送到隊列或主題是,它是不立即存儲在消息傳遞存儲。相反,消息被緩存在內存中。如果消息在隊列中保留超過幾秒鐘,它會自動寫入穩定存儲器,從而保護它免於因停電而損失。將消息寫入內存緩存可以提高吞吐量並減少延遲,因爲在發送消息時無法訪問穩定的存儲。幾秒鐘內消耗的消息不會寫入消息傳遞存儲。以下示例創建一個快速主題。

TopicDescription td = new TopicDescription(TopicName); 
td.EnableExpress = true; 
namespaceManager.CreateTopic(td); 

如果包含必須不會丟失被髮送到快速實體關鍵信息的消息,發送者可以強制服務總線立即通過設置ForcePersistence屬性堅持該消息到穩定存儲爲真。

如果我創建只有一個發送方和發送方與物業ForcePersistence = true發送BrokeredMessage特快隊列,是否有任何利息,以創建一個Express隊列?

我想這是無用的,但並不真正瞭解它是如何工作的?

任何澄清讚賞^^

回答

2

有情況下,您想在一般的快遞郵件和你不在乎商店是否崩潰,他們走了(例如股票更新)。但是一些消息類型太重要了,不能丟失。您不能將郵件標記爲明確。由於隊列描述規定隊列是否表達或不處理,因此在處理緩存中的數據存儲器崩潰時不應丟失的消息時,您需要強制使用持久性標記。當你的信息量很高,每毫秒的等待時間都很重要時,這非常方便。

official documentation解釋它會:那些在幾秒鐘內消耗

消息不寫入到數據庫中。發送,接收和完成操作執行速度更快,因爲這些操作僅修改消息高速緩存。

相關問題