ActiveMQ(一)简介与架构
-
消息中間件的概念
消息中間件,簡言之是一種在分布式系統中應用程序借以傳輸消息的媒介。中間件位于客戶機/ 服務器的操作系統之上,管理計算機資源和網絡通訊,是連接兩個獨立應用程序或獨立系統的軟件,執行中間件的一個關鍵途徑是信息傳遞;
面向消息的中間件(Message Oriented Middleware,MOM)較好的解決了3個問題。
一是:發送者將消息發送給消息服務器,消息服務器將消息存放在若干隊列中,在合適的時候再將消息轉發給接收者。這種模式下,發送和接收是異步的,發送者無需等待;降低了耦合度
二是,發送者和消費者的生命周期未必相同:發送消息的時候接收者不一定運行,接收消息的時候發送者也不一定運行;
三是:一對多通信:對于一個消息可以有多個接收者。
-
消息中間件的應用
消息中間件適用于需要可靠的數據傳送的分布式環境。采用消息中間件機制的系統中,不同的是它常被用來對象之間通過傳遞消息來激活對方的事件,完成相應的操作。發送者將消息發送給消息服務器,消息服務器將消息存放在若干隊列中,在合適的時候再將消息轉發給接收者。消息中間件能在不同平臺之間通信,屏蔽掉各種平臺及協議之間的特性,實現應用程序之間的協同,其優點在于能夠在客戶和服務器之間提供同步和異步的連接,并且在任何時刻都可以將消息進行傳送或者存儲轉發,這也是它比遠程過程調用更進一步的原因。
毋庸置疑,只要有消息需要傳送的地方都離不開消息中間件,它的特點是顯而易見的;
其中,在SOA的應用中隨處可以見到消息中間件的影子,信息化系統的“結構化和模塊化”要求越來越明顯,將原有的系統或者新建系統向模塊化靠攏,必然需要一類軟件將這些“模塊”有機而又低藕合的串接起來,消息中間件可以成為不同模塊之間數據傳輸的橋梁,提供數據傳輸的可靠性和高效性
-
消息中間件應用場景
????分布式環境(運營數據分析利用系統)
應用特點:
-
客戶機服務器之間的同步和異步的連接
-
不同平臺之間通信
-
優于遠程調用
-
ACTIVEMQ為什么能脫穎而出?
ActiveMQ是一種開源的,實現了JMS1.1規范的,面向消息(MOM)的中間件
主要特點:
穩定性:失敗重連機制failover,持久化服務,容錯機制,多種恢復機制
高效性:支持多種傳送協議TCP,SSL,NIO,UDP,集群服務消息在多個代理之間轉發防止消息丟失,支持超快的JDBC消息持久化和高效的日志系統
可擴展:activemq的高級特性都可以配置的形式來表現,很好的實現例如游標,容錯機制,消息group及監控服務,同時擴展了很多成熟的框架spring使得其使用更加成熟
高級特性
消息群組(Message Groups)、虛擬端點(Virtual Destinations)、通配符(Wildcards)、復合端點(Composite Destinations)
ActiveMQ整體架構
如上圖所示,
ActiveMQ主要涉及到5個方面:
傳輸協議
消息域:
消息存儲
Cluster ?(集群)
Monitor (監控)
傳輸協議:消息之間的傳遞,無疑需要協議進行溝通,啟動一個ActiveMQ打開了一個監聽端口, ActiveMQ提供了廣泛的連接模式,其中主要包括SSL、STOMP
? ? ? ? 、XMPP;ActiveMQ默認的使用的協議是openWire,端口號:61616;
消息域:ActiveMQ主要包含Point-to-Point (點對點),Publish/Subscribe Model (發布/訂閱者),其中在Publich/Subscribe 模式下又有Nondurable subscription和 ? ? ?durable subscription (持久化訂閱)2種消息處理方式
消息存儲:在消息傳遞過程中,部分重要的消息可能需要存儲到數據庫或文件系統中,當中介崩潰時,信息不回丟失
Cluster ?(集群):?最常見到 集群方式包括network of brokers和Master Slave;
Monitor (監控) :ActiveMQ一般由jmx來進行監控,這部分的內容我們以后討論;
總結
以上是生活随笔為你收集整理的ActiveMQ(一)简介与架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hudson:持续集成工具的安装、使用
- 下一篇: 安卓中AIDL的使用方法快速入门