(一)概述
一般認爲,消息中間件屬於分佈式系統中一個子系統,關注於數據的發送和接收,利用高效可靠的異步消息傳遞機制對分佈式系統中的其餘各個子系統進行集成。java中常用的消息中間件有ActiveMQ、RabbitMQ、Kafka等等。
系統解耦:舉個例子,系統A產生了一個數據,系統B需要這個數據,所以B要調用A。但是如果同時還有系統CDEFGH...也需要調用系統A,這個系統的耦合性就很強。此時就可以使用消息中間件。系統A將數據發送給消息中間件,然後其他系統去消息中間件中獲取數據,實現解耦合。
異步調用:在很多時候應用不想也不需要立即處理消息,可以把消息先發送給消息中間件,但並不立即處理它,在之後需要的時候再慢慢處理
流量削峯:對於一個平常每秒只能處理幾百個請求的系統,如果一次性發過來上千個請求就有可能使系統崩潰。因此可以使用消息中間件,將請求先發送到消息中間件中,再慢慢的發給系統去處理。
(二)RabbitMQ的安裝和使用
以Window爲例,進入RabbitMQ的官網找到下載頁:https://www.rabbitmq.com/install-windows.html
發這篇博客時的最新版本是3.8.2,直接點擊下載即可。由於Rabbitmq是由Erlang語言開發的,因此還需要下載Erlang環境https://www.erlang.org/downloads,我下載的是64位windows版本
接下來先安裝Erlang,再安裝Rabbitmq。
安裝好了之後,通過命令行進入到RabbitMQ Server\rabbitmq_server-3.8.2\sbin目錄下,用下面的命令啓動RabbitMQ
rabbitmq-plugins enable rabbitmq_management
在瀏覽器中輸入http://localhost:15672/進入RabbitMQ的可視化界面,默認的用戶名和密碼都是guest,輸入後進入主頁:
(三)RabbitMQ的用戶和vhost配置
添加成功後就能看到增加了一個新的用戶
這裏的virtual hosts其實是就是一個虛擬的消息服務器,可以設置用戶對庫和表等對象的操作權限。
添加成功後我們點擊vhosts的名稱,可以修改vhosts的相關配置,在這裏設置vhosts的權限,添加user_sdxb對它的權限
以上就是RabbitMQ的安裝和簡單使用方法,對RabbitMQ的更多應用將在接下來的博客中講解。