普通消息被发送到普通消息队列时, 初始状态为 Active,当其被取走后在 VisibilityTimeout 的时间内状态为 Inactive,若超过 VisibilityTimeout 时间后消息还未被删除,消息会重新变成 Active 状态;如果在VisibilityTimeout 时间内被删除,消息状态将变为 Deleted。消息的最长存活时间由创建队列时指定的 MessageRetentionPeriod 属性值决定, 超过此时间后消息状态变成 Expired 并将被回收。
消费者只能取到处于 Active 状态的消息。这保证了同一条消息不会同时被多次消费,但可被顺序性地多次消费。
相似问题