【发布时间】:2021-03-09 11:03:39
【问题描述】:
我知道有一些库可以在基于 OpenTracing 和 OpenTelemetry 的分布式系统中跟踪请求;这些都有效,因为请求是连接/链接的(微服务相互交谈)。系统/服务断开时如何追踪?
服务 X 调用服务 Y。Y 执行一些处理,然后写入共享位置。组件 Z 轮询共享位置(几小时后)并进行处理。
我想知道对于 X 生成的每个请求,这 3 个系统中每个系统的状态。
一种简单的跟踪方法是创建一个表并更新数据库条目。 但是考虑到我可能需要重试某些事情这一事实,我曾想过引入一个工作流引擎(Cadence),它在服务 X 上打开一个工作流。然后在每个服务处更新工作流。如果请求达到 Y,则完成 w/f 中的一个步骤。如果它没有达到 Z,则工作流程保持打开状态,一段时间后我可以生成一封电子邮件等,说明工作流程失败。
我需要帮助来了解这是否是正确的方法和/或不同的方法来做到这一点。
【问题讨论】:
标签: cadence-workflow distributed-tracing data-tracing