來自百度百科
RabbitMQ是實現了高階訊息佇列協定(AMQP)的開源訊息代理軟體(亦稱訊息導向中介層)。RabbitMQ伺服器是用Erlang語言編寫的,而叢集和故障轉移是構建在開放電信平臺框架上的。所有主要的程式語言均有與代理介面通訊的用戶端庫。
強依賴轉變爲弱依賴
圖片來自網上,如果侵權,我就刪了,認慫。選擇哪種MQ根據實際情況而定
# 安裝erlang
wget https://github.com/rabbitmq/erlang-rpm/releases/download/v22.3.4.5/erlang-22.3.4.5-1.el7.x86_64.rpm
rpm -ivh erlang-22.3.4.5-1.el7.x86_64.rpm
#驗證是否成功
erl v
# 下載rabbitMQ
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.6/rabbitmq-server-3.8.6-1.el7.noarch.rpm
rpm -ivh rabbitmq-server-3.8.6-1.el7.noarch.rpm
# 安裝可能會出現錯誤 warning: rabbitmq-server-3.8.6-1.el8.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 6026dfca: NOKEY error: Failed dependencies: socat is needed by rabbitmq-server-3.8.6-1.el8.noarch, 需要安裝 socat
yum -y socat #安裝好 socat 重試即可
rabbitmq 安裝目錄: /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.6
#啓動
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.6
# 開機啓動
chkconfig rabbitmq-server on
/sbin/service rabbitmq-server start
#停止
/sbin/service rabbitmq-server stop
# 檢視外掛
rabbitmq-plugins list
# 設定用戶端外掛
rabbitmq-plugins enable rabbitmq_management
rabbitmq 埠預設:5672, 用戶端預設埠:15672
預設 guest/guest 可能不能登陸,新增一個 admin 使用者,等即可
# 關閉應用
rabbitmqctl stop_app
# 啓動應用
rabbitmqctl start_app
# 節點狀態
rabbitmqctl status
#叢集狀態
rabbitmqctl cluster_status
# 新增使用者密碼
rabbitmqctl add_user admin admin
# 使用者授權
rabbitmqctl set_user_tags admin administrator
# 修改使用者密碼
rabbitmqctl change_password username password
# 列出所有使用者
rabbitmqctl list_users
# 刪除使用者
rabbitmqctl delete_user username
# 列出使用者許可權
rabbitmqctl list_user_permissions username
# 清除使用者許可權
rabbitmqctl clear_permissions -p vhostpath username
# 設定使用者許可權
# 三個*對應:configure write read
rabbitmqctl set_permissions -p vhostpath username ".*" ".*" ".*"
rabbitmqctl set_permissions -p / ikang".*" ".*" ".*"
# 列出所有虛擬主機
rabbitmqctl list_vhosts
# 建立虛擬主機
rabbitmqctl add_vhost vhostpath
# 列出虛擬主機的許可權
rabbitmqctl list_permissions -p vhostpath
# 刪除虛擬主機
rabbitmqctl delete_vhost vhostpath
# 檢視所有佇列
rabbitmqctl list_queues
# 清除佇列裡的訊息
rabbitmqctl -p vhostpath purge_queue queueName
# 清除所有數據
rabbitmqctl reset