客户端将向 s1 发送请求,s1 需要从 s2 获取数据才能响应。
问题:s1 如何读取来自 s2 的正确响应? 与当前设计一样,s1 可能会读取 client2 的响应并将其返回给 client1
逻辑图
通常,一旦收到请求就会生成相关 ID。然后,该相关 ID 被传递到所有分布式系统,以便在整个请求过程中实现协调、跟踪和日志记录。
在这种情况下,s1 可能会生成相关 id,并且它会在发布服务总线的消息中包含该 id 以及所有其他相关数据。当 s2 工作时,它会将 id 包含在它推回的响应中。
s1 中生成 id 的进程侦听来自 s2 的所有消息,但仅对包含正确 id 的消息做出反应,将数据返回到原始客户端。
尝试https://www.google.com/search?q=use+of+correlation+id+in+distributed+applications了解更多背景