最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

高級消息隊列協(xié)議AMQP簡介

 更新時間:2022年07月02日 14:39:40   作者:天方  
這篇文章簡單介紹了高級消息隊列協(xié)議AMQP,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

歷史:

Message Queue的需求由來已久,80年代最早在金融交易中,高盛等公司采用Teknekron公司的產(chǎn)品,當(dāng)時的Message queuing軟件叫做:the information bus(TIB)。 TIB被電信和通訊公司采用,路透社收購了Teknekron公司。之后,IBM開發(fā)了MQSeries,微軟開發(fā)了Microsoft Message Queue(MSMQ)。這些商業(yè)MQ供應(yīng)商的問題是廠商鎖定,價格高昂。2001年,Java Message queuing試圖解決鎖定和交互性的問題,但對應(yīng)用來說反而更加麻煩了。

于是2004年,摩根大通和iMatrix開始著手Advanced Message Queuing Protocol (AMQP)開放標(biāo)準(zhǔn)的開發(fā)。2006年,AMQP規(guī)范發(fā)布。2007年,Rabbit技術(shù)公司基于AMQP標(biāo)準(zhǔn)開發(fā)的RabbitMQ 1.0 發(fā)布。

基本概念

AMQP基本模型如下圖所示:    

Broker:

接收和分發(fā)消息的應(yīng)用,如RabbitMQ Server就是Message Broker。

Virtual host:

出于多租戶和安全因素設(shè)計的,把AMQP的基本組件劃分到一個虛擬的分組中,類似于網(wǎng)絡(luò)中的namespace概念。

Exchange

交換器是消息送達(dá)的實體。他是具名的,它是消息的第一站。系統(tǒng)根據(jù)分發(fā)規(guī)則,匹配查詢表中的routing key,分發(fā)消息到queue中去。

屬性:

  • durable:該交換器將在broker重啟后生效。

  • auto-delete:該交換器將在沒有消息隊列綁定時自動刪除。一個從未綁定任何隊列的交換器不會自動刪除。

類型:

  • direct (point-to-point)

  • fanout (multicast)

  • topic (publish-subscribe)

Queue

隊列是接收消息的實體,具有名字和屬性,但沒有類型。客戶端可以訂閱隊列以便使broker遞送某消息隊列的內(nèi)容到該客戶端。

屬性:

  • alternate-exchange :當(dāng)消息被訂閱者拒絕或者由于隊列被刪除而孤立時則被送往此交換器,同時隊列中的該消息被刪除。

  • passive :當(dāng)隊列不存在時會拋出一個錯誤信息,仍然不會被聲明。

  • durable :隊列將在broker重啟時啟動。

  • exclusive :隊列僅服務(wù)于一個客戶端。

  • auto-delete :隊列在沒有活躍訂閱者的時候?qū)⒆詣觿h除。當(dāng)客戶端終結(jié)時,exclusive類型的隊列則一定會自動刪除。

Binding

綁定是隊列和交換器之間的關(guān)系,規(guī)定消息如何由交換器到隊列。綁定的屬性被交換器用來與路由算法匹配。

當(dāng)一個消息的路由關(guān)鍵字與綁定中的模式匹配時,交換器會把該消息的拷貝送達(dá)隊列。如何進(jìn)行匹配僅依賴于交換器的類型:

  • direct型 :消息的路由關(guān)鍵字與綁定相同。

  • fanout型 :總是匹配,即使綁定無關(guān)鍵字。

  • topic型 :匹配路由關(guān)鍵字屬性,字符串的各個部分以'.'分隔??砂瑑蓚€特殊字符:'*'表示單個任意詞,'#'表示0個或多個詞,例如 *.stock.# 匹配usd.stock和eur.stock.db,但不匹配stock.nasdaq。

  • headers型 :匹配各個鍵-值對的邏輯組合結(jié)果。

Connection:

publisher/consumer和broker之間的TCP連接。斷開連接的操作只會在client端進(jìn)行,Broker不會斷開連接,除非出現(xiàn)網(wǎng)絡(luò)故障或broker服務(wù)出現(xiàn)問題。

Channel:

如果每一次訪問RabbitMQ都建立一個Connection,在消息量大的時候建立TCP Connection的開銷將是巨大的,效率也較低。

Channel是在connection內(nèi)部建立的邏輯連接,如果應(yīng)用程序支持多線程,通常每個thread創(chuàng)建單獨的channel進(jìn)行通訊,AMQP method包含了channel id幫助客戶端和message broker識別channel,所以channel之間是完全隔離的。Channel作為輕量級的Connection極大減少了操作系統(tǒng)建立TCP connection的開銷。

