0

クライアントで実行されているいくつかの CRUD Web アプリがあり、これらの製品のいずれかでユーザーが行った変更を追跡するために、監査システムを実装する必要があります。

元。:

  • ユーザー ABC が新しい取引を作成しました (取引アプリで)
  • ユーザー DEF が ID 123 のクライアントのアドレス情報を変更しました (クライアント アプリ内)

私は、ユーザーが変更を加えるたびにすべてのサービスがメッセージを発行し、監査サービスがこれらすべてのメッセージのサブスクライバーになるメッセージ キューを使用したイベント ベースのソリューションについて考えていました。

このモデルの利点のいくつか:

  • 古いサービスには小さな変更があります (リポジトリはメッセージの公開を開始します)
  • すべての監査ロジックとデータが 1 つのプロジェクトに集中化されます

皆さんはこのアプローチについてどう思いますか? また、何を心に留めておくべきですか?

4

1 に答える 1

1

こんにちはあなたはこれをNserviceBusの下でタグ付けしたので、NServiceBusの観点から答えます。このアイデアは、NServiceBusを使用して実現するのに非常に簡単です。NServiceBusでパブリッシュおよびサブスクライブを適用すると、無料で監査を利用できます。構成で監査キューを指定するだけです。

<!-- You can control the TimeToBeREceived on messages going to the audit queue  -->
<!-- by using the TimeToBeReceivedOnForwardedMessages setting -->
<UnicastBusConfig ForwardReceivedMessagesTo="AuditQueue@AdminMachine" >
  <MessageEndpointMappings>
    <!-- rest of your configuration here -->
  </MessageEndpointMappings>
</UnicastBusConfig>
于 2012-08-14T04:47:44.280 に答える