ActiveMQ概述和安裝
概述
面向訊息的中介軟體(MOM),是指利用高效可靠的訊息傳遞機制與平臺無關的資料交流,並基於資料通訊來進行分散式系統的整合
大致過程是這樣的:
傳送者把訊息傳送給訊息伺服器,訊息伺服器將訊息存放在若干佇列/主題topic中,在合適的時候,訊息伺服器會將訊息轉發給接受者,在這個過程中,傳送和接收是非同步的,也就是傳送無需等待,而且傳送者的生命週期也沒有必然的關係
尤其在釋出pub/訂閱sub模式下,也可以完成一對多的通訊,即讓一個訊息有多個接受者
特點:
- 解耦
- 削峰
- 非同步
削峰:例如,馬上開始春節火車票搶購,大量的使用者需要同一時間去搶購,以及雙11的秒殺,短時間上億的使用者湧入,瞬時流量巨大(高併發)
減少高峰時期對伺服器的壓力
官網:http://activemq.apache.org/
怎麼玩?
最主要的功能
- 實現高可用,高效能,可伸縮,易用和安全的企業級面對訊息服務的系統
- 非同步訊息的消費和處理
- 可以和spring或者springboot整合簡化程式碼
- 配置叢集容錯的MQ叢集
Linux安裝
1. /opt目錄下面 2. 加壓縮apache-activemq-5.15.9-bin.tar.gz 3. 在根目錄下 mkdir /myactiveMQ 4. cp -r apache-activemq-5.15.9 /myactiveMQ/ 檢視程序 ps -ef|grep activemq|grep -v grep netstat -anp|grep 61616 lsof -i:61616
普通啟動
./activemq start
預設埠為61616
普通關閉
./activemq stop
帶日誌啟動
./activemq start > /run_activemq.log
Apache ActiveMQ控制檯
http://127.0.0.1:8161/admin
預設的使用者名稱和密碼:admin/admin
- 部署在linux 上的acvtiveMQ 要可以通過前臺windows 的頁面訪問,必須把linux 的IP和 windows的 IP 地址配置到同一個閘道器下 。這種情況一般都是修改 linux 的IP 地址,修改網絡卡檔案對應的IP 地址 修改linux 的ip 地址:
cd /etc/sysconfig/network-scripts
vi ifcfg-eth0
這是修改之後的網絡卡檔案配置,IP 地址為:192.168.17.3 (因為我的windows 的IP 地址為192.168.17.1,將他們配置在了同一個閘道器下)
配置成功後 ,可以用 windows ping linux , linux ping windows ,當全部ping 通後,可以使用圖形化介面訪問activeMQ
// ActiveMQ 的前臺埠為 8161 , 提供控制檯服務 後臺埠為61616 ,提供 JMS 服務
// 192.168.17.3 為 linux 的IP 地址, 使用 IP+埠 訪問了ActiveMQ , 登陸之後的樣子如上。(能訪問成功首先得在linux 上啟動activeMQ 的服務),首次登入的預設賬戶密碼為 賬號:admin 密碼:admin
訪問不到的坑:
1 可能是你的linux 和 windows 沒有在一個閘道器下
2 可能你windows 的防火牆或者 linux 的防火牆沒有關掉(是的,先得關掉防火牆)
3 你忘記啟動activemq 的服務了
4 你啟動失敗了,可能是你得java 環境沒配好,必須是jdk 8 或者以上