之前也用過Activemq,最近學習下RabbitMQ,這裏整理下學習的過程,跟大家分享下
什麼是消息隊列?
消息隊列本身是一個隊列,FIFO(first input first output先進先出),隊列裏存放的是消息message,主要用在於進程之間或者線程之間的通訊。
不同的進程之間,傳遞消息的時候,兩個進程耦合度過高。如果要改動一個進程,就有可能引發另一個進程的接口需要修改。爲了降低耦合度,避免不必要的修改,我們在兩個進程中,建立一箇中間件,作爲兩個進程通訊的組件,單獨修改一個,就不用修改另一個了。
消息傳遞的過程中,消息要有標準化、規範化,接收的進程,無法及時消費的話,就需要排隊,因此就出現了消息隊列。
消息對象的種類:Activemq、rabbitmq、rocketmq,kafka等等
AMQP是一種消息的協議,即Advanced message queuing protocol,一個提供統一消息服務的應用層高級消息隊列協議,是應用層協議的一種標準,爲面向消息中間件設計。基於此協議的客戶端與消息中間件可傳遞消息,並不受客戶端/中間件不同產品,不限於開發語言。
rabbitmq 監聽端口:15672
這裏介紹centos7下安裝rabbitmq的步驟
1、下載 erlang solution
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
安裝EPEL
yum install epel-release -y
2、安裝
登錄後
Admin page這裏可以添加管理員,並設置賬戶級別
賬號級別有Admin,Monitoring,Policymaker,Management,Impersonator,None
Admin就是超級管理員的權限,可以登錄控制檯,查看所有消息,可以對用戶和策略進行操作
Monitoring是監控者,可以登錄控制檯,查看節點相關信息,比如進程數、內存磁盤使用情況
Policymaker策略制定者,可以登錄控制檯,制定策略,但是無法查看節點信息
Manament普通管理員,僅能登錄控制檯,無法查看節點信息,也無法查看策略
以上的四種級別都需要在啓用了management plugins的情況下,纔有效。
Impersonator模仿者,不能登錄控制檯,一般就是普通的生產者和消費者
None就無法登錄控制檯了
爲指定用戶,添加虛擬機