私たちはプロダクションでrabbitmqを使用しており、本当に満足しています. rabbitmq のファンアウト機能を使用する予定ですが、内部を理解したいと考えています。
ここに私の質問があります:
1. メッセージが複数のキューにファンアウトされている場合、メッセージは単なる参照ではなく別のキューにコピーされますか?
2. ファン化されたすべてのキューでメッセージ全体が複製されている場合、それを効率的にする方法はありますか?
ありがとう、
バラ
私たちはプロダクションでrabbitmqを使用しており、本当に満足しています. rabbitmq のファンアウト機能を使用する予定ですが、内部を理解したいと考えています。
ここに私の質問があります:
1. メッセージが複数のキューにファンアウトされている場合、メッセージは単なる参照ではなく別のキューにコピーされますか?
2. ファン化されたすべてのキューでメッセージ全体が複製されている場合、それを効率的にする方法はありますか?
ありがとう、
バラ
AMQP メッセージ コンテンツを格納するために、RabbitMQ は Erlang の特定のタイプである「バイナリ」を使用します。
Erlang VM は、それらのバイナリが十分に小さい場合 (私の記憶が正しければ制限は 64 バイトです) のみをコピーし、それ以外の場合は参照カウントを使用します。Erlang ドキュメントには、バイナリの実装方法に関する章があります。パラグラフ 4.1 に興味があるはずです。