久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

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

154次閱讀
沒有評論

共計 2014 個字符,預計需要花費 6 分鐘才能閱讀完成。

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

消息代理 RabbitMQ 框架消息代理中間件

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

圖 8 -1 消息代理

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

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

圖 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。

圖 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 所示。

圖 8 -4 RabbitMQ 主界面

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

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

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計2014字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 循化| 宝丰县| 新巴尔虎左旗| 白水县| 奉化市| 万载县| 永清县| 云阳县| 襄垣县| 郁南县| 屏边| 邵武市| 荥经县| 都兰县| 绿春县| 江津市| 沅陵县| 荆门市| 射阳县| 吐鲁番市| 长沙县| 屏边| 饶阳县| 肇州县| 绵阳市| 呼伦贝尔市| 抚远县| 宁乡县| 永仁县| 黎城县| 通榆县| 安庆市| 雷山县| 桃园县| 万安县| 洪湖市| 九寨沟县| 长垣县| 泾源县| 海兴县| 莱芜市|