我正试图了解AsyncAPI规范中的相关idhttps://www.asyncapi.com/docs/specifications/v2.0.0 correlationIdObject
有一个完整的例子专门用于此,但我仍然不知道这个属性的目的是什么https://github.com/asyncapi/spec/blob/3470a6386736cf6002846d8eb7535308b79c75e8/examples/correlation-id.yml我感兴趣的是:
- 该信息与数据生产者(服务器)或消费者(客户端)相关吗?
- 我们能从中得到什么信息?
- 我应该在什么实际用例中使用它?
correlationid
的目的是指定您可以在消息中找到相关标识符的位置。有时这些信息是报头的一部分,有时可以在消息有效负载中。因此,correlationid
prop将统一这些信息呈现给API描述的方式,它是您指定标识符确切位置的地方。
你为什么需要它?在所有。对我来说,主要的原因是一直在追踪。关联标识符也称为跟踪id或请求id。请用不同的叫法。基本上,这是事件的id,它可以帮助您通过日志和跟踪工具(如Jeager和其他工具)跟踪系统中的事件。因此,您可以跟踪系统中从A点到Z点的事件流,例如确定为什么它没有到达Z,它在哪里堆栈。
在事件驱动架构中的请求/应答模式中也很有用。事件的生产者希望确保它收到的响应事件是消费者对该特定事件的响应。