RabbitMQは、チャネル上で送信されたメッセージの数を格納する配信タグと呼ばれる非負のlong型(63ビットの整数で、負でないため)を使用します。 1つのチャンネルで(2^63)+1のメッセージを送信するとどうなりますか?RabbitMQの配信タグがオーバーフローするとどうなりますか?
5
A
答えて
13
私の背中合わせの計算によると、maximum publish rate of 53,710 messages per secondと仮定すると、合計7.06 x 10^13年の間に公開する必要があります。これは、既知の宇宙の年齢より4桁大きいものです。
別の言い方をすれば、何とかプロセッサー・サイクルごとに3つのメッセージを発行でき、インテル・プロセッサーが1秒当たり7,000,000,000メッセージを処理できるとすれば、それは約84年を要します。
したがって、最初に他の問題に取り組むと結論付けるのは安全です。しかし、あなたのRabbitMQサーバがそれを長く稼働させることができれば、あなたは賞金を得るべきです。
しかし、これが何らかの形で起こるのであれば、Erlangがどのように整数を扱うかによって決まると思います。 This postはErlangのメモリが不足していることを示しています。私はそれがどのように達成されたかを完全に理解していませんが、システム全体が爆発する可能性はありますか?知るか。 C#では、intは単にoverflowの後に転がります。
関連する問題
- 1. RabbitMQ PRECONDITION_FAILED - 不明な配信タグ
- 2. RabbitMQの配信不能メッセージをどのように受け取りますか?
- 3. 設定配信モード(RabbitMQの)
- 4. パイプがオーバーフローする心配はありますか?
- 5. RabbitTemplate.send()はRabbitMQへのメッセージ配信を保証しますか?
- 6. RabbitMQ Javaクライアント:コンシューマのhandleDelivery()メソッドの内部でRuntimeExceptionがスローされるとどうなりますか?
- 7. クライアントがSYNをudpサーバに送信するとどうなりますか
- 8. rabbitMQのメッセージはどこから送信されますか?
- 9. objectタグのonerrorイベントハンドラはどうなりますか?
- 10. 送信中にCRC除数が壊れるとどうなりますか?
- 11. マスターとスレーブが通信できない場合はどうなりますか?
- 12. rabbitmqにさまざまなデータを送信するにはどうすればよいですか?
- 13. オーバーフローはどのような影響を与えますか?このコードには隠しがありますか?
- 14. Grails RabbitMQプラグインでAckが送信されないようにすることはできますか?
- 15. RabbitMQ:配信モードは、Firehose通知形式の一部ですか?
- 16. RDBMSの配送テーブルと受信テーブルはどのように設定する必要がありますか?
- 17. タグにng-clickディレクティブが2つある場合、どうなりますか?
- 18. mysqlの長いキーをAES_ENCRYPTに送信するとどうなりますか
- 19. htmlフォームを送信するとどうなりますか? (舞台裏のプロセス)
- 20. 自分のドメインにメールを送信するとどうなりますか?
- 21. Illustrator/PSイメージを別のコンピュータに送信するとどうなりますか?
- 22. Qt:信号をあまりにも速く送信するとどうなりますか?
- 23. オーバーフロー:Firefoxでは非表示になりますが、Chromeでは非表示になります。どうして?
- 24. アドレス情報にはどのようなHTMLタグがありますか?
- 25. ドッカーのボリュームがクラッシュするとどうなりますか?
- 26. numpyのmemmap配列をコピーするとどうなりますか?
- 27. erlang.cookieとrabbitmqはどう関係していますか?
- 28. RabbitMQオブジェクトを送信する
- 29. rabbitMQに一連のジョブを送信する方法はありますか?
- 30. rabbitmqからファイルを送信する
はい、このメッセージを送信する可能性は低いです。私はあなたがそうだったら何が起こるかに興味がありました。私たちはどちらが起こるか想像することができますが、誰かが私を参照することを既に知っているか、指摘することができるかどうかを見極めていました。 –
あなたの問題の定義を考えると、「ありそうもありません」 - 不可能です。しかし、私は私の答えの2番目の部分で理論化しようとしました:)それは整数値が故意に(MaxValue-1)またはsometthingに設定されたことによって、テストを設定できるかもしれませんが、学問的な運動。 – theMayer