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

溫馨提示×

溫馨提示×

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

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

消息代理RabbitMQ框架的示例分析

發布時間:2021-12-24 09:30:10 來源:億速云 閱讀:150 作者:小新 欄目:云計算

這篇文章主要為大家展示了“消息代理RabbitMQ框架的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“消息代理RabbitMQ框架的示例分析”這篇文章吧。

消息代理RabbitMQ框架

消息代理中間件

        目前在市面上有許多消息代理中間件(下面簡稱為消息代理),例如ActiveMQ、RabbitMQ、Kafka等,在使用這些框架時,我們需要調用它們的API,用來發送、接收消息,大概的結構請見圖8-1。

消息代理RabbitMQ框架的示例分析

圖8-1 消息代理

        消息代理主要用于接收和轉發消息,可以把它看作郵局,消息生產者看作是寄件人,消息消費者是收件人,我們將一信件放到郵箱中,郵遞員最終會把信件送達給收件人,RabbitMQ等框架,就是進行著郵箱、郵遞員和郵局的工作,但它們處理的不是信件,而是“消息”。

        String Cloud Sream在生產者和消費者之間,加多了一個類似代理的角色,它直接與消息代理(郵局)進行交互,消息生產者(寄件人)與消息消費者(收件人)不再需要直接調用各個消息代理框架的API,它們甚至感覺不到消息代理的存在。類似于圖8-2的結構。

消息代理RabbitMQ框架的示例分析

圖8-2 使用了Spring Cloud Stream后的結構

        使用了Stream框架后,消息的生產者和消費者可以更加專注于各自的業務,至于消息(信件)是如何投遞,使用的是哪個消息代理(郵局),它們無須關心。

        目前,Spring Cloud Stream的綁定器,提供了RabbitMQ與Kafka兩個消息代理中間件的實現,接下來,我們先簡單了解下RabbitMQ與Kafka框架。

RabbitMQ和AMQP

        RabbitMQ是一個輕量級的消息代理中間件,它支持多種消息通信協議,支持分布式部署,同時也支持運行于多個操作系統,靈活、高可用等特性,使RabbitMQ廣受歡迎。

        RabbitMQ支持多種協議,其中最為重要的,是高級消息隊列協議(AMQP),AMQP是“Advanced Message Queuing Protocol”的縮寫,它定義了“消息客戶端”與“消息代理中間件”之間的通信協議。基于該協議,消息客戶端與消息代理中間件,就可以不受開發語言、具體產品的約束。在學習使用RabbitMQ前,先對AMQP的模型作一個簡單的了解。

        前一小節中,消息生產者會向消息代理投遞消息,消息代理會再發送給消息消費者,現在對消息代理作進一步的細化,AMQP的大致模型,請見圖8-3。

消息代理RabbitMQ框架的示例分析

圖8-3 AMQP模型

        在圖8-3中,生產者會將消息投遞給“消息代理(RabbitMQ服務器)”,它們之間會建立消息通道(Channel),消息由交換器(Exchange)先進行處理,交換器會選擇把消息交給哪一個隊列(Message Queue),最后消息隊列會將消息發給消費者。接下來,先下載和運行RabbitMQ的服務器。

下載與運行

        本章所使用的RabbitMQ服務器版本為3.6.11(Windows),由于RabbitMQ服務器使用的是Erlang語言,因此還要下載Erlang,本章所使用的Erlang版本為20.0(64位),下載了Erlang后,會得到otp_win64_20.0.exe這樣的安裝文件,安裝文件可以在本書的/soft目錄中找到,筆者已經為大家下載了32位和64位的安裝程序。

        如果在Windows 64位的系統中安裝32位的Erlang,在使用RabbitMQ時會出現異常。

        依次安裝完Erlang和RabbitMQ后,RabbitMQ會作為Windows服務啟動。通過Windows命令行進入“C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.11\sbin”,輸入:“rabbitmq-plugins list”查看當前RabbitMQ的插件狀態,為了能使用RabbitMQ的控制臺,輸入“rabbitmq-plugins enable rabbitmq_management”開啟管理插件,正常情況下會輸出以下的信息:

Applying plugin configuration to rabbit@AY-PC... nothing to do.

        打開瀏覽器,訪問以下地址:http://localhost:15672,可以看到RabbitMQ的登錄界面,默認的用戶名和密碼均為“guest”,登錄以后主界面如圖8-4所示。

消息代理RabbitMQ框架的示例分析

圖8-4 RabbitMQ主界面

        此時,RabbitMQ的服務器已經成功運行,該服務器就是一個消息代理中間件。接下來,我們可以編寫消息的生產者與消費者,使用RabbitMQ的API進行消息的測試。

以上是“消息代理RabbitMQ框架的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

东城区| 梅河口市| 宁蒗| 祁连县| 庐江县| 远安县| 南乐县| 洪洞县| 布尔津县| 电白县| 阳城县| 卫辉市| 石景山区| 遂昌县| 大竹县| 新和县| 黑山县| 泰安市| 南召县| 罗江县| 长顺县| 江达县| 拉孜县| 武胜县| 浦县| 重庆市| 静海县| 清水县| 永靖县| 临武县| 广宗县| 嘉峪关市| 乌恰县| 怀集县| 耿马| 左贡县| 东平县| 高陵县| 桃江县| 鹤山市| 兰西县|