2009-07-10 172 views
1

我很想知道郵件系統(如WebsphereMQ或ActiveMQ(通過JMS使用))中消息傳遞的可靠性。據我所知,如果收件人不可用,消息可以被緩衝,並且稍後會被髮送。消息隊列:網絡故障時消息是否丟失?

現在我想知道,如果發件人暫時無法到達的網絡發生了什麼。是否有某種本地緩衝將在稍後發送消息?我認爲這取決於消息代理正在運行的位置。所有機器上都有本地經紀人,還是隻有中央經紀人?

查明我的問題:是消息傳遞系統是正確的選擇,如果我需要確保,該消息最終得到,即使在網絡暫時不通的臉嗎?爲了達到這種可靠性,是否需要一定的設置?

相關文檔任何指針將不勝感激。

回答

2

常見的解決辦法被稱爲「存儲轉發」。在這樣的系統中,一旦你將消息傳遞給本地消息代理,它就成了他們的責任。這位經紀人可能不是一個完整的經紀人。如果消息傳遞系統具有基本的傳遞保證,則本地代理仍然需要對消息進行持續緩衝,直到它們被移交給真正的代理。

0

如果你真的無法承受失去我建議落實在端點處,如果你能可靠消息傳遞模式的消息,即發送方重新發送,如果沒有確認在一定的時間內收到和接收器重複檢測以處理多次接收相同的消息。

保證交付配備了性能開銷,通常不作出任何保證爲您的信息可能要持續到那裏。