【发布时间】:2018-04-03 19:10:08
【问题描述】:
我们正在考虑为我们的项目使用亚马逊网络服务。其中上游流将消息推送到 kinesis 中,然后这些消息将被馈送到 lambdas 中,这些消息在处理之前将按顺序排列。据我了解,AWS lambda 将根据消息量水平扩展。我们每秒有 400 条消息量,这意味着 AWS lambda 将响应消息量,并将在单独的容器上实例化新进程以利用并行性,为了实现并行性,必须妥协排序。因此,如果订购的 10 条消息命中 lambda 函数并且一个函数比另一个函数花费更多时间,AWS 将在某个容器中预置一个新函数来服务请求。
在所有这些过程之后,最终输出是否正常? 任何帮助表示赞赏。 谢谢。
【问题讨论】:
-
最终输出是什么? Dynamodb、rds 等
-
最终输出将存储在 SQS 上
-
Lambda 不保证 FIFO 用于响应事件的函数执行,当然也不保证 Lambda N 对 SQS 的写入将在 Lambda (N+1) 对 SQS 的写入之前。更不用说 Lambda 重试的潜在影响。
-
嗨jarmod,我从你的观点理解是lambda不保证函数执行的顺序,第n个函数执行的结果不一定在第N+1个函数之前。
标签: amazon-web-services aws-lambda amazon-kinesis-firehose