中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RabbitMQ基本概念和原理是什么

發布時間:2020-07-22 09:07:31 來源:億速云 閱讀:178 作者:Leah 欄目:編程語言

RabbitMQ基本概念和原理是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

RabbitMQ基本概念和原理

1.AMQP,即Advanced Message Queuing Protocol,高級消息隊列協議,是應用層協議的一個開放標準,為面向消息的中間件設計。

2.RabbitMQ是一個開源的AMQP實現,服務器端用Erlang語言編寫。

3.Channel

Channel是我們與RabbitMQ打交道的最重要的一個接口,我們大部分的業務操作是在Channel這個接口中完成的,包括定義Queue、定義Exchange、綁定Queue與Exchange、發布消息等。

4.Exchange(生產者將消息發送到Exchange(交換器),由Exchange將消息路由到一個或多個Queue中(或者丟棄),RabbitMQ常用的Exchange Type有fanout、direct、topic、headers這四種)

5.Queue(RabbitMQ的內部對象,用于存儲消息)

6.基本工作原理

RabbitMQ基本概念和原理是什么

客戶端(生產者) send Message -->Exchange (交換機通過不同的類型將消息保存到對應的queue)-->Queue  

客戶端(消費者)通過訂閱來消費queue中的消息。

以上基礎概念整理來源于 RabbitMQ基礎概念詳細介紹

在Windows系統中安裝RabbitMQ

1. 下載安裝erlang (我用的是otp_win64_19.3版本)

下載地址 (根據操作系統選擇32還64位)

2. 下載安裝rabbitmq-server(我用的是rabbitmq-server-3.6.10版本)

下載地址

安裝好后,在看裝目錄下看到

RabbitMQ基本概念和原理是什么

接下來用啟用DOS命令

a. cd 到sbin目錄下,我的安裝目錄是D:\RabbitMQServer\rabbitmq_server-3.6.10\sbin, 輸入D: 回車,cd  RabbitMQServer\rabbitmq_server-3.6.10\sbin

RabbitMQ基本概念和原理是什么

b. 查看安裝是否成功命令 :rabbitmqctl status

RabbitMQ基本概念和原理是什么

c.安裝管理插件命令:rabbitmq-plugins enable rabbitmq_management

RabbitMQ基本概念和原理是什么

安裝成功,在瀏覽器中輸入 http://127.0.0.1:15672/

RabbitMQ基本概念和原理是什么

輸入來賓賬號 guest 密碼 guest ,成功登陸進來,是不是有點小激動。

RabbitMQ基本概念和原理是什么

guest 賬號是管理員賬號,可以添加Exchanges,Queues,Admin。但我們一般不使用guest賬號,繼續用命令來添加賬號和權限。

d:添加用戶:rabbitmqctl.bat add_user username password

RabbitMQ基本概念和原理是什么

e:添加“超級管理員”角色: rabbitmqctl.bat set_user_tags username administrator

RabbitMQ基本概念和原理是什么

RabbitMQ基本概念和原理是什么

mymq賬號也是超級管理員了,Can access virtual hosts :No access ,可以看到還沒有能夠訪問的虛擬機,接下來添加虛擬機。

f: 添加虛擬機:  rabbitmqctl add_vhost vhostName

RabbitMQ基本概念和原理是什么

RabbitMQ基本概念和原理是什么

myvhost虛擬機并沒有Users,接下來給虛擬機綁定賬號。

g:定虛擬機和用戶權限:rabbitmqctl set_permissions -p 虛擬機名稱 賬戶名 ".*" ".*" ".*"

RabbitMQ基本概念和原理是什么

h:處于習慣我一般刪除掉guest賬號:rabbitmqctl.bat delete_user username

好了,重新登陸管理頁面,一切正常,接下來開始實戰了。

EasyNetQ的基本使用

項目中安裝EasyNetQ

RabbitMQ基本概念和原理是什么

RabbitMQ基本概念和原理是什么

EasyNetQ是依賴于RabbitMQ.Client的,所以會被一并安裝到項目中。

Publish發布消息

RabbitMQ基本概念和原理是什么

RabbitMQ基本概念和原理是什么

Model有個Queue的特性,定義Queue名稱和Exchange名稱。然后直接用Publish方法把Msg通過Model指定的交換機推送到指定隊列去。

運行代碼,看看MQ的管理頁面。

RabbitMQ基本概念和原理是什么

已經創建了Model指定的交換機TestQueue.Exchange, Type:topic , Features:D 。D:Durable 說明默認創建的交換機是持久化的。

因為還沒有訂閱消息,所以在Queues中還看不到對應的隊列。

Subscribe訂閱消息

RabbitMQ基本概念和原理是什么

為什么要在訂閱代碼上套一個while(true)了? 是為了把控制臺程序模擬成Windows服務,因為控制臺程序運行一閃而過,沒辦法真正訂閱到MQ的消息。

實際開發中,一般用Topself來把控制臺程序發布成Windows服務,后面有時間再寫一篇關于Topself的學習博客。

再重復剛才的Publish操作,測試下整個流程。

RabbitMQ基本概念和原理是什么

自定義Topic

RabbitMQ基本概念和原理是什么

這樣消息會被發送到名稱為Test.開頭的所有Queue隊列中。

SendReceive

通過send和receive可以將消息發送到指定隊列。

RabbitMQ基本概念和原理是什么

RabbitMQ基本概念和原理是什么

RabbitMQ基本概念和原理是什么

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

漳州市| 新平| 华阴市| 抚宁县| 堆龙德庆县| 清镇市| 东阳市| 荃湾区| 嘉禾县| 河西区| 连州市| 农安县| 景德镇市| 泌阳县| 平利县| 塘沽区| 福鼎市| 怀宁县| 利津县| 浙江省| 高青县| 延吉市| 诸暨市| 磴口县| 基隆市| 丹巴县| 安乡县| 龙泉市| 沙雅县| 遵义县| 尚志市| 乌恰县| 高唐县| 神池县| 宜州市| 蚌埠市| 班戈县| 德清县| 云安县| 东乡| 东阳市|