我有以下微服务场景
微服务1
1-收集System.getCurrentTimeMillis
2-在DB 中进行操作后生成id
3-以下面的格式发送json中的对象到主题INICIO_PROCESSAMENTO
{
"uuid": "b45ebe6f-d59a-4e37-9706-f546b32c68c3",
"milliSeconds": 1600258507450
}
微服务7
1-使用第一个微服务中生成的ID完成消息处理
2-收集System.getCurrentTimeMillis
3-在下面发送主题FIM_PROCESSAMENTO 的Json
{
"uuid": "b45ebe6f-d59a-4e37-9706-f546b32c68c3",
"milliSeconds": 1600258508980
}
在这种情况下,如何测量异步事务的总时间?一个建议是使用Kafka Streams,也许还有KTables,但我不明白这是怎么回事。
Kafka中的消息ID是一个由Kafka/Driver生成的长消息。我的操作ID仅存在于发送到主题的邮件正文中。
最后的目标是能够收集流程的总时间进行分析,最初我们会使用opentrace进行分析,但由于我们在流程中间与第三方进行了集成,并且我们依赖于没有交易id的第三方返回,因此我们无法遵循这一方式。
在这种情况下,我使用opentelemetry 解决了它