审计!如何为多个应用程序实施集中审计服务?

时间:2012-08-13 22:38:33

标签: architecture soa message-queue nservicebus auditing

我们在客户端运行一些CRUD网络应用程序,我们需要实施审核系统来跟踪用户在这些产品中所做的更改。

例如:

  • 用户ABC创建了一个新的交易(在交易应用程序中)
  • 用户DEF更改了ID为123的客户端的地址信息(在客户端应用程序中)

我正在考虑一个基于事件的解决方案,其中包含一个消息队列,当任何用户进行更改并且审计服务将成为所有这些消息的订阅者时,我们的所有服务都会发布消息。

此模型的一些优点:

  • 旧服务将有微小的变化(存储库将开始 发布消息)
  • 所有审核逻辑和数据将集中在一个项目中

你们对这种方法有什么看法?我应该记住什么?

1 个答案:

答案 0 :(得分:1)

HY 你在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>