MQ
1、AMQP和rabbitMq:
amqp是一種網路協議,支持符合條件的客戶端和訊息代理中間件進行通訊,rabbitmq是amqp的實作,所以rabbitmq可以使用amqp的所有概念和準則,
2、訊息流向:
生產者(publisher/producer)生產具有指定路由鍵(routing key)的訊息將其發布給訊息代理(broker 即rabbitmq)中的交換機(exchange),交換機將訊息中的路由鍵與佇列(queue)系結資訊(binding)中存盤的路由鍵對比,將訊息路由到匹配的佇列中,佇列再將資訊通過連接(connection)中的通道(channel)推送給訂閱了訊息的消費者(consumer),
3、交換機的種類:
a、直連交換機:類似于鍵值對,通過匹配鍵值將訊息發送到對應的佇列,
b、主題交換機:類似于模糊匹配,*代表一個單詞,#代表0或者多個單詞,
c、扇形交換機:將訊息發送給連接到交換機上的所有佇列中,
d、頭交換機:有時訊息的路由操作會涉及到多個屬性,此時使用訊息頭就比用路由鍵更容易表達,頭交換機(headers exchange)就是為此而生的,頭交換機使用多個訊息屬性來代替路由鍵建立路由規則,通過判斷訊息頭的值能否與指定的系結相匹配來確立路由規則,
e、默認交換機:默認交換機是一種特殊的直連交換機(direct exchange),它是由訊息代理默認宣告的,該交換機有一個特性,所有新建的佇列都會默認系結到默認交換機上,并且系結的routing ke就是佇列的名字,
4、安裝:
準備:
阿里云服務器一臺(Centos7.5)、Xshell、ftp檔案傳輸工具(我用的是FileZilla)、壓縮包(rabbitmq-server-generic-unix-3.7.4.tar).
a、安裝依賴檔案:
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget
b、安裝erlang語言環境:
wget http://www.erlang.org/download/otp_src_20.3.tar.gz #下載erlang包
tar -xvf otp_src_20.3.tar.gz #解壓
cd otp_src_20.3/ #切換到安裝路徑
./configure --prefix=/usr/local/erlang #生產安裝配置
make && make install #編譯安裝
c、配置erlang環境變數:
vi /etc/profile #在底部添加以下內容
#set erlang environment
ERL_HOME=/usr/local/erlang
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH
source /etc/profile #使以上配置生效
測驗是否安裝成功:
在終端輸入erl,看是否進入erlang的shell,

d、安裝RabbitMq:
切換路徑: cd /usr/local ------需要安裝的位置
下載安裝包:wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.4/rabbitmq-server-generic-unix-3.7.4.tar.xz
解壓:
xz -d rabbitmq-server-generic-unix-3.7.4.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.7.4.tar
mv rabbitmq_server-3.7.4/ rabbitmq
注意:下載安裝包時鏈接可能會出現forbidden,所以我是直接將安裝包到本地,然后上傳給服務器:
地址:放在tools目錄下,
e、配置rabbitMq環境變數:
vi /etc/profile
#set rabbitmq environment
export PATH=$PATH:/usr/local/rabbitmq/sbin
source /etc/profile
d、啟動服務:
rabbitmq-server -detached //啟動rabbitmq,-detached代表后臺守護行程方式啟動,
f、查看狀態:
rabbitmqctl status

g、配合網頁插件:
mkdir /etc/rabbitmq
rabbitmq-plugins enable rabbitmq_management //啟用插件
阿里云控制臺配置安全組:15672和5672埠
h、添加用戶:
rabbitmqctl add_user admin admin #添加用戶
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" #添加權限
rabbitmqctl set_user_tags admin administrator #修改用戶角色
i、訪問:
ip:5672



//TODO
測驗案例傳送門:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/293542.html
標籤:其他
下一篇:Spark資料傾斜解決方案
