欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker安裝RabbitMQ AMQP協議及重要角色

 更新時間:2023年05月10日 10:25:33   作者:stark張宇  
這篇文章主要為大家介紹了Docker安裝RabbitMQ AMQP協議和主要角色詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

概述

不管是微服務還是分布式的系統架構中,消息隊列中間件都是不可缺少的一個重要環(huán)節(jié),主流的消息隊列中間件有RabbitMQ、RocketMQ等等,從這篇開始詳細介紹以RabbitMQ為代表的消息隊列中間件。

AMQP協議

  • AMQP協議是一個提供統一消息服務的應用層標準協議,基于此協議的客戶端與消息中間件可傳遞消息,并不受客戶端/中間件不同產品,不同開發(fā)語言等條件的限制。
  • AMQP協議是一種二進制協議,提供客戶端應用與消息中間件之間的異步、安全、高效的交互。
  • AMQP作為中間層服務,把消息生產和消費分隔開來,當消費者產生出現異常,不影響消費者對消息的消費,當消費者異常時,生產者生產的消息可以存放到服務的內存或者磁盤,不會影響想消費的速率,同時,消息也可以基于路由的規(guī)則可以投遞到指定的消費者消費。

AMQP協議重要角色

1.生產者和消費者

  • 生產者是生產消息的主體,消費者是消費消息的主體
  • 數據集成與系統解耦、異步處理與事件驅動、流量薛峰、事務消息與分布式事務的最終一致
  • 生產者生產一條消息丟給消息代理,消息代理根據投遞規(guī)則將消息傳到消費者手上

2.交換機

  • 交換機就像是消息代理的路由器,負責拿到一個消息之后,根據確定的規(guī)則(路由鍵)將它路由給一個或零個隊列,交換機具備多種路由模式。
  • 基于消息生產者和路由規(guī)則可以將消息投遞到指定的Message Queue,交換機收到生產者投遞的消息,基于路由規(guī)則及隊列綁定關系匹配到投遞對應的交換機或者隊列進行分發(fā),交換機不存儲消息,只做轉發(fā)

交換機類型:

  • 直連交換機:根據路由鍵完全匹配的投遞到對應的隊列
  • 扇形交換機:無視路由鍵,將消息進行拷貝,并路由到給綁定到它身上所有隊列,提供了一個廣播的效果。
  • 主題交換機:根據路由鍵按模式匹配的投遞到對應的隊列
  • 交換機也具備自己的屬性,可以定義自己的名字,是否持久化等選項。

3.隊列

  • 隊列是消息的暫存地,至少有一個消費者訂閱了隊列的話,消息會立即發(fā)送給這些訂閱的消費者,但是如果消息到達了無人的訂閱隊列,消息會在隊列中等待,等待有了消費者便進行分發(fā)。
  • Exchange和Message Queue之間存在綁定關系,消息到了Exchange 后基于路由策略可以將消息投遞到已綁定且符合路由策略的Message Queue。
  • 消息隊列會將消息存儲到內存或者是磁盤中,并將這些消息按照一定順序轉發(fā)給一個或多個消費者,每個消息隊列都是獨立隔離的,相互不影響。
  • 消息隊列具有不同的屬性(私有、共享、持久化、臨時、客戶端定義或者服務端定義等)),可以基于實際需求選擇對應的類型

4.消息

  • 消息是信息的載體,也是AMQP協議的一個實體,消息包含兩部分
  • 載荷:就是真正的信息,是你想要傳輸的任何內容,該部分內容對消息代理來說是透明的
  • 元信息:包含路由鍵、內容類型、編碼、是否持久化等消息屬性,會被消息代理所解析,消息代理根據消息的屬性對這條消息進行投遞,存儲等,這部分被消息代理所關系,而消費者對其是不關心的。

5.信道

  • 網絡信道,是建立在Connection鏈接之上的一種輕量級的鏈接,幾乎所有的操作都在Channel中進行,Channel是進行消息讀寫的通道,客戶端可以建立對各Channel,每個Channel代表一個會話任務。
  • 一個Connection上可以創(chuàng)建任意數量的Channel

Docker安裝RabbitMQ

1.查看Docker倉庫里的RabbitMQ鏡像

# 查詢鏡像
docker search rabbitmq
# 下載鏡像
docker pull rabbitmq

2.啟動MQ安裝management

如果在云服務上部署需在安全組開通一下端口:15672(UI頁面通信口)、5672(client端通信口)、25672(server間內部通信口)、61613(stomp 消息傳輸)、1883(MQTT消息隊列遙測傳輸)。

docker run -d --name rabbit -e \
RABBITMQ_DEFAULT_USER=stark -e RABBITMQ_DEFAULT_PASS=1990@stark 
-p 15672:15672 \
-p 5672:5672 \
-p 25672:25672 \
-p 61613:61613 \
-p 1883:1883 rabbitmq:management

使用 http://127.0.0.1:15672訪問,賬號和密碼就是參數RABBITMQ_DEFAULT_USERRABBITMQ_DEFAULT_PASS設置的值。

以上就是 Docker安裝RabbitMQ、AMQP協議、和主要角色的詳細內容,更多關于 Docker安裝RabbitMQ的資料請關注腳本之家其它相關文章!

相關文章

  • docker中的環(huán)境變量使用與常見問題解決方案

    docker中的環(huán)境變量使用與常見問題解決方案

    這篇文章主要給大家介紹了關于docker中環(huán)境變量使用與常見問題解決方案的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用docker具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • 使用Docker部署Tomcat的實現示例

    使用Docker部署Tomcat的實現示例

    在本地編寫好了Spring項目,為了實現能夠隨時地訪問,所以需要將項目部署到服務器,本文主要介紹了使用Docker部署Tomcat的實現示例,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • Docker鏡像優(yōu)化打包速度思考

    Docker鏡像優(yōu)化打包速度思考

    本文主要介紹了Docker鏡像優(yōu)化打包速度思考,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • 詳解Docker掛載本地目錄

    詳解Docker掛載本地目錄

    這篇文章主要介紹了詳解Docker掛載本地目錄,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Ubuntu 20.04 上安裝和使用 Docker的詳細過程(安裝包)

    Ubuntu 20.04 上安裝和使用 Docker的詳細過程(安裝包)

    這篇文章主要介紹了Ubuntu 20.04 上安裝和使用 Docker的詳細過程(安裝包),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • docker-compose搭建mongodb、mysql的詳細過程

    docker-compose搭建mongodb、mysql的詳細過程

    這篇文章主要介紹了docker-compose搭建mongodb、mysql的詳細過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • Docker拉鏡像報錯error pulling image configuration: unknown blob

    Docker拉鏡像報錯error pulling image configuration:

    這篇文章主要介紹了Docker拉鏡像報錯error pulling image configuration: unknown blob的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 如何隔離docker容器中的用戶的方法

    如何隔離docker容器中的用戶的方法

    這篇文章主要介紹了如何隔離docker容器中的用戶的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Docker容器不識別宋體等字體的解決方案

    Docker容器不識別宋體等字體的解決方案

    這篇文章主要介紹了Docker容器不識別宋體等字體的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 3分鐘用Docker搭建一個Minecraft服務器

    3分鐘用Docker搭建一個Minecraft服務器

    這篇文章主要介紹了3分鐘用Docker搭建一個Minecraft服務器的相關資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11

最新評論