華為云計(jì)算 云知識(shí) RabbitMQ相關(guān)概念
RabbitMQ相關(guān)概念

華為云使用RabbitMQ作為消息引擎,RabbitMQ是一個(gè)生產(chǎn)者和消費(fèi)者模型,主要負(fù)責(zé)接收、存儲(chǔ)和轉(zhuǎn)發(fā)消息。以下概念基于RabbitMQ進(jìn)行描述。

消息

消息一般分為兩部分,消息體和標(biāo)簽,標(biāo)簽主要用來描述這條消息,消息體是消息的內(nèi)容,是一個(gè)json體或者數(shù)據(jù)等。

生產(chǎn)者發(fā)送消息,消費(fèi)組消費(fèi)消息,生產(chǎn)者與消費(fèi)者彼此并無直接關(guān)系。

生產(chǎn)者(Producer)

即向隊(duì)列發(fā)送消息的一方。發(fā)布消息的最終目的在于將消息內(nèi)容傳遞給其他系統(tǒng)/模塊,使對(duì)方按照約定處理該消息。

消費(fèi)者(Consumer)

接收消息的一方。消費(fèi)者訂閱RabbitMQ的隊(duì)列,當(dāng)消費(fèi)者消費(fèi)一條消息時(shí),只是消費(fèi)消息的消息體。在消息路由的過程中,會(huì)丟棄標(biāo)簽,存入到隊(duì)列中的只有消息體。

隊(duì)列(Queue)

隊(duì)列是用于存儲(chǔ)消息的,生產(chǎn)者將消息送到隊(duì)列,消費(fèi)者從隊(duì)列中獲取和消費(fèi)消息。多個(gè)消費(fèi)者可以同時(shí)訂閱同一個(gè)隊(duì)列,隊(duì)列里的消息分配給不同的消費(fèi)者。

節(jié)點(diǎn)(Broker)

消息中間件的服務(wù)節(jié)點(diǎn)。