這兩天有個功能實現需要用到rabbitmq,之前做大資料的時候用過kafka,對rabbitmq了解的比較少,這裡進行學習總結。
rabbitmq能為你做什麼?
訊息系統允許軟體、應用相互連線和擴充套件。這些應用可以相互鏈結起來組成乙個更大的應用,或者將使用者裝置和資料進行連線。訊息系統通過將訊息的傳送和接收分離來實現應用程式的非同步和解耦。
或許你在考慮實現以下功能:
資料投遞,非阻塞操作或推送通知。
發布/訂閱,非同步處理,或者工作佇列。
這些都是可以通過訊息系統實現的。rabbitmq是乙個訊息** - 乙個訊息系統的媒介。它可以為你的應用提供乙個通用的訊息傳送和接收平台,並且保證訊息在傳輸過程中的安全。
有什麼亮點:
虛擬機上安裝rabbitmq
由於rabbitmq是基於erlang語言開發的,所以必須先安裝erlang。
安裝依賴:yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
解壓:tar -zxvf otp_src_22.0.tar.gz
移走:mv otp_src_22.0 /usr/local/
切換目錄:cd /usr/local/otp_src_22.0/
建立即將安裝的目錄:mkdir ../erlang
配置安裝路徑:./configure --prefix=/usr/local/erlang
安裝:make install
檢視一下是否安裝成功:ll /usr/local/erlang/bin
新增環境變數:echo 'export path=$path:/usr/local/erlang/bin' >> /etc/profile
重新整理環境變數:source /etc/profile
甩一條命令瞬間進入了乙個未知的世界:erl
在裡面輸入halt(). 命令退出來安裝rabbitmq:
由於是tar.xz格式的所以需要用到xz,沒有的話就先安裝 :yum install -y xz
第一次解壓:/bin/xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz
第二次解壓:tar -xvf rabbitmq-server-generic-unix-3.7.15.tar
移走:mv rabbitmq_server-3.7.15/ /usr/local/
改名:mv /usr/local/rabbitmq_server-3.7.15 rabbitmq
配置環境變數:echo 'export path=$path:/usr/local/rabbitmq/sbin' >> /etc/profile
重新整理環境變數:source /etc/profile
建立配置目錄:mkdir /etc/rabbitmq
啟動命令啟動:rabbitmq-server -detached
停止:rabbitmqctl stop
狀態:rabbitmqctl status
防火牆之類的請自行處理(5672和15672埠)
web管理
開啟web外掛程式:rabbitmq-plugins enable rabbitmq_management
訪問:預設賬號密碼:guest\guest(這個賬號只允許localhost訪問)
使用者管理
檢視所有使用者:rabbitmqctl list_users
新增乙個使用者:rabbitmqctl add_user xuan 123456
配置許可權:rabbitmqctl set_permissions -p "/" xuan ".*" ".*" ".*"
檢視使用者許可權:rabbitmqctl list_user_permissions xuan
設定tag:rabbitmqctl set_user_tags xuan administrator
刪除預設使用者:rabbitmqctl delete_user guest
如果是在遠端伺服器上安裝的,這個時候就可以進行遠端訪問了。 初識訊息中介軟體
沒有標準定義,一般認為,採用訊息傳送機制 訊息佇列 的中介軟體技術,進行資料交流,用在分布式系統的整合 解決分布式系統之間訊息的傳遞。電商場景 使用者下單減庫存,呼叫物流系統,系統擴充後服務化和業務拆分。系統互動,一般用rpc 遠端過程呼叫 如果系統擴充到有幾十個介面,訊息中介軟體來解決問題。1 非...
訊息中介軟體
1.訊息的優先順序 2.訊息排序 3.訊息過濾 4.訊息持久化 5.訊息重試 6.事務的支援 7.broker滿 生產者,佇列,消費者 訊息佇列的優點 1 解耦2 非同步訊息,系統響應 在jms中,有兩種訊息模型 點對點模式和發布訂閱模式。1.在點對點模式中 有三種角色 1 訊息佇列,傳送者,接受者...
訊息中介軟體
如何理解訊息中介軟體?訊息中介軟體是儲存訊息的乙個容器,與資料庫不同的是資料庫儲存的資料是可以被修改的,而訊息中介軟體一般不會被修改 訊息中介軟體在消費的生產者與消費者產生,相當於乙個中間人的角色,提供了路由保證訊息的傳遞,如果消費者不能及時接收,訊息會保留下來,知道消費者上線 保證在存活期內 訊息...