2017-10-06 60 views
0

我是RabbitMQ的初學者,我從RabbitMQ官方網站的必需品開始了我的冒險。Customer和RabbitMQ代理之間存在哪種綁定?

現在我已經得到了使用代理信使在層下面的模式:

Backend Server(Business logic) -> (push message) -> RabbitMQ -> Customer(receiver). 

關於這個邏輯我有簡單的問題:哪些種類的結合做客戶和RabbitMQ的經紀人與Backend ServerRabbitMQ Broker之間存在如果這些物理組件被放置在不同的服務器上?它是套接字層還是無狀態的HTTP連接?這說明我的想法

模式是:

Backend Server(Business logic) ->(???) -> (push message) -> RabbitMQ -> (???) Customer(receiver). 

回答

1

這是一個套接字級別,二進制協議稱爲AMQP,版本0-9-1

該規範可以在RMQ的網站找到:https://www.rabbitmq.com/amqp-0-9-1-reference.html,你可以看到這些方法反映在例如Java API。

+0

是它集成在RabbitMQ的默認?或者有必要建立中間的自定義層? – OPV

+0

是的,你不需要在下面建立任何東西。 –

+0

Okayç然後像移動設備客戶端如何加入經紀人? – OPV

1

消費者從隊列中消費消息,您不需要關心來自消費者的綁定。

但是,消息不會直接發佈到隊列中,而是生成器將消息發送到交換機。 Exchange是郵件路由代理,由RabbitMQ中的每個虛擬主機定義。交換機負責將消息路由到不同的隊列。交換機接受來自生產者應用程序的消息,並藉助頭部屬性,綁定和路由密鑰將它們路由到消息隊列。

綁定是您設置爲將隊列綁定到交換機的「鏈接」。

路由密鑰是一個消息屬性。在決定如何將消息路由到隊列時(取決於交換類型),交換機可能會查看此密鑰。

在RabbitMQ中,有四種不同的交換類型,它們使用不同的參數和綁定設置來不同地路由消息。

更多信息可以在這裏找到:https://www.cloudamqp.com/blog/2015-09-03-part4-rabbitmq-for-beginners-exchanges-routing-keys-bindings.html

enter image description here

+0

隊列和消費者之間使用什麼渠道? – OPV