我们有具有多种服务的微服务环境。流中的第一个服务创建correlationId(cid)。并将其从一项服务传递到另一项服务,以供将来跟踪。
我们知道每个服务都需要创建一个额外的“ EventId”,以便可以在内部使用。但这会导致多个问题。
它破坏了我们的重复数据删除机制 我们有重复数据删除机制,该机制会检查是否在最后5分钟内到达了相同的CID,将其称为dedup并将其丢弃,但是 如果服务A需要在相同的流程下多次调用服务B,我们的dedup将丢弃有效的消息,因为它们将删除真实的dedup。
我们应该始终创建内部eventId还是仅在将记录插入到数据源(例如mysql)中时创建
拥有这种架构的示例将很棒