SQS上的AWS S3事件通知的可靠性如何?

时间:2019-03-15 10:53:27

标签: amazon-web-services amazon-s3 amazon-sqs distributed-system

我想设计一个基于AWS S3事件通知机制的应用程序。基本上,每次将文件放入S3存储桶时,都会触发SQS通知。

official documentation很清楚地说,“在极少数情况下,事件可能会丢失。”

有人知道这种“罕见的场合”是什么意思吗?手动发送SQS通知(发送方将文件添加到存储桶中然后发送SQS通知),而不是依赖于此事件通知系统会更安全吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

  

“在极少数情况下,事件可能会丢失。”

基本上是指以下情况之一的中断:

  • S3
  • SQS
  • 网络连接问题
  • 可用区中的一般问题
  • 该地区的普遍问题

即使您手动发送通知,这些内容中的大多数仍然是个问题。

答案 1 :(得分:0)

AWS 文档还说明了以下内容(在 https://docs.aws.amazon.com/AmazonS3/latest/userguide/NotificationHowTo.html#supported-notification-event-types 中): Amazon S3 事件通知设计为至少传送一次。通常,事件通知会在几秒钟内发送,但有时可能需要一分钟或更长时间。 如果同时对一个非版本化对象进行两次写入,则可能只发送一个事件通知。如果您想确保每次成功写入都会发送事件通知,您可以在存储桶上启用版本控制。通过版本控制,每次成功写入都会为您的对象创建一个新版本,并且还会发送一个事件通知。