ActiveMQ簡介:
MQ(Message Queue)
應用場景:
a.異步處理(用戶註冊)
b.應用解耦(訂單扣庫存)
c.流量削鋒(秒殺業務)
JMS消息模型 Java Message Service
A.P2P (點對點模式)
消息隊列Queue 發送者Sender 接受者Receiver
- 1.每個消息只有一個消費者(消息一旦被消費,消息就不在消息隊列中)
- 2.發送者和接受者之間在時間上沒有依賴性,也就是說當發送者發送了消息後,不管接受者
有沒有運行,他不會影響到消息發送到隊列 - 3.接受者在成功接受到消息之後需要向隊列應答成功
** 如果希望發送的每個消息都會成功處理,要使用P2P模式
B.Publish / Subscribe (發佈訂閱模式)
主題(Topic) 發佈者(Publisher) 訂閱者(Subscriber)
- 1.每個主題可以有多個訂閱者
- 2.發佈者和訂閱者有時間上的依賴性。針對某個主題的訂閱者,他必須創建一個訂閱後,才能
收到消費者發佈者的消息 - 3.爲了消費消息,訂閱者必須保持運行的狀態
消息持久化訂閱
ActiveMQ Topic消息失敗重發
1.JMS消息確認機制
session接口中定義的幾個常量
- AUTO_ACKNOWLEDGE=1 自動確認
- CLIENT_ACKNOWLEDGE=2 客戶端手動確認
- DUPS_OK_ACKNOWLEDGE=3 自動批量確認
- SESSION_TRANSACTED =0 事務提交併確認
1.下載
下載地址: http://activemq.apache.org/components/classic/download/
2.上傳到自己的服務器特定目錄並解壓
[root@iZbp18nyz28va2zwadft2qZ opt]# tar xzf apache-activemq-5.15.12-bin.tar.gz
切換到bin目錄
[root@iZbp18nyz28va2zwadft2qZ bin]# ll
total 156
-rwxr-xr-x 1 root root 21535 Mar 13 19:15 activemq
-rwxr-xr-x 1 root root 6189 Mar 13 19:15 activemq-diag
-rw-r--r-- 1 root root 16405 Mar 13 18:56 activemq.jar
-rw-r--r-- 1 root root 5607 Mar 13 19:15 env
drwxr-xr-x 2 root root 4096 Mar 31 22:55 linux-x86-32
drwxr-xr-x 2 root root 4096 Mar 31 22:55 linux-x86-64
drwxr-xr-x 2 root root 4096 Mar 31 22:55 macosx
-rw-r--r-- 1 root root 83820 Mar 13 18:15 wrapper.jar
3.啓動ActiveMQ
首先你把防火牆端口打開8161(web管理端端口) 61616(tcp服務端口)否則連不上哦
[root@iZbp18nyz28va2zwadft2qZ bin]# ./activemq start
INFO: Loading '/opt/apache-activemq-5.15.12//bin/env'
INFO: Using java '/usr/local/java/jdk1.8.0_231/bin/java'
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
INFO: pidfile created : '/opt/apache-activemq-5.15.12//data/activemq.pid' (pid '953')
++日常操作++
./activemq start 啓動
./activemq stop 停止
./activemq status 查看狀態
4.登陸web管理頁面
如 服務器IP 爲 110.110.11.11
那麼登錄地址爲 http://110.110.11.11:8161/admin
默認帳號密碼爲admin