クライアントで実行されているいくつかの CRUD Web アプリがあり、これらの製品のいずれかでユーザーが行った変更を追跡するために、監査システムを実装する必要があります。
元。:
- ユーザー ABC が新しい取引を作成しました (取引アプリで)
- ユーザー DEF が ID 123 のクライアントのアドレス情報を変更しました (クライアント アプリ内)
私は、ユーザーが変更を加えるたびにすべてのサービスがメッセージを発行し、監査サービスがこれらすべてのメッセージのサブスクライバーになるメッセージ キューを使用したイベント ベースのソリューションについて考えていました。
このモデルの利点のいくつか:
- 古いサービスには小さな変更があります (リポジトリはメッセージの公開を開始します)
- すべての監査ロジックとデータが 1 つのプロジェクトに集中化されます
皆さんはこのアプローチについてどう思いますか? また、何を心に留めておくべきですか?