到此這篇關(guān)于高級消息隊列協(xié)議AMQP的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文讀懂吞吐量(TPS)、QPS、并發(fā)數(shù)、響應(yīng)時間(RT)概念

    一文讀懂吞吐量(TPS)、QPS、并發(fā)數(shù)、響應(yīng)時間(RT)概念

    這篇文章主要介紹了吞吐量(TPS)、QPS、并發(fā)數(shù)、響應(yīng)時間(RT)概念,在開發(fā)中需要先搞懂這些基礎(chǔ)知識,才能更好運用,需要的朋友可以參考下
    2020-07-07
  • 比特幣上的數(shù)獨游戲合約的實現(xiàn)代碼

    比特幣上的數(shù)獨游戲合約的實現(xiàn)代碼

    這篇文章主要介紹了比特幣上的數(shù)獨游戲合約的實現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • 本地化部署 DeepSeek 全攻略(linux、windows、mac系統(tǒng)部署)

    本地化部署 DeepSeek 全攻略(linux、windows、mac系統(tǒng)部署)

    本文詳細(xì)介紹了在Linux、Windows和Mac系統(tǒng)上本地部署DeepSeek模型的步驟,包括硬件要求、軟件環(huán)境、模型下載和部署步驟、以及優(yōu)化與注意事項,感興趣的朋友一起看看吧
    2025-02-02
  • Typora使用方法

    Typora使用方法

    今天用Typora因為升級了一下,所以需要激活雖然勉強能用,但是老是彈出激活頁面,很是苦惱,只能通過百度找方法進(jìn)行解決一下了,下面跟隨小編看下Typora使用方法,需要的朋友可以參考下
    2022-04-04
  • 基數(shù)排序算法的原理與實現(xiàn)詳解(Java/Go/Python/JS/C)

    基數(shù)排序算法的原理與實現(xiàn)詳解(Java/Go/Python/JS/C)

    基數(shù)排序(RadixSort)是一種非比較型整數(shù)排序算法,其原理是將整數(shù)按位數(shù)切割成不同的數(shù)字,然后按每個位數(shù)分別比較。本文將利用Java/Go/Python/JS/C不同語言實現(xiàn)基數(shù)排序算法,感興趣的可以了解一下
    2023-03-03
  • 使用阿里大于(大魚)平臺進(jìn)行發(fā)送手機驗證碼的流程

    使用阿里大于(大魚)平臺進(jìn)行發(fā)送手機驗證碼的流程

    這篇文章主要介紹了使用阿里大于(大魚)平臺進(jìn)行發(fā)送手機驗證碼的流程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • 深入剖析網(wǎng)關(guān)gateway原理

    深入剖析網(wǎng)關(guān)gateway原理

    這篇文章主要介紹了網(wǎng)關(guān)gateway,本文從網(wǎng)關(guān)的背景開始講起,一次論述網(wǎng)關(guān)的依賴,負(fù)載均衡,網(wǎng)關(guān)的選型等等進(jìn)行深入的剖細(xì),讓大家可以更深一步的了解
    2021-08-08
  • 鴻蒙UI開發(fā)之滾動組件overscroll-decor安裝和使用介紹

    鴻蒙UI開發(fā)之滾動組件overscroll-decor安裝和使用介紹

    鴻蒙UI開發(fā)之滾動組件overscroll-decor?是一個開源庫,提供一種簡單、靈活的方式來實現(xiàn)各種過度滾動(overscroll)動畫效果,提升用戶的交互體驗,該庫提供了類似于iOS的過度滾動效果,幾乎可以應(yīng)用于所有Android,如RecyclerView、ListView、GridView、ScrollView等?
    2024-12-12
  • MAC快速本地部署Deepseek的實現(xiàn)步驟

    MAC快速本地部署Deepseek的實現(xiàn)步驟

    本文介紹了在Mac上快速本地部署Deepseek大語言模型,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • 編程界主流腳本編程語言的比較和選擇

    編程界主流腳本編程語言的比較和選擇

    這篇文章主要介紹了編程界主流腳本編程語言的比較和選擇,本文分析了Unix/Linux Shell、Python/Jython、Ruby/JRuby、Perl、Groovy等腳本語言的優(yōu)缺點,幫助您快速了解各大語言,需要的朋友可以參考下
    2015-05-05

最新評論

博乐市| 旬邑县| 收藏| 绩溪县| 若尔盖县| 新乡市| 临安市| 内乡县| 容城县| 稷山县| 富川| 丁青县| 高尔夫| 松桃| 周口市| 紫阳县| 紫云| 长丰县| 新龙县| 南康市| 康乐县| 剑阁县| 杭州市| 万源市| 成武县| 布尔津县| 永寿县| 托里县| 阳高县| 塔河县| 大渡口区| 自贡市| 墨江| 徐汇区| 格尔木市| 马边| 通化市| 凤冈县| 延吉市| 辰溪县| 清涧县|