Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 我们应该处理一个lambda集装箱撞车事件吗?_Amazon S3_Aws Lambda_Event Driven_Resiliency - Fatal编程技术网

Amazon s3 我们应该处理一个lambda集装箱撞车事件吗?

Amazon s3 我们应该处理一个lambda集装箱撞车事件吗?,amazon-s3,aws-lambda,event-driven,resiliency,Amazon S3,Aws Lambda,Event Driven,Resiliency,阅读了大量关于AWS Lambda的错误处理的文章,但并没有任何内容涵盖运行中的Lambda容器崩溃的主题 这是一种可能,因为它看起来像一个?我正在使用Lambdas构建一个事件驱动系统,该系统由一个文件上传到S3触发,我不确定如果lambda死了,我是否应该费心构建逻辑来处理拾取 e、 g.文件对象是在S3上创建的->S3通知Lambda事件->Lambda实例在开始处理之前发生崩溃->事件现在永远消失了*(这里的假设是,我不确定这是不是真的,但找不到任何相反的说法) 我正在讨论构建逻辑来协调

阅读了大量关于AWS Lambda的错误处理的文章,但并没有任何内容涵盖运行中的Lambda容器崩溃的主题

这是一种可能,因为它看起来像一个?我正在使用Lambdas构建一个事件驱动系统,该系统由一个文件上传到S3触发,我不确定如果lambda死了,我是否应该费心构建逻辑来处理拾取

e、 g.文件对象是在S3上创建的->S3通知Lambda事件->Lambda实例在开始处理之前发生崩溃->事件现在永远消失了*(这里的假设是,我不确定这是不是真的,但找不到任何相反的说法)

我正在讨论构建逻辑来协调S3上的内容和每天处理的内容,这样我就可以检测到Lambda死机(死机并且无法将故障写入DLQ)的场景(尽管很少见),我们需要处理这些文件。这值得吗?S3是否会知道lambda死了,它需要将事件放在自己的DLQ上?

来自AWS S3的是异步的

接下来,异步lambda调用将在没有任何队列的情况下重试两次


我想如果需要更多的尝试,最好设置SNS/SQS队列。

我认为这是一个很好的问题,我们可以对此有不同的意见。它的投资回报率是多少?你需要投入多少时间?另一方面,让我们引用“通过快速启动和
优雅关闭来最大化健壮性”
“嗨,Jérémie,我很熟悉这一点,我的问题是:lambda函数是否可能崩溃(容器进程死亡),因此它无法通过重试/写入DLQ来优雅地出错?如果容器进程死机,lambda运行时/平台/任何东西是否仍然能够对另一个热容器或新初始化的容器进行重试?或者,我在左边的字段中谈论的内容不足以保证处理的努力?至少,我只是用一个非常基本的引导程序进行了一个测试,该程序只需下载调用,然后直接退出(模拟硬崩溃而不发送任何响应),在cloud watch中,我看到异步调用每分钟都在重新发送,因此,本案例中包括了集装箱碰撞。容器已通过重新启动引导重新使用。在任何情况下,如果有关键的商业数据,我仍然会设置DLQ以避免任何数据丢失。