2017-06-12 16 views
0

私はRabbitMQを初めて使用しています。メッセージが消費者によって消費された後のRabbitMQでは、依然としてキュー内で利用可能になるでしょうか?特定のキューからの1つのメッセージを複数のコンシューマが消費できるかメッセージがファイルシステムに格納されているKafkaとは異なり、RabbitMqにはどのように格納されていますか?RabbitMQメッセージ保存と消費

+0

解決策はありましたか?ディスカッションをインタラクティブにすることをお勧めします。 – lambodar

答えて

1

特定のキューからの1つのメッセージを複数のコンシューマが消費できますか?

はい、ファンアウト交換を使用してこれをアーカイブすることができます。エクスチェンジにはさまざまなタイプがあります。

ダイレクト:一度に消費者に届くとメッセージが消え、手動または自動のackモードを処理できます。直接交換は、メッセージルーティングキーに基づいてメッセージをキューに配信します。

ファンアウト: 1つのメッセージを複数のリスナーが再生することができます。鍵とパターンルーティングメッセージのマッチングに基づいて1つまたは多数のキューにトピック交換経路メッセージ:それに結合され、ルーティングキーが

トピック無視されるキューの全てのファンアウト交換経路メッセージをメッセージはどのようにそれがRabbitMQの中に格納されているファイル・システムに格納されているカフカとは異なり

:取引hereに為替

詳細にキューを結合するために使用されたのですか?あなたがあなたの要件に基づいて、オプション設定としてメッセージpersistenceと(ミラーリング用)HA政体を有効にすることができますしたい場合は、デフォルトのRabbitMQことで

は、メモリ内にメッセージを格納します。しかし、それはパフォーマンスのコストが来ている、それはスロットル(I/O操作が関与)によってあなたのスループットを削減します。

enter image description here

関連する問題