1. 程式人生 > >RabbitMQ入門:認識並安裝RabbitMQ(以Windows系統為例)

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

專案需求剛剛遞交,新需求還沒來。閒下來了,寫寫部落格放鬆下。

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

最近在學習Spring Cloud,其中訊息匯流排Spring Cloud Bus是必不可少的,但是Spring Cloud Bus目前只支援RabbitMQ和kafka,因此學習RabbitMQ勢在必行,今天先從最基本的安裝開始。安裝之前我們先認識下RabbitMQ。

一、初識RabbitMQ

百度百科有這麼一句話:

MQ是消費-生產者模型的一個典型的代表,一端往訊息佇列中不斷寫入訊息,
而另一端則可以讀取或者訂閱佇列中的訊息。
MQ和JMS類似,但不同的是JMS是SUN JAVA訊息中介軟體服務的一個標準和API定義,
而MQ則是遵循了AMQP協議的具體實現和產品。

他的官網中用大大的黑粗字型寫著:

RabbitMQ is the most widely deployed open source message broker.

由此可見,RabbitMQ是一個訊息中介軟體,生產者生成訊息,消費者消費訊息,它遵循AMQP(高階訊息佇列協議),是最廣泛部署的開源訊息代理。

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

    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,進行訊息路由,將訊息投遞到一個或多個佇列裡。

二、安裝RabbitMQ(以Windows為例)

由於RabbitMQ是用Erlang語言編寫的,因此需要先安裝Erlang。

  1. 增加環境變數ERLANG_HOME=D:\Program Files\erl9.3(這裡的目錄是我的安裝目錄,你要換成自己的目錄)
  2. 修改環境變數Path,在原來的值後面加上“;%ERLANG_HOME%\bin

安裝完Erlang之後,我們就可以安裝RabbitMQ了。

  1. 增加環境變數RABBITMQ_HOEM=D:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.5(這裡的目錄是我的安裝目錄,你要換成自己的目錄)
  2. 修改環境變數Path,在原來的值後面加上“;%RABBITMQ_HOME%\sbin

安裝好之後,RabbitMQ就作為一個服務按照預設方式進行啟動了

三、啟動管理頁面

 我們可以通過Web進行管理RabbitMQ:

  1. 執行命令rabbitmq-plugins enable rabbitmq_management 開啟Web管理外掛
  2. 通過瀏覽器訪問http://localhost:15672,並通過預設使用者guest進行登入,密碼也是guest,登入後的頁面:頁面中有我們前面提到的基本概念,比如channels/exchanges/queues等,可以逐個點進去看下詳細情況。

    如果要新增新使用者的話,點選Admin選項卡,進行新增,詳細的不再敘述,相信大家一看就能懂。

相關推薦

RabbitMQ入門認識安裝RabbitMQWindows系統

專案需求剛剛遞交,新需求還沒來。閒下來了,寫寫部落格放鬆下。 ===========華麗的分割線================= 最近在學習Spring Cloud,其中訊息匯流排Spring Cloud Bus是必不可少的,但是Spring Cloud Bus目前只支援RabbitMQ和kafka,因

Ubuntu設定環境變數立即生效Ubuntu12.04

Ubuntu Linux系統包含兩類環境變數:系統環境變數和使用者環境變數。系統環境變數對所有系統使用者都有效,使用者環境變數僅僅對當前的使用者有效。 修改使用者環境變數 使用者環境變數通常被儲存在下面的檔案中: ~/.profile ~/.bash_profi

使用vmware虛擬機器安裝Linuxredhat5.8中常見問題

需要準備的工具:1、VMware workstations(這是一個商業軟體,但是在我們大中國,不用愁沒有破解版,自己找吧,我用的是VMware workstations 10.0)                                 2、redhat5.8的I

zookeeper安裝教程zookeeper3.4.5

time 註意 doc tle lba class onf 好的 .org zookeeper有單機、偽集群、集群三種部署方式,可根據自己對可靠性的需求選擇合適的部署方式。下邊對這三種部署方式逐一進行講解。 一、單機安裝 1.1 下載 進入要下載的版本的目錄,選擇.ta

Centos 7Linux環境下安裝PHP編譯添加相應動態擴展模塊soopenssl.so

linu *** bz2 restart lan openssl 發現 不知道 tails https://blog.csdn.net/shinesun001/article/details/54312402 在centos 7環境下搭建好Lnmp環境之後,發現安裝的php

tensorflow 16資料讀取cifar10_input.py

資料讀取概述 TensorFlow程式讀取資料一共有3種方法: 供給資料(Feeding): 在TensorFlow程式執行的每一步, 讓Python程式碼來供給資料。 從檔案讀取資料: 在TensorFlow圖的起始, 讓一個輸入管線從檔案中讀取資料。 預載

