4

RabbitMQ は、DB トランザクションのコミット時に受信メッセージ確認が送信されるシナリオをサポートしていますか?

現在、DB トランザクションのコミット後に ack を送信しています。サービスが途中で失敗した場合、データの重複が発生します - サービスは同じメッセージを再び受け取ります。

この問題のパターンはありますか?

ありがとう!

4

1 に答える 1

3

はい、そうですが、RabbitMQ はメッセージ ストレージに独自の DB を使用することに注意してください (現時点では)。RabbitMQ からパブリッシャーに ack を送信するには、TX モードを使用します。これは、仕様および Web サイトのさまざまな部分に記載されています。

独自の DB を使用する場合は、それをメッセージのエンド コンシューマーとして設定することをお勧めします。この場合、独自のアプリケーション レベルの ack を使用する必要があります。

詳細や質問については、rabbitmq-discuss までお気軽にメールしてください。

HTH

アレクシス

于 2010-03-03T12:47:03.307 に答える