如何实施Amazon SQS可见性超时?

时间:2016-11-06 08:49:52

标签: algorithm amazon-web-services message-queue amazon-sqs

我想知道如何有效实现SQS可见性超时。消息是否放在另一个队列中,并且工作人员扫描它并删除那些达到超时阈值的消息?

1 个答案:

答案 0 :(得分:1)

我个人会通过存储timestamp来实现它,该ReceiveMessage()说明何时使其可见。

  • timestamp < now期间,请勿返回timestamp < now
  • 的任何消息
  • 在管理控制台中,将timestamp >= now条消息显示为在飞行中
  • tkinter时,什么都不做!

虽然会有很多时间戳比较,但这比检查状态代码没有差。此外,没有必要在时间过去时清除时间戳,因此“高效”,因为不需要“扫描”过程。

Amazon SQS高度分布在多个服务器和多个可用区中,因此避免任何可能的数据更新最有效,因为它需要在服务器之间进行复制。