我不太关心事件的顺序,但我希望消息只被处理一次。监听SQS消息的Lambda函数将其存储在DynamoDB中,因此吞吐量非常重要,因为我有多个微服务(作为生产者)向此SQS写入消息,这些消息将由单个微服务读取。
关于确保消息只被处理一次,FIFO队列支持此功能,但据说吞吐量不佳。
如果每条消息具有唯一的groupId,FIFO队列的吞吐量是否与标准队列相同?
如果不是,那么我的下一个选择可能是在将消息存储到DynamoDB时使用“attribute_not_exists”。
哪个选项应该更好?