日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RabbitMQ(一):简介和基本概念

發布時間:2025/3/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RabbitMQ(一):简介和基本概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、簡介

RabbitMQ是一個消息代理,可以將其視為郵局,它接受和轉發消息。

RabbitMQ和郵局之間的主要區別在于它不處理紙張,而是接受、存儲、轉發二進制blob數據 - 消息。

二、隊列

隊列是RabbitMQ中的郵箱的名稱。

消息流經RabbitMQ和應用程序,但它們只能存儲在隊列中。

隊列僅由主機的存儲器&磁盤限制約束,它本質上是一個大的消息緩沖器。

許多生產者可以發送到一個隊列的消息,并且許多消費者可以嘗試從一個隊列接收數據。

三、基本概念

  • ConnectionFactory(連接工廠): 生產Connection的的工廠

  • Connection(連接):是RabbitMQ的socket的長鏈接,它封裝了socket協議相關部分邏輯

  • Channel(頻道|信道): 是建立在Connection連接之上的一種輕量級的連接,我們大部分的業務操作是在Channel這個接口中完成的,(如果把Connection比作一條光纖電纜的話,那么Channel信道就比作成光纖電纜中的其中一束光纖。一個Connection上可以創建任意數量的Channel)

    • 聲明隊列:queueDeclare、
    • 聲明交換機:exchangeDeclare、
    • 隊列的綁定:queueBind、
    • 消息的發布:basicPublish、
    • 消息的消費:basicConsume等。
  • Producer(生產者):生產消息

  • Consumer(消費者):消費消息Exchange(交換機):生產者會將消息發送到交換機,然后交換機通過路由策略(規則)將消息路由到匹配的隊列中去

    • 消費者只需關注隊列即可,不需要關注交換機和路由鍵,
    • 消費者可以通過basicConsume(訂閱模式可以從隊列中一直持續的自動的接收消息)
    • 或者basicGet(先訂閱消息,然后獲取單條消息,再然后取消訂閱,也就是說basicGet一次只能獲取一條消息,如果還想再獲取下一條還要再次調用basicGet)來從隊列中獲取消息
  • Routing Key(路由鍵):一個String值,用于定義路由規則,Queue(隊列):用于存儲消息的容器,可以看成一個有序的數組,生產者生產的消息會發送到交換機中,最終交換機將消息存儲到某個或某些隊列中,(消息的持久化是將消息寫入rabbitMQ自帶的數據庫中)。

    • 在隊列綁定的時候需要指定路由鍵,
    • 在生產者發布消息的時候需要指定路由鍵,
    • 在消費的時候只需關注隊列即可,不需要關注交換機和路由鍵(不理解)(消費前必須指定指定隊列,聲明
    • 在消息確認機制中,自動回復隊列應答時需要(待定
    • 當消息的路由鍵和隊列綁定的路由鍵匹配時,消息就會發送到該隊列(條件)。
  • Binding(綁定): Binding并不是一個概念,而是一種操作,(RabbitMQ中通過綁定,以路由鍵作為橋梁將Exchange與Queue關聯起來,這樣RabbitMQ就知道如何正確地將消息路由到指定的隊列了

    • (Exchange—>Routing Key—>Queue),通過queueBind方法將Exchange、Routing Key、Queue綁定起來
  • vhost(虛擬主機): RabbitMQ 通過虛擬主機(virtual host)來分發消息,

    • 擁有自己獨立的權限控制,不同的vhost之間是隔離的,單獨的。
    • vhost是權限控制的基本單位,用戶只能訪問與之綁定的vhost,默認vhost:”/” ,默認用戶”guest” 密碼“guest”,來訪問默認的vhost。

四、理解

  下圖說明了生產者將消息發送到交換機中,然后又路由到指定的隊列中?

?

轉載于:https://www.cnblogs.com/zhxb/p/9370022.html

總結

以上是生活随笔為你收集整理的RabbitMQ(一):简介和基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。