2

私たちはプロダクションでrabbitmqを使用しており、本当に満足しています. rabbitmq のファンアウト機能を使用する予定ですが、内部を理解したいと考えています。

ここに私の質問があります:
1. メッセージが複数のキューにファンアウトされている場合、メッセージは単なる参照ではなく別のキューにコピーされますか?
2. ファン化されたすべてのキューでメッセージ全体が複製されている場合、それを効率的にする方法はありますか?

ありがとう、
バラ

4

1 に答える 1

0

AMQP メッセージ コンテンツを格納するために、RabbitMQ は Erlang の特定のタイプである「バイナリ」を使用します。

Erlang VM は、それらのバイナリが十分に小さい場合 (私の記憶が正しければ制限は 64 バイトです) のみをコピーし、それ以外の場合は参照カウントを使用します。Erlang ドキュメントには、バイナリの実装方法に関する章があります。パラグラフ 4.1 に興味があるはずです。

于 2016-03-18T16:13:51.147 に答える