これらの2つの用語について少し混乱していますが、永続的なメッセージを持つ目的は何ですか、一時的(耐久性のない)キューですか? 結局のところ、ブローカが再起動し、キューが復元されない場合、回復されたメッセージは無駄になります。永続性と耐久性の概念AMQPの混乱
5
A
答えて
4
ブローカーの再起動後でもキューは残っていても空でもその逆もありますが、悲しいことに、キュー内のすべてのメッセージが失われます。
メッセージの永続性オプションを指定すると、実際には役に立たなくなりますが、エラーは発生しません。
alternate exchangeを交換するためにバインドするとメッセージを公開していて、耐久性があります。再起動後、過渡キューが宣言されていないとメッセージをルーティングできます。
例: - M*2
はQ*1
がメッセージM*1
とQ*2
を受け、私たちは、このような組み合わせを持っているし、適切にバインドされたキューとします。
[ Exchange-main/durable ] + [Exchange-alternate/durable]
[Qm1/transient][Qm2/transient] [Qax1/durable][Qax2/durable]
のメッセージ[Mt1/transient]
と `[Md1の/耐久性のある]を公開し、我々はこのような状況を取得しますしてみましょう:
[ Exchange-main/durable ] + [Exchange-alternate/durable]
[Qm1/transient][Qm2/transient] [Qax1/durable][Qax2/durable]
[Mt1/transient]
[Md1/durable]
再起動した後、私たちは
[ Exchange-main/durable ] + [Exchange-alternate/durable]
[Qax1/durable][Qax2/durable]
はのは、2つのメッセージを公開してみましょう取得します再び、[Mt1/transient]
と `[Md1/durable]:
[ Exchange-main/durable ] + [Exchange-alternate/durable]
[Qax1/durable][Qax2/durable]
[Mt1/transient]
[Md1/durable]
ので、もう一度再起動ブローカー:その逆のシナリオではでそう
[ Exchange-main/durable ] + [Exchange-alternate/durable]
[Qax1/durable][Qax2/durable]
[Md1/durable]
関連する問題
- 1. ヘーゼルキャスト耐久性メッセージキュー
- 2. WF 4持続性と耐久性のあるワークフロー
- 3. データ永続性を持つ概念の名前
- 4. TransactionScopeと "耐久性の高いリソース"
- 5. OOPと永続性についての初心者の概念的な質問
- 6. .Netの耐久性のあるトピックサブスクリプション
- 7. 耐久性のあるリソースマネージャ(IEnlistmentNotification)リカバリ
- 8. ActiveMQ耐久性のあるトピック接続設計の見通し
- 9. リモートアクターと耐久性のあるメールボックスを使用したAkka
- 10. Haskellの並行性と永続性
- 11. Builderのパターンと永続性
- 12. 。トランザクションファイルシステムアクセスのための耐久性のあるリソースマネージャー
- 13. コンソールホストでワークフローの耐久性のあるデュプレックスサービスをホストする
- 14. MBeanの永続性
- 15. ステートマシンの永続性
- 16. RabbitMQ専用の+耐久性キューを使用する
- 17. ServiceStackで耐久性のあるRabbitMq .outqを設定する
- 18. OpenGLオブジェクトとカメラの耐性?
- 19. Windowsワークフロー:永続性とポーリング
- 20. ボット耐性ウェブサイト
- 21. プロトコルエラー耐性ソケットサーバー
- 22. WCFを使用しているときのメッセージの耐久性を確保
- 23. Backbone.jsデータ永続性
- 24. facebookチャットボックス永続性
- 25. SQL永続性サービス
- 26. C++連続シーケンスの概念
- 27. Qtペイントの永続性
- 28. 角2データの永続性
- 29. Android WebView - フォームデータの永続性
- 30. AJAX/Javaの永続性
は、我々はこれ以上に以前に割り当てられませんでしたなしのキューが、メッセージになってしまいます再起動後、「現世」のキューと永続メッセージを持っています既存のキューは、メッセージが絡んでいることを意味しますか? – ahj
メッセージは失われます。私は例を使って私の答えを更新しました、それが助けになるでしょう。 – pinepain
@pinepain:「メッセージが失われる」と定義します。これは、メッセージがディスクから削除されたこと、またはディスク上にまだ残っているが、RabbitMQがどこにいるか分からないために孤立していることを意味しますか? – Ellesedil