mq 是一款穩定、安全又可靠的訊息傳遞中介軟體。它使用訊息和佇列來支援應用程式、系統、服務和檔案之間的資訊交換。它可以簡化和加速多個平台中不同應用程式和業務資料的整合。支援各種 api 和語言,並可以在本地、雲和混合雲中部署。
建立訊息佇列方法
1.在linux伺服器192.168.0.151上新建兩個佇列管理器qm1:
mqm@mq:~> crtmqm qm1
2.啟動qm1
mqm@mq:~> strmqm qm1
3.執行mqseries命令
runmqsc qm1
4.建立qm1的通道:msg_chl
define channel ('msg_chl') chltype(svrconn) +
trptype(tcp) +
descr(' ') +
hbint(300) +
maxmsgl(4194304) +
mcauser('mqm') +
rcvdata(' ') +
rcvexit(' ') +
scydata(' ') +
scyexit(' ') +
senddata(' ') +
sendexit(' ') +
sslcauth(required) +
sslciph(' ') +
sslpeer(' ') +
kaint(auto) +
monchl(qmgr) +
compmsg(none) +
comphdr(none) +
sharecnv(10) +
maxinst(999999999) +
maxinstc(999999999) +
replace
5. 建立偵聽器:(埠號:7001)
define listener ('listener_tcp') +
trptype(tcp) +
ipaddr(' ') +
port(9000) +
backlog(0) +
descr(' ') +
control(qmgr) +
replace
6.建立qm2的佇列:msg_que
define qlocal ('msg_que') +
put(enabled) +
defpsist(yes) +
defpresp(sync) +
clwluseq(qmgr) +
scope(qmgr) +
get(enabled) +
propctl(compat) +
defreada(no) +
maxdepth(20000) +
maxmsgl(4194304) +
usage(normal) +
notrigger +
trigtype(first) +
qdpmaxev(enabled) +
qdphiev(disabled) +
qdploev(disabled) +
statq(qmgr) +
monq(qmgr) +
acctq(qmgr) +
defbind(open) +
replace
7.重啟訊息佇列管理器
結束本地佇列管理器 endmqm mq1
啟動本地佇列管理器 strmqm mq1
若偵聽沒啟動,執行 runmqlsr listener_tcp
8.傳送報文測試 執行
mqm@mq:~/sh> amqsput qr qm1
輸入「this is a test!」,雙擊回車結束
9.通過佇列深度或日誌檢視訊息是否成功傳送到佇列上。
mq指令碼可檢視下篇lr之mq協議效能測試指令碼
訊息佇列MQ
目錄 一 簡介 二 為什麼需要訊息佇列 mq 三 介紹 訊息佇列 message queuing 在電腦科學中,是一種程序間通訊或同一程序間不同執行緒的通訊方式。廣義上講訊息佇列是解決分布式系統中,各個功能模組間的資訊傳遞通訊方式。與檔案傳輸和rpc相比,訊息佇列具有更好的平台無關性,並能夠很好地支...
MQ訊息佇列
1.解耦 系統a將userid寫到訊息佇列中,系統c和系統d從訊息佇列中拿資料。這樣有什麼好處?系統a只負責把資料寫到佇列中,誰想要或不想要這個資料 訊息 系統a一點都不關心。即便現在系統d不想要userid這個資料了,系統b又突然想要userid這個資料了,都跟系統a無關,系統a一點 都不用改。系...
MQ訊息佇列應用
很榮幸,原來一直聽說的訊息佇列終於在前段時間用到了自己的專案中。為什麼會用到訊息佇列?毫無疑問,當然是傳輸訊息。這裡訊息一般是一串字串,當然,訊息的含義很多,可以是 hello world 可以是 你吃飯了嗎?可以是一串正式的xml報文。也可以是乙個txt檔案或者xml檔案 在用active mq的...