RabbitMQ入門教程(一)——簡介、安裝與配置

1. 簡介

   1.1 MQ簡介

       MQ,全稱MessageQueue,譯爲“消息隊列”,也稱“消息中間件”。
       那消息隊列主要是用來做啥的呢?以某位大咖的公衆號爲例,如果某讀者訂閱(關注)了這個公衆號,每當大咖發佈新文章的時候,都可以在這個公衆號得到通知,這就是一種廣播訂閱模式。
       而公衆號如何實現這一點呢? 就可以通過 消息中間件 來輕鬆實現。
大咖把最新的教程的文章 發給 消息中間件服務器, 讀者手機上的微信裏的消息中間件客戶端,就會自動去把消息獲取出來顯示,這樣就達到了教程廣播的效果了。
       消息隊列用於系統之間解耦,通過高性能消息中間件,提升系統吞吐量,降低導致系統耦合。

   1.2 RabbitMQ簡介

       當前有各種消息隊列,RabbitMQ、Kafka、ActiveMQ等,爲什麼使用RabbitMQ?
       消息隊列從使用場景來分爲兩類:

  • 一類是大數據的數據流處理,數據採集者作爲生產者數據通過消息隊列從到後端處理。這種場景要求高吞吐高併發,Kafka專門爲這種場景設計。
  • 另一類是消息高可靠低時延在系統之間傳遞,這種場景要求可靠性高,消息不能丟;要求時延低。AMQP協議專門爲這種場景設計,RabbitMQ是AMQP協議實現者之一,也是當前使用的最廣的AMQP消息隊列。

    1.3 典型的消息隊列處理流程

以一個提供網頁轉PDF的Web應用爲例,描述消息處理流程。
在這裏插入圖片描述

  1. 用戶發送網頁轉PDF請求到Web應用
  2. Web應用發送一個消息到RabbitMQ,包括網頁內容、用戶名、郵箱等
  3. RabbitMQ的Exchange接收到消息後,將消息路由到某一個隊列
  4. PEF生成器消費隊列的消息,生成PDF

    1.4 基本概念

在這裏插入圖片描述

  • 生產者 Publicsher:消息發佈者
  • 消費者 Consumer:消息接收者
  • 服務器 Broker:Broker是一個物理上的服務器(或虛擬機),它是部署了消息中間件並接收處理客戶端請求的實體。
  • 隊列 Queue:用於存儲消息的一塊緩存
  • 消息 Message :具體的消息內容,一般爲String
  • 連接 Connection:應用與RabbitMQ Broker之間的TCP連接
  • 通道 Channel:連接內的虛擬連接,應用生產或消費隊列中的消息時,都是通過Channel完成的
  • 綁定 Binding:Queue與Exchange之間連接
  • 路由鍵 Routing Key:Exchange根據Routing Key來決定將消息投遞到哪個隊列,類似消息的地址
  • 用戶 User:RabbitMQ連接需要用戶密碼認證;同時可以給用戶設定讀、寫等權限
  • 虛擬主機 Virtual Host:Virtual Host用來區使用同一個RabbitMQ實例的多個應用。connections, exchanges, queues, bindings, user permissions, policies and some other things 都屬於Virtual Host。

2. 安裝

   2.1 erlang的安裝

       rabbitMQ 是基於 erlang 語言開發的,就如同 activemq 需要安裝 java 環境一樣, 爲了使用 rabbitMQ 需要安裝 erlang環境。
https://www.erlang.org/downloads
在這裏插入圖片描述
       下載完後無腦下一步安裝即可。
       與 jdk類似,也要配置路徑,只是不用配置 ERL_HOME,直接配置 PATH就可以了。
       右鍵點擊我的電腦-> 屬性 -> 高級系統設置 -> 高級 -> 環境變量 -> 系統變量 -> Path
       然後增加如圖所示的一條新的 路徑。 這個路徑就是 erlang 安裝程序 截圖裏所用的路徑。
在這裏插入圖片描述
       使用快捷鍵 win+r, 然後輸入 cmd, 接着運行 erl。 出現如圖所示的界面,就表示安裝成功了。
在這裏插入圖片描述

   2.2 RabbitMQ的安裝

       https://www.rabbitmq.com/download.html

在這裏插入圖片描述
       使用默認設置,下一步下一步即可。安裝成功之後,在如圖所示位置可以看到這些文件就表示安裝OK了。
在這裏插入圖片描述

   2.3 RabbitMQ配置插件

       運行如下命令,可以做到對 rabbitmq的插件配置。

"C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-plugins.bat" enable rabbitmq_management 

在這裏插入圖片描述
在這裏插入圖片描述
       在這裏重啓。

   2.3 RabbitMQ的配置

       進入http://127.0.0.1:15672
       輸入
       賬號: guest
       密碼: guest
       就登陸進去啦
在這裏插入圖片描述

   2.3.1 添加用戶

   2.3.1.1 添加用戶界面

在這裏插入圖片描述

   2.3.1.2 添加管理員

在這裏插入圖片描述
       我們添加賬號 admin密碼 admin tags 選擇 admin
       我們看到剛添加完成的用戶 在 vhost 一欄是沒有權限的,所以呢我們這個時候的給他設置一個 vhost,那麼這個 vhost 就相當於一個數據庫(可以理解爲 mysql 裏面的一個 db),我們創建一個用戶對其用戶授權,他就可以訪問了

   2.3.1.3 vhost 管理

       1.點擊右側的菜單進入 vhost 的管理界面
在這裏插入圖片描述
       2.點擊 Add a new virtual host 添加一個 vhost,在 Rabbitmq 中我們添加 vhost 一般是以”/”開頭,那麼我們添加一個/lbl 的 vhost;

在這裏插入圖片描述
       3.當我們創建這個”vhost_lbl”的 vhost, 就可以對他進行用戶授權,我們點擊/vhost_mmr,進入其配置界面

在這裏插入圖片描述
       在 permission 權限這一欄 我們選擇剛剛創建的用戶 admin,選擇完成後 Set Permission

在這裏插入圖片描述
       我們退出 guest 用戶,就可以使用剛剛創建的用戶 admin 進行登錄了
在這裏插入圖片描述
       這時候大功告成,創建成功!~

   2.3.2 控制檯功能介紹

在這裏插入圖片描述
       Overview 概覽在這裏插入圖片描述

       Connections 連接在這裏插入圖片描述
       我們沒有連接 , 這個就好像 jdbc 連接 mysql 一樣 如果有程序連接這 ,這時候這裏面就能顯示哪些機器連接着
在這裏插入圖片描述
       這些後面在講具體的內容的時候 會提到是幹什麼用的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章