引子
前幾天遇到個需高效及時可靠的推送資料問題,在此問答篇中先感謝各位的指引後,在社群中發現此博文介紹的訊息釋出訂閱正好解決了我的問題,實在太感謝作者AR414,我也做個記錄以便以後查閱。
Erlang 安裝
首先我是使用linux發行版系統
- 確定系統發行版本。
cat /etc/redhat-release
- 安裝Erlang。
可以再終端輸入erl看是否報錯,如果沒有安裝,則檢查下所需要的依賴,缺的依賴都給裝上就行
下載rpm包yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
升級rpm包,可以獲取到最新版本的erl包wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
如果出錯,缺少什麼依賴就安裝上去,我裝了幾次,有一次缺少了 epel-releaserpm -Uvh erlang-solutions-1.0-1.noarch.rpm
開始安裝yum -y install epel-release
不出意外就安裝好了,下面可以開始安裝RabbitMQ了!sudo yum install erlang
RabbitMQ安裝
1:通過你的Elrang版本選擇適合你的RabbitMQ,Erlang版本可在終端輸入erl,檢視到當前Erlang/OTP ,然後在此頁面確定適合你的RabbitMQ版本,如下我截了一點點圖,具體還是可以看官網比較詳細。
然後找到適合你的版本後去這個頁面,在通過你之前確定的linux發行版本下載合適的軟體安裝包。
我的是CentOS 7.7 ,Erlang/OTP 是22,我就裝個3.8.4是適合的,下載軟體
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.4/rabbitmq-server-3.8.4-1.el7.noarch.rpm
簽名祕鑰
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
開始安裝
yum install rabbitmq-server-3.8.4-1.el7.noarch.rpm
大概意思讓你的rabbitMQ能夠作為守護程式啟動
chkconfig rabbitmq-server on
基礎操作
service rabbitmq-server start //啟動
service rabbitmq-server status //執行狀態
service rabbitmq-server stop //停止
想要在web頁面看到RabbitMQ裡面交換機啊,通道啊佇列啊啥的詳情需要開啟一下,同時不要忘記伺服器裡面把埠號15672安全組配置一下,至此簡單的安裝就完成了。
/usr/sbin/rabbitmq-plugins enable rabbitmq_management
釋出/訂閱 簡單使用
當一切都準備穩妥後就需要簡單的使用一下了。引入個包檔案
composer require php-amqplib/php-amqplib
生產者
其中交換機宣告這裡有四種型別這裡使用”fanout”是使得所有繫結此交換機的消費者都能接受到訊息。
消費者
執行
注意
在釋出訂閱裡面,要保證所有的訊息都能被消費者接收到,一定要設定交換機的持久化,訊息的持久化,佇列的持久化。
本作品採用《CC 協議》,轉載必須註明作者和本文連結