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,如需轉載請自行聯系原作者