【发布时间】:2016-09-21 02:18:38
【问题描述】:
我正在构建一个处理订单的系统。每个订单都将遵循一个工作流程。因此,该订单可以被预订、接受、付款批准、取消等。 每次订单状态更改时,我都会将此更改发布到 SNS。要知道状态顺序是否已更改,我需要向外部 API 发出请求,并与最后一个已知状态进行比较。 问题是:存储最后一个已知订单状态的最佳位置是什么? 1. SQS 队列。所以每次我从队列中读取消息时,使用外部 API 检查状态,删除消息并插入另一个具有新状态的消息。 2.使用数据库(如Dynamo DB)来控制订单状态。
【问题讨论】:
-
工作流完成后会发生什么?还是每个阶段的SNS通知都是enuf?
-
通知重复可以吗?
-
@Shibashis:工作流程完成后,我可以从 SQS/数据库中删除消息。我不能有重复的通知。
标签: amazon-dynamodb message-queue amazon-sqs