項目需求剛剛遞交,新需求還沒來。閒下來了,寫寫博客放鬆下。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。
安裝完Erlang以後,咱們就能夠安裝RabbitMQ了。
安裝好以後,RabbitMQ就做爲一個服務按照默認方式進行啓動了
3、啓動管理頁面
咱們能夠經過Web進行管理RabbitMQ:
若是要添加新用戶的話,點擊Admin選項卡,進行添加,詳細的再也不敘述,相信你們一看就能懂。
就這樣,RabbitMQ安裝完畢。下一篇隨筆將介紹下怎麼經過Spring Boot整合RabbitMQ。