我有一个系统,其中以事件源作为SQS队列触发Lambda。每个消息都获得我们自己的内部唯一ID,以区分两个请求。
现在,lambda会在调用sqs之后自动从队列中删除消息,并在处理消息时使其处于运行状态,因此,理想情况下永远不应对唯一消息进行重复处理。
但是,当我检查日志时,具有相同唯一ID的消息在彼此的时间范围内100毫秒内被处理。 因此,这似乎是为一条消息触发了两个lambda,而在aws结束时发生了一些故障,要么是可见性超时,要么是其他原因。我在线阅读了很少有人遇到相同的情况。
经历过相同情况的任何人都可以解释他们是如何解决它的,或者使用当前可扩展系统的人如果没有这种问题,可以帮助我找出我有这种问题的原因吗?
注意:-成功执行了一条消息两次,这不是两次失败的尝试。