<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      RabbitMQ詳解

      RabbitMQ詳解

      什么是RabbitMQ

      使用Erlang語言開發的開源消息隊列系統,基于AMQP協議來實現。AMQP的主要特征是面向消息、隊列、路由(包括點對點和發布/訂閱)、可靠性、安全。AMQP協議更多用在企業系統內對數據一致性、穩定性和可靠性要求很高的場景,對性能和吞吐量的要求還在其次。

      AMQP,即Advanced Message Queuing Protocol(高級消息隊列協議),一個提供統一消息服務的應用層標準高級消息隊列協議,是應用層協議的一個開放標準,為面向消息的中間件設計,基于此協議的客戶端與消息中間件傳遞消息,不受客戶端/中間件不同產品、不同開發語言等條件的限制

      RabbitMQ比Kafka可靠,Kafka更適合IO高吞吐的處理,一般應用在大數據日志處理或對實時性(少量延遲),可靠性(少量丟數據)要求稍低的場景使用,比如ELK日志收集。

      RabbitMQ能做什么

      RabbitMQ可以幫助開發者構建可靠、高效、可擴展的分布式系統,實現異步通信、任務分發和事件驅動等功能。它被廣泛應用于各種場景,包括微服務架構、消息驅動的架構、實時數據處理等。

      RabbitMQ核心組件

      descript

      具體:

      descript

      RabbitMQ工作機制

      生產者

      消息的創建者,負責創建和推送消息到消息服務器

      消費者

      消息的接收方,接受消息并處理消息

      消息服務器

      RabbitMQ本身,不會產生和消費消息,相當于一個中轉站,將生產者的消息路由給消費者

      RabbitMQ角色

      ConnectionFactory

      接管理,應用程序或消費方與RabbitMQ建立連接的管理器

      Channel

      信道,推送消息的通道

      Exchange

      交換機,用于接收分配消息到隊列中

      Queue

      保存消息

      Routingkey

      消息會攜帶routingKey,決定消息最終的隊列

      BindingKey

      Queue通過bindingKey與交換機綁定

      安裝

      【Windows安裝RabbitMQ詳細教程】_rabbitmq安裝教程_慕之寒的博客-CSDN博客

      RabbitMQ控制臺介紹

      2.1. overview概覽

      descript

      2.2. Admin用戶和虛擬主機管理

      2.2.1. 添加用戶

      descript

      上面的Tags選項,其實是指定用戶的角色,可選的有以下幾個:

      • 超級管理員(administrator)
      • 可登陸管理控制臺,可查看所有的信息,并且可以對用戶,策略(policy)進行操作。監控者(monitoring)
      • 可登陸管理控制臺,同時可以查看rabbitmq節點的相關信息(進程數,內存使用情況,磁盤使用情況等)策略制定者(policymaker)
      • 可登陸管理控制臺, 同時可以對policy進行管理。但無法查看節點的相關信息(上圖紅框標識的部分)。普通管理者(management)
      • 僅可登陸管理控制臺,無法看到節點信息,也無法對策略進行管理。其他無法登陸管理控制臺,通常就是普通的生產者和消費者。

      2.2.2. 創建虛擬主機

      descript

      為了讓各個用戶可以互不干擾的工作,RabbitMQ添加了虛擬主機(Virtual Hosts)的概念。其實就是一個獨立的訪問路徑,不同用戶使用不同路徑,各自有自己的隊列、交換機,互相不會影響。2.2.3. 支持的消息模型

      descript

      descript

      5種消息模式

      1、簡單模式 HelloWorld

      一個生產者、一個消費者,不需要設置交換機(使用 默認的交換機)

      2、工作隊列模式 Work Queue

      一個生產者、多個消費者(競爭關系),不需要設置交換機(使用默認 的交換機)

      3、發布訂閱模式 Publish/subscribe

      需要設置類型為fanout的交換機,并且交換機和隊列進行綁定, 當發送消息到交換機后,交換機會將消息發送到綁定的隊列

      4、路由模式 Routing

      需要設置類型為direct的交換機,交換機和隊列進行綁定,并且指定routing key,當發送消息到交換機后,交換機會根據routing key將消息發送到對應的隊列

      5、通配符模式 Topic

      需要設置類型為topic的交換機,交換機和隊列進行綁定,并且指定通配符方式的 routing key,當發送消息到交換機后,交換機會根據routing key將消息發送到對應的隊列

      五種消息模式詳解:RabbitMQ五大模式輕松理解_rabbitmq模式_風影浪子的博客-CSDN博客

      .Net6快速搭建RabbitMQ發布訂閱模式

      (使用Asp.Net Core + 控制臺應用)分為三步

      1. 創建RabbitMQ鏈接
      2. 搭建生產者
      3. 搭建消費者

      創建RabbitMQ鏈接

      descript

      可以先創建幫助類,專門用于RabbitMQ連接(需要安裝Nuget包 RabbitMQ.Client)

      descript

      生產者的搭建

      創建一個.Net6項目

      在控制器里創建一個生產者控制器

      descript

      代碼:

      descript

      以下是代碼里的主要部分

      先引用幫助類、來連接RabbitMQ

      連接到RabbitMQ控制臺之后,先創建信道

      descript

      創建交換機的名稱

      descript

      創建交換機的類型--廣播(會將消息廣播給所有與之綁定的隊列。無論有多少個消費者隊列,每個隊列都會收到完全相同的消息副本。這種模式常用于需要將消息廣播給多個訂閱者的場景,比如日志記錄、通知系統等。

      Fanout交換機忽略消息的路由鍵(routing key),因此消息會被發送到所有與之綁定的隊列,而不是根據路由鍵進行篩選和路由。這使得所有的訂閱者都能接收到廣播的消息,無論其感興趣的內容是什么。)如果想要精確傳遞要用到topic類型交換機

      descript

      創建隊列并綁定交換機,因為是Fanout所以不需要key值

      descript

      RabbitMQ服務器發生故障或重新啟動,持久化的消息也會被保存,以確保不會丟失。

      向交換機寫消息--可以是異常信息

      descript

      生產者完畢

      消費者的構建

      創建控制臺應用

      descript

      descript

      該部分代碼使用Lambda表達式定義了一個事件處理程序,當消費者接收到消息時,該事件處理程序將執行以下操作:

      1. 將從ea.Body中獲取的消息內容轉換為字符串形式,并存儲在message變量中。
      2. 使用Console.WriteLine方法打印消費者編號、隊列名稱、消費消息的長度以及消費消息的內容。
      3. 調用channel.BasicAck方法,向RabbitMQ發送ACK確認消息,通知RabbitMQ該條消息已成功處理。
      4. 程序休眠10毫秒,模擬處理消耗一定時間。
      5. 增加計數器i的值。

      這段代碼主要實現了消費者接收到消息后的處理邏輯,包括打印消息內容、發送ACK確認消息,并進行線程休眠。

      posted @ 2024-06-05 09:51  北落師門、  閱讀(366)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 人妻少妇不满足中文字幕| 亚洲男女羞羞无遮挡久久丫 | xxxx丰满少妇高潮| 久久亚洲av成人无码软件| 国产精品美女一区二三区| 日本一区二区三区四区黄色| 亚洲精品有码在线观看| 女人腿张开让男人桶爽 | 亚洲欧美日韩愉拍自拍美利坚| 天堂√最新版中文在线地址| 国产成人精品亚洲日本片| 亚洲欧美日韩在线码| 无码熟妇人妻av在线电影| 水蜜桃视频在线观看免费18| 亚洲第一狼人成人综合网| 中国老妇xxxx性开放| 成在线人免费视频| 国偷自产一区二区三区在线视频| 国产在线观看免费观看| 天啦噜国产精品亚洲精品| 影音先锋啪啪av资源网站| 国产成人无码A区在线观看视频 | 四虎国产精品永久入口| 久久国产自拍一区二区三区| 精品中文人妻中文字幕| 沂水县| 久操热在线视频免费观看 | 国产大学生自拍三级视频| 国产区二区三区在线观看| 三上悠亚精品一区二区久久| 91午夜福利在线观看精品| 国产精品午夜福利在线观看| 国产自在自线午夜精品 | 国产av不卡一区二区| 亚洲AV无码破坏版在线观看| 国产高在线精品亚洲三区| 国产精品久久中文字幕| 国产91麻豆精品成人区| 伊人欧美在线| 中文字幕国产精品第一页| 国产精品国产三级国快看|