2017-10-06 2 views
0

私はRabbitMQの初心者です。私はRabbitMQの公式サイトの必須事項から自分の冒険を始めました。顧客と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

これは、ソケットレベルで、バイナリプロトコルはバージョン0-9-1AMQPと呼ばれます。

仕様はRMQのサイト:https://www.rabbitmq.com/amqp-0-9-1-reference.htmlにあります。 Java API。

+0

はそれがデフォルトでRabbitMQの中に統合されていますか?または、中間カスタムレイヤを構築する必要がありますか? – OPV

+0

はい、それは下に何かを構築する必要はありません。 –

+0

これで、モバイルデバイスのようなクライアントがブローカにどのように参加するのですか? – OPV

1

コンシューマがキューからメッセージを消費するため、コンシューマからのバインディングを気にする必要はありません。

メッセージはキューに直接パブリッシュされず、代わりにプロデューサが交換機にメッセージを送信します。エクスチェンジは、RabbitMQ内の仮想ホストごとに定義されたメッセージルーティングエージェントです。交換機は、異なる待ち行列へのメッセージのルーティングを担当する。エクスチェンジは、プロデューサアプリケーションからのメッセージを受け取り、ヘッダ属性、バインディング、ルーティングキーの助けを借りてメッセージキューにルーティングします。

バインディングは、キューを交換にバインドするために設定する「リンク」です。

ルーティングキーはメッセージ属性です。交換機は、(交換タイプに応じて)メッセージをキューにルーティングする方法を決定する際に、このキーを調べることがあります。

RabbitMQには、異なるパラメータとバインディング設定を使用してメッセージを別々にルーティングする4種類の交換があります。

詳しい情報はここで見つけることができます:https://www.cloudamqp.com/blog/2015-09-03-part4-rabbitmq-for-beginners-exchanges-routing-keys-bindings.html

enter image description here

+0

キューとコンシューマーの間でどのようなチャンネルが使われていますか? – OPV

関連する問題