ActiveMQ學習(二)——MQ的工作原理


如圖所示

首先來看本地通訊的情況,應用程序A和應用程序B運行於同一系統A,它們之間可以借助消息隊列技術進行彼此的通訊:應用程序A向隊列1發送一條信息,而當應用程序B需要時就可以得到該信息。

其次是遠程通訊的情況,如果信息傳輸的目標改為在系統B上的應用程序C,這種變化不會對應用程序A產生影響,應用程序A向隊列2發送一條信息,系統A的MQ發現Q2所指向的目的隊列實際上位於系統B,它將信息放到本地的一個特殊隊列-傳輸隊列(Transmission Queue)。我們建立一條從系統A到系統B的消息通道,消息通道代理將從傳輸隊列中讀取消息,並傳遞這條信息到系統B,然后等待確認。只有MQ接到系統B成功收到信息的確認之后,它才從傳輸隊列中真正將該信息刪除。如果通訊線路不通,或系統B不在運行,信息會留在傳輸隊列中,直到被成功地傳送到目的地。這是MQ最基本而最重要的技術--確保信息傳輸,並且是一次且僅一次(once-and-only-once)的傳遞。

MQ提供了用於應用集成的松耦合的連接方法,因為共享信息的應用不需要知道彼此物理位置(網絡地址);不需要知道彼此間怎樣建立通信;不需要同時處於運行狀態;不需要在同樣的操作系統或網絡環境下運行。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM