如何在微服务环境中管理子交易

时间:2019-06-24 11:44:13

标签: java microservices message

我们有具有多种服务的微服务环境。流中的第一个服务创建correlationId(cid)。并将其从一项服务传递到另一项服务,以供将来跟踪。

我们知道每个服务都需要创建一个额外的“ EventId”,以便可以在内部使用。但这会导致多个问题。

  1. 它破坏了我们的重复数据删除机制 我们有重复数据删除机制,该机制会检查是否在最后5分钟内到达了相同的CID,将其称为dedup并将其丢弃,但是 如果服务A需要在相同的流程下多次调用服务B,我们的dedup将丢弃有效的消息,因为它们将删除真实的dedup。

  2. 我们应该始终创建内部eventId还是仅在将记录插入到数据源(例如mysql)中时创建

  3. 拥有这种架构的示例将很棒

0 个答案:

没有答案