天天看點

WebSphere MQ&&Active MQ

WebSphere MQ

1、  中間件處于應用軟體與系統軟體之間,是一種以自己的複雜換取企業應用簡單化的可複用的基礎軟體,它使用系統軟體所提供的基礎服務(功能),銜接網絡上應用系統的各個部分或不同的應用,能夠達到資源共享、功能共享的目的。

2、  三種通信技術:

RPC(remote process call):同步;

CPI-C:同步;

MQI(message queue interface):異步通信方式,通信的方式與傳送協定無關。

3、  中間件産品:

消息中間件:IBM WebSphere MQ

交易中間件:IBM CICS,Bea tuxedo

對象中間件:IBM componentbroker,ionaorbix,borland,visibroker

應用伺服器:IBM WebSphere,Bea weblogic

安全中間件:entrust

應用內建伺服器:lss flowwan,IBM flowman,vitria businessagiliti

4、  WebSphere MQ由消息傳輸系統和應用程式接口組成,資源是消息和隊列;

消息傳輸系統:用于確定隊列之間的消息提供,包括網絡中不同系統上的遠端隊列之間的消息提供,并保證網絡故障或關閉後的恢複;

應用程式接口:應用程式和消息系統之間通過WebSphere MQ API實作(API在所有WebSphere MQ平台上是一緻的,API隻有14個調用2個動作(發送put和接收get))

消息:Request Message,Reply Message,Report Message,Datagram Message

一個消息包含兩個因素:消息描述和資料消息

消息描述:用于定義,如消息傳輸目标

資料消息:如應用程式資料或資料庫查詢

隊列:一個安全的存儲消息的地方,消息的存儲一般是順序的,隊列是消息分階段的傳送和接收,因為消息存放在隊列中,是以應用程式可以互相獨立的運作,以不同的速度,在不同的時間,不同的地點;

注:程式之間的通信通過傳遞消息而非直接調用程式;WebSphere MQ最基本而最重要的技術——可靠消息傳輸,它具有特殊的技術防止消息重複傳送,確定消息一次且僅一次傳送(once-and-only-once)

5、  重要特點:

統一接口:目标應用程式位置的透明性(target application location transparency);

處理不依賴時間的限制:異步處理

給分布式處理提供強健的中間件:保證資料一緻性,資訊的傳輸(once-and-only-once),并可在系統故障時,及時恢複,業務不受影響

小節:

WebSphere MQ是基于消息隊列Message Queue或消息傳送MessagePassing的中間件,主要功能是在應用程式之間傳送消息,這些消息可以在不同的網絡協定,不同的計算機系統和不同的應用軟體之間傳送,使用它可簡單友善的開發出可靠高效的分布式應用系統;

WebSphere的技術可實施在廣泛的IBM和非IBM平台上,提供了一個面向業務的資訊技術架構(基于WebSphere MQ的應用程式可以更接近的模拟商業問題,更容易設計、開發和維護),使得基于它的應用無結構限制,應用程式之間可以是一對一、一對多、多對多的關系,應用程式之間資訊傳遞可以是單向或雙向,靈活的結構,支援平衡工作負荷、并發處理、多路廣播及其它應用程式之間的關系,總之是應用程式充分接近業務需求,并且當應用需求改變時,WebSphere MQ的結構可以很容易的跟着改變。

Active MQ:

1、  Active MQ是開源的JMS的實作,部分特點:多種語言和協定編寫;完全支援JMS和J2EE各版本;支援Ajax(異步應用);調整的資訊持久化等。

2、  消息生産者――》消息隊列――》消費者

JMS(java message service):MOM(messageoriented middleware面向消息的中間件),應用程式在異步情況下可靠的傳輸和接收消息

Message producer:消息生産者

JMS provider:消息提供者(中轉站)

JMS consumer:消費者(接收者)

JMS消息傳遞模式:

點對點模式:p2p,每個消息隻能被一個接收者接收;每條消息要麼被接收者從隊列中取走,要麼被JMS Provider在逾時情況下删除;消息産生的時候接收者不一定存在,接收者可以在消息産生的任何時候取走消息;

釋出/訂閱模式:發送者為釋出者,接收者為訂閱者,一個消息可以有很多接收者,訂閱者隻能接收它訂閱的主題中的消息,訂閱者在消息發送的時候必須是活動的,并随時準備接收消息,否則會錯過該消息。

JMS消息的組成:消息頭(header);屬性(property);消息體(body):bytemessage,mapmessage,streammessage,textmessage,objectmessage.

3、  安裝(必須先安裝JDK(JavaDevelopment kit)才能裝Active MQ):

#mkdir /usr/java

#tar zxvf  /usr/src/ jdk-8u51-linux-x64.tar.gz  -C /usr/java/

#cd /usr/java/

#ln -s  jdk1.8.0_51  /usr/java/jdk

#ls -l  (檢視連結是否正确)

#vim /etc/profile.d/java.sh

JAVA_HOME=/usr/java/jdk

Export  JAVA_HOME

Export  PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

#source /etc/profile.d/java.sh

#java -version

#javac -version  (有正确結果輸出則環境配置正确)

#tar zxvf  /usr/src/ apache-activemq-5.12.0-bin.tar.gz  -C /usr/java/

#ln -s  apache-activemq-5.12.0  /usr/java/activemq

#ll  (檢視軟連結是否正确)

#vim /usr/java/activemq/conf/activemq.xml (主配置檔案,通過此檔案可優化配置,如撤銷存儲政策,broker的memoryUsage閥值,配置監聽IP<transportConnectors>段等)

#/usr/java/activemq/bin/activemq  start|stop

#netstat   lntup  | egrep “61616|8161”

#ps -ef  |  grep activemq

#pkill java

本文轉自 chaijowin 51CTO部落格,原文連結:http://blog.51cto.com/jowin/1688986,如需轉載請自行聯系原作者