入門概述
MQ 種類和對比
MQ 就是訊息中介軟體。MQ 是一種理念,ActiveMQ 是 MQ 的落地產品。不管是哪款訊息中介軟體,都有如下一些技術維度:
MQ 訊息的詳細比較
各類 MQ 的擅長領域
MQ 種類 | 變成語言 | 擅長領域 |
---|---|---|
kafka | scala | 大資料領域的主流 MQ。 |
rabbitmq | erlang | 基於 erlang 語言,不好修改底層,不好查詢問題的原因,不建議選用 |
rocketmq | java | 適用於大型專案。適用於叢集 |
activemq | java | 適用於中小型專案 |
### 是什麼 |
面向訊息的中介軟體(message-oriented middleware)MOM 能夠很好的解決以上問題。是指利用高效可靠的訊息傳遞機制與平臺無關的資料交流,並基於資料通訊來進行分散式系統的整合。透過提供訊息傳遞和訊息排隊模型在分散式環境下提供應用解耦,彈性伸縮,冗餘儲存、流量削峰,非同步通訊,資料同步等功能。
大致的過程是這樣的:傳送者把訊息傳送給訊息伺服器,訊息伺服器將訊息存放在若干佇列/主題 topic 中,在合適的時候,訊息伺服器回將訊息轉發給接受者。在這個過程中,傳送和接收是非同步的,也就是傳送無需等待,而且傳送者和接受者的生命週期也沒有必然的關係;尤其在釋出 pub/訂閱 sub 模式下,也可以完成一對多的通訊,即讓一個訊息有多個接受者。
怎麼下載
如何安裝與檢視控制檯
linux 系統直接安裝
檢查 JAVA 環境
由於 ActiveMQ 是 java 編寫的,因此需要有 jdk 的執行環境,檢查 Java 版本
java -version
官網下載安裝包
凡遇技術,必定官網ActiveMQ (apache.org)
下圖中左側是穩定版,右側是開發版。
下載 Linux 的版本,因為需要搭建叢集伺服器
上傳安裝包到linux伺服器
安裝包放到/opt 目錄下,放在哪個目錄沒有硬性要求
建立軟體安裝資料夾
軟體安裝資料夾,沒有路徑要求
# 建立軟體安裝的資料夾 -p 父目錄不存在,則迴圈建立
mkdir -p /software/activeMQ/
解壓縮安裝包
tar -zxvf apache-activemq-5.14.5-bin.tar.gz
複製解壓檔案
複製解壓的軟體到指定的安裝資料夾,直接解壓過去也是可以的
cp -r apache-activemq-5.14.5 /software/activeMQ/
普通啟動
# 首先要跳轉到 %軟體的安裝目錄%/bin 目錄下
cd /software/activeMQ/apache-activemq-5.14.5/bin
# 執行啟動命令
./activemq start
檢查服務是否啟動
方式1:檢查程序
ps -ef | grep activemq
方式2:檢查埠是否被佔用
ActiveMQ預設埠是61616
netstat -anp | grep 61616
方式三:換種方式檢視埠是否被佔用
lsof -i:61616
啟動異常排查
cat /software/activeMQ/apache-activemq-5.14.5/data/activemq.log
參考資料
- 官網:ActiveMQ (apache.org)