2

1つのクライアントの場合、1つの接続を確立し、この接続で2つのチャネルを作成します。最初のチャネルを介して1つの大きなメッセージ(5MB)をrabbitmqの交換に送信し始めます。ネットワークの速度は遅く、たとえば1秒あたり100kbです。そして1秒後、別の小さなメッセージ(10kb)を2番目のチャネルを介して別のrabbitmqの交換に送信し始めます。

2番目のメッセージ(10kb)は、最初のメッセージ(5MB)が完了するまでバイトを送信しませんか?

4

1 に答える 1

1

メッセージはフレームに分割され、異なるチャネルからのフレームを同じ接続でインターリーブできます。これは、2番目の(小さい)メッセージが最初のメッセージの終了を待つ必要がないことを意味します。5MBのメッセージはいくつかのフレームに分割され(RabbitMQのデフォルトの最大フレームサイズ128KBの場合)、両方のメッセージのフレームの送信がインターリーブされます。 。

于 2012-08-24T07:24:37.963 に答える