-1

我想知道,一般来说,当通过任何方式(即 web 服务、MQ 等)集成 2 个或多个系统时,您的系统捕获您正在发送的数据的快照是最佳实践还是标准与另一个系统?我认为这是一种保险,因为在诸如 prod 事件之类的情况下需要进行协调。

其次,我认为这个数据快照与审计跟踪不同,因为正在发送的数据本身被保存为快照表中的 LOB 列(即 xml 数据、csv 文件)。这对审计跟踪是多余的吗?

4

1 回答 1

0

对于你的第一个问题...

我已经使用队列、Web 服务等进行了很多很多集成,并且我通常会存储审计跟踪(一组高级数据告诉我发生了什么),但我从来没有真正为每个调用存储有效负载本身.

有几个原因:

  1. 来回发送的有效负载的存储可能会变得非常大。
  2. 我通常可以使用审计跟踪重建有效负载。“哦,昨天发送了 ID 为 123 的实体 XYZ。让我们看看那个实体长什么样。”
  3. 如果您将集成做得非常好并且围绕它进行了良好的测试,那么拥有有效负载的副本就变得不必要了。

我不会存储有效负载的副本,而是专注于这些事情以进行集成:

  1. 良好的双方单元测试整个过程的集成测试。
  2. 如您所述,审核日志。
  3. 消息失败时的良好重试策略(特别是对于队列和主题)。
  4. 专注于幂等消息。因此,如果某些事情失败了,你只需再做一次,一切都会好起来的。
于 2013-05-29T16:24:46.667 回答