91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

好程序員Java學習資源分享RabbitMQ介紹

發布時間:2020-06-12 16:07:32 來源:網絡 閱讀:341 作者:wx5d42865f47214 欄目:編程語言

好程序員Java學習資源分享RabbitMQ介紹,前言,RabbitMQ是基于AMQP協議(Advanced Message Queue Protocol)的消息中間件

什么是消息隊列

消息隊列屬于進程間通信的一種方式,使用消息隊列可以通過異步方式處理數據,借此可以提高系統性能。我們可以把消息當作存放數據的容器,消息的消費者可以從隊列中獲取數據,進行處理。常見的消息隊列有:ActiveMQRabbitMQKafkaRocketMQ等。

RabbitMQ中用到基本概念

Broker:消息隊列的服務器實體

   Exchange:消息交換機,它指定消息按什么規則,路由到哪個隊列

   Queue:消息隊列載體,每個消息都會被投入到一個或多個隊列

   Binding:綁定,它主要是把exchangequeue按照路由規則綁定起來

   Routing Key:路由關鍵字,exchange根據這個關鍵字進行消息投遞

   vhost:虛擬主機,一個broker里可以開設多個vhost,用作不同用戶的權限分離

   producer:消息生產者,投遞消息的程序

   consumer:消息消費者,接收消息的程序

   channel:消息通道,在客戶端的每個連接里,可以建立多個channel,每個channel代表一個會話任務

RabbitMQ中消息模式

1?簡單隊列

一個生產者對應一個消費者

好程序員Java學習資源分享RabbitMQ介紹

2?工作隊列

好程序員Java學習資源分享RabbitMQ介紹

一個生產者,多個消費者,一個消息只能發給一個消費者,spring中整合rabbitmq時,默認采用公平分發

?

3?發布訂閱模式

傳遞一個消息到多個消費者中,借助該模式可以發布的消息將被廣播給所有接收者。

好程序員Java學習資源分享RabbitMQ介紹

使用該模式需要借助交換機,生產者將消息發送到交換機,再通過交換機到達隊列。

RabbitMQ中有四種交換機:direct/topic/headers/fanout。默認交換機是direct,發布與訂閱的實現使用fanout

使用交換機時,每個消費者有自己的隊列,生產者將消息發送到交換機(X),每個隊列都要綁定到交換機。

4路由模式

生產者將消息發送到direct交換機(路由模式需要借助直連交換機實現),在綁定隊列和交換機的時候有一個路由key,生產者發送的消息會指定一個路由key,那么消息只會發送到相應key相同的隊列,接著監聽該隊列的消費者消費消息。也就是讓消費者有選擇性的接收消息。

好程序員Java學習資源分享RabbitMQ介紹

5?主題模式

又稱通配符模式。

使用直連交換機可以改善我們的系統,但是它仍有局限性,它不能實現多重條件的路由。在消息系統中,我們不僅想要訂閱基于路由鍵的隊列,還想訂閱基于生產消息的源,這時候可以使用topic交換機。

使用主題交換機時,路由鍵的語法形式是采用點分割的有意義的單詞。例如"goods.stock.info"

好程序員Java學習資源分享RabbitMQ介紹

其中:*星號代表一個單詞,#井號代表0個或多個單詞


向AI問一下細節

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

AI

遵义县| 延庆县| 漳平市| 襄汾县| 汾西县| 土默特右旗| 旬邑县| 兴海县| 惠来县| 万州区| 镇赉县| 红桥区| 隆回县| 疏附县| 仙游县| 龙川县| 关岭| 朔州市| 遵义县| 望奎县| 炉霍县| 合山市| 辽阳县| 北安市| 渝中区| 文安县| 连城县| 昭苏县| 吐鲁番市| 拉萨市| 都匀市| 新泰市| 宝清县| 滦南县| 永福县| 分宜县| 环江| 阜新市| 遵义县| 柳林县| 长宁县|