1

メッセージング サービスに RabbitMq を使用する予定です。すべてのメッセージ リクエストを RabbitMq 永続キューに発行します。

.Net クライアントの場合、EasyNetQ を使用することにしたので、問題は、メッセージを発行している間、RabbitMq サーバーをどのように処理するかということです。

  • 例外をキャッチしてメッセージをデータベースに保存し、スケジュールされたジョブで再発行する必要がありますか?
  • サーキットブレーカーを使用する必要がありますか?
  • または他に何ですか?あなたの経験を聞きたいです。
4

1 に答える 1

3

一般に、公開について確認したい場合は、公開確認を使用できます。

ご覧のとおり、トランザクションまたは ConfirmListener を使用してそれを行うことができます。

ブローカーの失敗を処理するには、失敗したメッセージをローカルに保存し、x 秒後に再送信を試みます。

注: EasyNetQ の仕組みはわかりませんが、ネイティブ パブリッシュは非同期であるため、パブリッシュ例外をトラップするだけでは十分ではありません。そのため、公開確認を使用して対処する必要があります。

于 2016-12-19T14:24:32.130 に答える