消息中間件IBM WebSphere MQ入門說明(下)

 MQ的通訊模式

  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)通道與其它成員通訊,從而大大簡化了系統配置。此外,羣集中的隊列管理器之間能夠自動進行負載均衡,當某一隊列管理器出現故障時,其它隊列管理器可以接管它的工作,從而大大提高系統的高可靠性。

 

  MQ Server和MQ Client

 

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

 

  MQ的API

 

  MQ 支持多種編程語言,其中包括:C、C++、Java、VisualBasic、COBOL、PL/1、RPG等,同時也支持多種流行的開發工具,如: WebSphere Studio Application Developer, PowerBuiler、Microsoft Visual C++、Visual Basic、Delphi等。並且,MQ在不同平臺上提供統一的編程接口,僅需重新編譯就可完成不同平臺間程序的移植。MQ的API接口十分簡單易學,用戶僅需利用MQ的13個常用而又功能強大的函數調用,便可以以最快的速度,寫出各種複雜的應用程序。用戶可以將主要精力集中於應用業務邏輯的實現,而不是底層通訊、例外處理等方面。
  
  以C語言爲例,一個MQ應用的開發流程如下:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章