ActiveMQ學習(三)——MQ的通信模式

1) 點對點通信:點對點方式是最爲傳統和常見的通信方式,它支持一對1、一對多、多對多、多對一等多種配置方式,支持樹狀、網狀等多種拓撲結構。服務器

2) 多點廣播:MQ適用於不一樣類型的應用。其中重要的,也是正在發展中的是"多點廣播"應用,即可以將消息發送到多個目標站點(Destination List)。可使用一條MQ指令將單一消息發送到多個目標站點,並確保爲每一站點可靠地提供信息。MQ不只提供了多點廣播的功能,並且還擁有智能消息分發功能,在將一條消息發送到同一系統上的多個用戶時,MQ將消息的一個複製版本和該系統上接收者的名單發送到目標MQ系統。目標MQ系統在本地複製這些消息,並將它們發送到名單上的隊列,從而儘量減小網絡的傳輸量。網絡

3) 發佈/訂閱(Publish/Subscribe)模式:發佈/訂閱功能使消息的分發能夠突破目的隊列地理指向的限制,使消息按照特定的主題甚至內容進行分發,用戶或應用程序能夠根據主題或內容接收到所須要的消息。發佈/訂閱功能使得發送者和接收者之間的耦合關係變得更爲鬆散,發送者沒必要關心接收者的目的地址,而接收者也沒必要關心消息的發送地址,而只是根據消息的主題進行消息的收發。在MQ家族產品中,MQ Event Broker是專門用於使用發佈/訂閱技術進行數據通信的產品,它支持基於隊列和直接基於TCP/IP兩種方式的發佈和訂閱。負載均衡

4) 羣集(Cluster):爲了簡化點對點通信模式中的系統配置,MQ提供Cluster(羣集)的解決方案。羣集相似於一個域(Domain),羣集內部的隊列管理器之間通信時,不須要兩兩之間創建消息通道,而是採用羣集(Cluster)通道與其它成員通信,從而大大簡化了系統配置。此外,羣集中的隊列管理器之間可以自動進行負載均衡,當某一隊列管理器出現故障時,其它隊列管理器能夠接管它的工做,從而大大提升系統的高可靠性。spa

 

MQ Server和MQ Client對象

MQ產品分爲Server和Client 兩種版本,在MQ服務器的運行環境下,有隊列管理器、隊列、消息通道等對象,它提供全面的消息服務;MQ Client爲咱們提供了一個MQ應用程序的開發和運行環境,它是MQ API的Client實現。在客戶端環境下,沒有隊列管理器、隊列等對象,它經過MQI通道與服務器之間創建通信,並將消息從客戶端發往服務器端的隊列,或從Server端的隊列中取得消息,它比較適合於網絡條件較好或實時通信的狀況。同時要指出的是:採用MQ Client並不會致使數據的丟失或不完整性。MQ Client提供下列好處:適合同步處理的工做模式;減小系統負擔;減小系統管理開銷;減小磁盤空間要求等。隊列

 

JMS定義了五種不一樣的消息正文格式,以及調用的消息類型,容許你發送並接收以一些不一樣形式的數據,提供現有消息格式的一些級別的兼容性。開發

  · StreamMessage -- Java原始值的數據流字符串

  · MapMessage--一套名稱-值對同步

  · TextMessage--一個字符串對象產品

  · ObjectMessage--一個序列化的 Java對象

  · BytesMessage--一個未解釋字節的數據流

相關文章
相關標籤/搜索