【发布时间】:2018-09-21 13:20:21
【问题描述】:
我正在考虑与 CQRS 有一点关联的东西。有一个模式请求 - 回复。在 HTTP 传输到标头的示例中,我们将 Request-Id 至少用于跟踪目的。在我的例子中,不同微服务之间的监控。如果传入请求包含它,则对 Correlation-Id 标头进行重写。我认为这是在传输层(基础设施)上完成的。问题是是否应该从业务层(例如,直接从我们正在执行的命令)传递 Request-Id(有时称为 Message-Id) - 一些机械师会自动神奇地做到这一点 - 就像 ICommand 要求 Id 存在? 还是仅存在于基础设施层(传输)中的完全不同的东西?如果是,那么如何将传输 ID 与业务命令 ID 相关联?至少一个日志/跟踪/跟踪的东西必须与两个标识符一起放置?有没有我错过的模式?此外,您认为 CorrelationId 应该在业务指挥中使用什么?
【问题讨论】:
标签: events command microservices correlation cqrs