色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何理解rabbitMQ的工作過程消費(fèi)模式持久化消息發(fā)送步驟等

老白2年前15瀏覽0評論

如何理解rabbitMQ的工作過程消費(fèi)模式持久化消息發(fā)送步驟等?

讓我們簡要介紹一下RabbitMQ的工作原理。

讓我們首先熟悉RabbitMQ的一些重要概念:

生產(chǎn)者:發(fā)送消息的應(yīng)用程序。

消費(fèi)者:接收消息的應(yīng)用程序。

隊(duì)列:存儲消息的緩沖區(qū)。

消息:通過RabbitMQ從生產(chǎn)者發(fā)送給消費(fèi)者的信息。

連接:連接是應(yīng)用程序和RabbitMQ代理之間的TCP連接。

通道:通道是連接內(nèi)的虛擬連接。當(dāng)您從隊(duì)列中發(fā)布或使用消息時(shí) - 它們都是通過通道完成的。

Exchange:接收來自生產(chǎn)者的消息,并根據(jù)交換類型定義的規(guī)則將其推送到隊(duì)列。要接收消息,需要將隊(duì)列綁定到至少一個(gè)交換。

綁定:綁定是隊(duì)列和交換之間的鏈接。

路由密鑰:路由密鑰是交換機(jī)查看的密鑰,用于決定如何將消息路由到隊(duì)列。路由密鑰就像消息的地址。

生產(chǎn)者將消息發(fā)送/發(fā)布給代理 - > 消費(fèi)者從代理接收消息。RabbitMQ是生產(chǎn)者和消費(fèi)者之間的通信中間件,即使它們在不同的機(jī)器上運(yùn)行。

當(dāng)生產(chǎn)者向隊(duì)列發(fā)送消息時(shí),它不會直接發(fā)送,而是使用交換機(jī)發(fā)送。下面的設(shè)計(jì)演示了主要的三個(gè)組件如何相互連接。

負(fù)責(zé)將消息路由到不同隊(duì)列的交換代理。這樣消息就可以從生產(chǎn)者接收到交換機(jī),然后再次轉(zhuǎn)發(fā)到隊(duì)列。這被稱為“發(fā)布”方法。

消息將從隊(duì)列中獲取并消耗; 這被稱為'消費(fèi)'。

將消息發(fā)送到多個(gè)隊(duì)列

通過使用更復(fù)雜的應(yīng)用程序,我們將擁有多個(gè)隊(duì)列。因此消息將在多個(gè)隊(duì)列中發(fā)送它。

向多個(gè)隊(duì)列交換發(fā)送消息通過綁定和路由密鑰連接到隊(duì)列。綁定是您設(shè)置為將隊(duì)列連接到交換機(jī)的“鏈接”。Routing鍵是一個(gè)消息屬性。在決定如何將消息路由到隊(duì)列時(shí)(取決于交換類型),交換機(jī)可能會查看此密鑰。

消息中心

消息不會直接發(fā)布到隊(duì)列,而是生成器將消息發(fā)送到交換機(jī)。一個(gè)交換負(fù)責(zé)的消息不同隊(duì)列的路由。一個(gè)交換接受來自生產(chǎn)應(yīng)用程序的消息并將其路由消息隊(duì)列與綁定和路由鍵的幫助。阿結(jié)合是隊(duì)列和交換之間的鏈接。

RabbitMQ中的消息流

該制片人將消息發(fā)布到交換。創(chuàng)建交換時(shí),必須指定它的類型。稍后將詳細(xì)說明不同類型的交換。

該交換接收消息,現(xiàn)在負(fù)責(zé)該消息的路由。交換機(jī)將不同的消息屬性考慮在內(nèi),例如路由密鑰,具體取決于交換類型。

必須從交換到隊(duì)列創(chuàng)建綁定。在這種情況下,我們看到來自交換的兩個(gè)不同隊(duì)列的兩個(gè)綁定。Exchange根據(jù)郵件屬性將郵件路由到隊(duì)列中。

消息留在隊(duì)列中,直到消費(fèi)者處理它們

消費(fèi)者處理消息。

交換類型

直接:直接交換基于消息路由密鑰將消息傳遞到隊(duì)列。

扇出:扇出交換將消息路由到綁定到它的所有隊(duì)列。

主題:主題交換在路由密鑰和綁定中指定的路由模式之間進(jìn)行通配符匹配。

標(biāo)頭:標(biāo)頭交換使用郵件標(biāo)頭屬性進(jìn)行路由。

RabbitMQ核心概念

在深入挖掘RabbitMQ之前,需要先介紹一些重要的概念。

生產(chǎn)者:發(fā)送消息的應(yīng)用程序。

消費(fèi)者:接收消息的應(yīng)用程序。

隊(duì)列:存儲消息的緩沖區(qū)。

消息:通過RabbitMQ從生產(chǎn)者發(fā)送給消費(fèi)者的信息。

連接:連接是應(yīng)用程序和RabbitMQ代理之間的TCP連接。

通道:通道是連接內(nèi)的虛擬連接。當(dāng)您從隊(duì)列中發(fā)布或使用消息時(shí) - 它們都是通過通道完成的。

Exchange:接收來自生產(chǎn)者的消息,并根據(jù)交換類型定義的規(guī)則將其推送到隊(duì)列。要接收消息,需要將隊(duì)列綁定到至少一個(gè)交換。

綁定:綁定是隊(duì)列和交換之間的鏈接。

路由密鑰:路由密鑰是交換機(jī)查看的密鑰,用于決定如何將消息路由到隊(duì)列。路由密鑰就像消息的地址。

AMQP:AMQP(高級消息隊(duì)列協(xié)議)是RabbitMQ用于消息傳遞的協(xié)議。

用戶:可以使用給定的用戶名和密碼連接到RabbitMQ。可以為每個(gè)用戶分配權(quán)限,例如在實(shí)例中讀取,寫入和配置權(quán)限的權(quán)限。