Linux下安裝Docker CE CentOS 7

 系統要求:centos 7 64位,centos-extras儲存庫必須啟用。 解除安裝舊版Docker 查詢當前的Docker版本 $ docker -v            如果存在已安

python web開發虛擬環境安裝與配置flask開發

為什麼要搭建虛擬環境? 問題:如果在一臺電腦上, 想開發多個不同的專案, 需要用到同一個包的不同版本, 如果使用上面的命令, 在同一個目錄下安裝或者更新, 新版本會覆蓋以前的版本, 其它的專案就無法運行了. 解決方案 :虛擬環境 作用 : 虛擬環境可以搭建獨立的p

開發人員技術學習、歸納方法學習 Maven

本文初衷 把自己模板化 以此篇為引,與同行溝通心得,所以在此嚴重要求如果你有對應的心得還請能回覆下,真心感謝!(鞠躬) 當我們要學習新技術/東西 在過去未被自己流程化的情況下,自己學習新的東西的時候一直是處理迷迷糊糊的狀態,直到我看到這張思維

安裝特定版本的TensorFlowLinux平臺

    在科研學習的過程中,經常出現一些需要使用其他研究人員既有演算法程式碼的情況。這些程式碼很有可能使用版本較早的TensorFlow完成,由於TensorFlow更新很快,所以需要將TensorFlow恢復到較早版本。     以Linux平臺上的pip安

安裝 CocoaPods和使用步驟高德

1、設定 ruby 的軟體源。 由於預設的 ruby 的軟體源(https://rubygems.org/)被牆阻攔導致 CocoaPods 安裝失敗,因此需要更新一下 ruby 的源。依次執行如下命令: gem sources -l #(檢視當前ruby的源) gem

Linux系統手動安裝rpm包依賴關係分析Kernel升級

        有在Linux系統中安裝軟體的經歷的人都知道,在Linux系統中手動安裝軟體不想在Windows下安裝軟體那麼方便,直接雙擊,然後下一步下一步就可以把軟體成功的裝入到系統中,而在Linux系統中,安裝軟體存在這各種各樣的依賴關係,而這些依賴關係在手動安裝時十

python執行外部程式stata程式

桌面存在一個stata的do檔案dofile.do:clear all sysuse auto regress price weight lengthpython程式碼為:#note:需要用到subprocess模組 import os # 改變路徑到stata程式所在目錄

uboot中 make xxx_config 的作用make smdk2410_config

mdk nbsp xxx cpu clu samsung uboot 作用 頭文件 1、創建到目標板相關文件的鏈接 ln -s asm-arm asm ln -s arch-s3c24x0 asm-arm/arch ln -s proc-armv asm-arm/pr

基於TI Davinci架構的多核/雙核開發高速掃盲OMAP L138,dm8168多核開發參考以及達芬奇系列資料user guide整理

uwa 全部 dap setting pos eclips develop serial ger 基於TI Davinci架構的雙核嵌入式應用處理器OMAPL138開發入門 原文轉自http://blog.csdn.net/wangpengqi/article/de

C#語言中數組與集合的區別List集合

類型 添加元素 list 添加 一個 保存 操作方法 適用於 length 數組用於保存固定數量的數據,定長,占用內存少,遍歷速度快; 集合保存的數據數量,可以在程序的執行過程中,不斷發生變化,不定長,占用內存多,遍歷速度慢; 在功能上,數組能實現的所有功能,集合都能實現;

centos7設置服務開機自啟動crond.serivce

centos7服務開機自啟動一、設置crond.serivice服務為開機自啟動步驟1:查看crond.serivce服務的自啟動狀態[root@localhost ~]# systemctl is-enabled crond.servicedisabled此時crond.serivce的自啟動狀態為disa

python爬蟲簡書

split agen jieba分詞 nco spa 數據保存 列表 style regular 1.主題: 簡單爬取簡書中的專題‘’@IT·互聯網“中的文章,爬取信息之後通過jieba分詞生成詞雲並且進行分析; 2.實現過程: 第一步:打開簡書並進入到@I

Vue二十三vuex + axios + 緩存 運用 登陸功能

right nms error http 登錄 password osi ref local (一)axios 封裝 (1)axios攔截器 可以在axios中加入加載的代碼。。。 (2)封裝請求 後期每個請求接口都可以寫在這個裏面。。。 (二)vuex

PHPEmailer使用簡介qq郵箱

reply Opens 安全 client 下載 attach 後來 問題: from 1、從網上下載PHPEmailer; 2、確保PHP環境支持sockets擴展,還要開啟openssl,如下圖: 3、配置QQ郵箱   1.開啟SMTP服務      2.驗證密保