RabbitMQ入門:認識並安裝RabbitMQ(以Windows系統爲例)

項目需求剛剛遞交,新需求還沒來。閒下來了,寫寫博客放鬆下。html

===========華麗的分割線=================windows

最近在學習Spring Cloud,其中消息總線Spring Cloud Bus是必不可少的,可是Spring Cloud Bus目前只支持RabbitMQ和kafka,所以學習RabbitMQ勢在必行,今天先從最基本的安裝開始。安裝以前咱們先認識下RabbitMQ。瀏覽器

1、初識RabbitMQ服務器

百度百科有這麼一句話:ide

MQ是消費-生產者模型的一個典型的表明,一端往消息隊列中不斷寫入消息,
而另外一端則能夠讀取或者訂閱隊列中的消息。
MQ和JMS相似,但不一樣的是JMS是SUN JAVA消息中間件服務的一個標準和API定義,
而MQ則是遵循了AMQP協議的具體實現和產品。

他的官網中用大大的黑粗字體寫着:學習

RabbitMQ is the most widely deployed open source message broker.

因而可知,RabbitMQ是一個消息中間件,生產者生成消息,消費者消費消息,它遵循AMQP(高級消息隊列協議),是最普遍部署的開源消息代理。字體

另外,RabbitMQ是用Erlang語言實現的,它有幾個概念:spa

    broker:消息隊列服務器實體。
  exchange:消息交換機,它指定消息按什麼規則,路由到哪一個隊列。
  queue:消息隊列,每一個消息都會被投入到一個或多個隊列。
  binding:綁定,它的做用就是把exchange和queue按照路由規則綁定起來。
  routing Key:路由關鍵字,exchange根據這個關鍵字進行消息投遞。
  vhost:虛擬主機,一個broker裏能夠開設多個vhost,用做不一樣用戶的權限分離。
  producer:消息生產者,就是投遞消息的程序。
  consumer:消息消費者,就是接受消息的程序。
  channel:消息通道,在客戶端的每一個鏈接裏,可創建多個channel,每一個channel表明一個會話任務。

消息隊列的使用過程大概以下:插件

1)客戶端鏈接到消息隊列服務器broker,打開一個channel。
(2)客戶端聲明一個exchange,並設置相關屬性。
(3)客戶端聲明一個queue,並設置相關屬性。
(4)客戶端使用routing key,在exchange和queue之間創建好綁定關係。
(5)客戶端投遞消息到exchange。
(6)exchange接收到消息後,就根據消息的key和已經設置的binding,進行消息路由,將消息投遞到一個或多個隊列裏。

 

2、安裝RabbitMQ(以Windows爲例)3d

因爲RabbitMQ是用Erlang語言編寫的,所以須要先安裝Erlang。

  1. 經過http://www.erlang.org/downloads獲取對應安裝文件進行安裝
  2. 增長環境變量ERLANG_HOME=D:\Program Files\erl9.3(這裏的目錄是個人安裝目錄,你要換成本身的目錄)
  3. 修改環境變量Path,在原來的值後面加上「;%ERLANG_HOME%\bin

安裝完Erlang以後,咱們就能夠安裝RabbitMQ了。

  1. http://www.rabbitmq.com/install-windows-manual.html下載安裝包進行安裝
  2. 增長環境變量RABBITMQ_HOEM=D:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.5(這裏的目錄是個人安裝目錄,你要換成本身的目錄)
  3. 修改環境變量Path,在原來的值後面加上「;%RABBITMQ_HOME%\sbin

安裝好以後,RabbitMQ就做爲一個服務按照默認方式進行啓動了

 

3、啓動管理頁面

 咱們能夠經過Web進行管理RabbitMQ:

  1. 運行命令rabbitmq-plugins enable rabbitmq_management 開啓Web管理插件

     

  2. 經過瀏覽器訪問http://localhost:15672,並經過默認用戶guest進行登陸,密碼也是guest,登陸後的頁面:頁面中有咱們前面提到的基本概念,好比channels/exchanges/queues等,能夠逐個點進去看下詳細狀況。

    若是要添加新用戶的話,點擊Admin選項卡,進行添加,詳細的再也不敘述,相信你們一看就能懂。

就這樣,RabbitMQ安裝完畢。下一篇隨筆將介紹下怎麼經過Spring Boot整合RabbitMQ

相關文章
相關標籤/搜索