5
マイクロサービス:結果整合性の処理
ユーザーのパスワードを更新する機能があるとします。 [パスワードの更新]ボタンをクリックすると、他の3つのサービスがサブスクライブされているトピックにUpdatePasswordEventが送信されます。 ユーザーのパスワードを実際に更新するサービス ユーザーのパスワード履歴を更新するサービス パスワードが変更されたことをユーザーに通知する電子メールを送信するサービス。 結果整合性について私が理解したことから、これらのすべてのサービス(消費者)は同時にイベントを受け取り、それらを個別に処理します。これは、良いシナリオでは、データの整合性につながります。 ただし、サービスがイベントの処理に失敗した場合はどうなりますか?たとえば、突然の切断、データベースエラーなど。これらのトランザクションエラーを処理するための適切なパターン/プラクティスは何ですか? イベントの処理に失敗した場合、RollbackEventがトピック内に作成され、「ロールバックサービス」がジョブを実行してデータを元に戻すRollbackTopicを作成することを考えていました