微服务架构中如何向客户端返回正确的响应?

问题描述 投票:0回答:1

客户端将向 s1 发送请求,s1 需要从 s2 获取数据才能响应。

问题:s1 如何读取来自 s2 的正确响应? 与当前设计一样,s1 可能会读取 client2 的响应并将其返回给 client1

逻辑图

asp.net architecture microservices azureservicebus
1个回答
0
投票

通常,一旦收到请求就会生成相关 ID。然后,该相关 ID 被传递到所有分布式系统,以便在整个请求过程中实现协调、跟踪和日志记录。

在这种情况下,s1 可能会生成相关 id,并且它会在发布服务总线的消息中包含该 id 以及所有其他相关数据。当 s2 工作时,它会将 id 包含在它推回的响应中。

s1 中生成 id 的进程侦听来自 s2 的所有消息,但仅对包含正确 id 的消息做出反应,将数据返回到原始客户端。

尝试https://www.google.com/search?q=use+of+correlation+id+in+distributed+applications了解更多背景

© www.soinside.com 2019 - 2024. All rights reserved.