剛開始接觸RabbitMQ的時候,有些概念那理解起來簡直是像風像雨又像霧,晦澀難懂。 這篇文章用盡量淺顯的語言來解釋RabbitMQ的入門知識。畢竟是入門課程,並無對不少概念進行深刻說明,若是你想更深刻的瞭解RabbitMQ,能夠繼續關注本頭條號後續發佈的文章或者本身從網上搜尋了資料,本身探索研究。html
官方定義:RabbitMQ是一種消息中間件,用於處理來自客戶端的異步消息。服務端將要發送的消息放入到隊列池中。接收端能夠根據RabbitMQ配置的轉發機制接收服務端發來的消息。RabbitMQ依據指定的轉發規則進行消息的轉發、緩衝和持久化操做,主要用在多服務器間或單服務器的子系統間進行通訊,是分佈式系統標準的配置。 趣味定義:兔子行動很是迅速並且繁殖起來也很是瘋狂,用Rabbit來命名這個分佈式軟件,呼應了RabbitMQ的主要任務是處理海量的信息web
下載地址:http://erlang.org/download/otp_win64_21.0.1.exeapache
下載地址:https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.7/rabbitmq-server-3.7.7.exe 若是你要安裝其它版本,注意版本對應:https://www.rabbitmq.com/which-erlang.html服務器
Windows下:打開CMD 進入rabbitmq的安裝目錄 執行rabbitmq-plugins enable rabbitmq_management命令 該命令,僅在首次運行RMQ時使用!!!目的就是加載Web插件!!! 異步
默認用戶名:guest 默認密碼:guest 分佈式
https://content.pivotal.io/rabbitmq/understanding-when-to-use-rabbitmq-or-apache-kafka測試
如下是RabbitMQ最簡單的流程圖,相信看到這裏的你,對MQ的運做流程應該會有個基本的瞭解了: 插件
http://www.rabbitmq.com/tutorials/amqp-concepts.html 這裏介紹三種最主要的類型的exchange:direct、fanout和topic。3d
Direct交換器很簡單,若是是Direct類型,就會將消息中的RoutingKey與該Exchange關聯的全部Binding中的BindingKey進行比較,若是相等,則發送到該Binding對應的Queue中。有一個須要注意的地方:若是找不到指定的exchange,就會報錯。但routing key找不到的話,不會報錯,這條消息會直接丟失,因此此處要當心。日誌
Fanout 扇出,顧名思義,就是像風扇吹麪粉同樣,吹獲得處都是。若是使用fanout類型的exchange,那麼routing key就不重要了。由於凡是綁定到這個exchange的queue,都會受到消息。
routing key綁定以下圖:
更多資料分享,問題諮詢,能夠入羣討論:375412858 請入羣索要代碼