ActiveMQ

张Blog發表於2024-04-09

入門概述

MQ 種類和對比

MQ 就是訊息中介軟體。MQ 是一種理念,ActiveMQ 是 MQ 的落地產品。不管是哪款訊息中介軟體,都有如下一些技術維度:

assets/ActiveMQ/image-20240408221948862.png

MQ 訊息的詳細比較

assets/ActiveMQ/image-20240408222125860.png

各類 MQ 的擅長領域

MQ 種類 變成語言 擅長領域
kafka scala 大資料領域的主流 MQ。
rabbitmq erlang 基於 erlang 語言,不好修改底層,不好查詢問題的原因,不建議選用
rocketmq java 適用於大型專案。適用於叢集
activemq java 適用於中小型專案
### 是什麼

面向訊息的中介軟體(message-oriented middleware)MOM 能夠很好的解決以上問題。是指利用高效可靠的訊息傳遞機制與平臺無關的資料交流,並基於資料通訊來進行分散式系統的整合。透過提供訊息傳遞和訊息排隊模型在分散式環境下提供應用解耦,彈性伸縮,冗餘儲存、流量削峰,非同步通訊,資料同步等功能。

大致的過程是這樣的:傳送者把訊息傳送給訊息伺服器,訊息伺服器將訊息存放在若干佇列/主題 topic 中,在合適的時候,訊息伺服器回將訊息轉發給接受者。在這個過程中,傳送和接收是非同步的,也就是傳送無需等待,而且傳送者和接受者的生命週期也沒有必然的關係;尤其在釋出 pub/訂閱 sub 模式下,也可以完成一對多的通訊,即讓一個訊息有多個接受者。

assets/ActiveMQ/image-20240408224621057.png

怎麼下載

如何安裝與檢視控制檯

linux 系統直接安裝

檢查 JAVA 環境

由於 ActiveMQ 是 java 編寫的,因此需要有 jdk 的執行環境,檢查 Java 版本

 java -version

assets/ActiveMQ/image-20240408234356463.png

官網下載安裝包

凡遇技術,必定官網ActiveMQ (apache.org)

下圖中左側是穩定版,右側是開發版。

assets/ActiveMQ/image-20240408231212252.png

下載 Linux 的版本,因為需要搭建叢集伺服器

assets/ActiveMQ/image-20240408231420314.png

上傳安裝包到linux伺服器

安裝包放到/opt 目錄下,放在哪個目錄沒有硬性要求

assets/ActiveMQ/image-20240408235316664.png

建立軟體安裝資料夾

軟體安裝資料夾,沒有路徑要求

# 建立軟體安裝的資料夾 -p 父目錄不存在,則迴圈建立
mkdir -p /software/activeMQ/

解壓縮安裝包

tar -zxvf apache-activemq-5.14.5-bin.tar.gz

assets/ActiveMQ/image-20240409000433353.png

複製解壓檔案

複製解壓的軟體到指定的安裝資料夾,直接解壓過去也是可以的

cp -r apache-activemq-5.14.5 /software/activeMQ/

assets/ActiveMQ/image-20240409000715651.png

普通啟動

# 首先要跳轉到 %軟體的安裝目錄%/bin 目錄下
cd /software/activeMQ/apache-activemq-5.14.5/bin
# 執行啟動命令
./activemq start

assets/ActiveMQ/image-20240409001242335.png

檢查服務是否啟動

方式1:檢查程序

 ps -ef | grep activemq

assets/ActiveMQ/image-20240409015224394.png

方式2:檢查埠是否被佔用

ActiveMQ預設埠是61616

netstat -anp | grep 61616

方式三:換種方式檢視埠是否被佔用

 lsof -i:61616

啟動異常排查

cat /software/activeMQ/apache-activemq-5.14.5/data/activemq.log

參考資料

  • 官網:ActiveMQ (apache.org)

相關文章