【发布时间】:2021-08-13 10:35:37
【问题描述】:
假设我有这个微服务架构并且它们都使用 pubsub 进行交互。
基本上,如果进行汽车销售,它会执行任务 1,这会导致任务 2a 和 2b,如果皮革座椅可用,则会执行任务 3。 请注意,任务 2a 和 2b 是同时发生的,因为它是一个 pubsub
理论上,这很有效,但在实践中,我发现任务 2b 和 3 在执行 2a 之前执行的情况。这会导致任务 3 导致错误,因为尚未从任务 2a 生成 CAR 123。
我正在考虑在执行任务 2b 时添加延迟,但我想知道是否有解决此类问题的“更标准”的方法?
(不,我们不能将任务 3 更改为 upsert 命令)
【问题讨论】:
-
为什么要标记 3 种完全不同的流/通知解决方案?你实际使用的那个会影响答案。具体来说,您不应该查询座位服务的状态(至少不认为它是一个完整的事件),直到它收到来自座位服务的更新
-
您好,对不起,我不明白您的评论。此外,这个基础设施是我公司在我之前完成的。
-
您标记了 SQS、SNS 和 Kafka,它们完全不同,任何建议都取决于您实际使用哪一个来发送数据
-
我明白了,很抱歉,我实际上在这个架构中使用了 SNS 和 SQS 的组合。我修改了标签
标签: amazon-sqs publish-subscribe amazon-sns