首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS Firehose数据转换并发限制

AWS Firehose数据转换并发限制
EN

Stack Overflow用户
提问于 2017-05-30 22:46:26
回答 1查看 1.2K关注 0票数 2

我有一个用例,在这个用例中,我必须每秒从不同的生产者收集数千条记录,并使用AWS firehose将它们推送到弹性搜索。我还在firehose上使用了一个数据转换lambda,它在将记录传递回firehose之前进行了大量的计算。

Firehose应该在数据被再次缓冲以传送到目的地之前,对每个缓冲的批处理异步调用lambda。

我在15分钟内以每秒4k条记录的入口率运行了一个基本测试,下面是系统的响应。

Firehose CloudWatch Metrics

Lambda CloudWatch Metrics

查看firehose指标,很明显,firehose花了一个多小时来处理所有传入的事件。因为没有任何lambda油门(图2),所以我想知道为什么Firehose没有运行尽可能多的lambda来跟上输入速率?

如第二张图所示,我每分钟有大约30次lambda调用,平均处理持续时间为8000ms。

所以我想知道firehose是否同时运行lambda?我是否遗漏了一些firehose-lambda并发限制?

EN

回答 1

Stack Overflow用户

发布于 2017-07-06 22:36:00

每个Lambda事件源原则上将与1个Lambda实例相关联。这是为了确保要处理的数据的正确排序。

如果您想要以不保证数据的正确排序为代价来增加吞吐量,您可以在lambda函数内部使用"InvokeAsync“(传递相同的参数)。这样,您就可以第二次调用lambda,这次是异步的,这将像预期的那样增加吞吐量。

可以在这里找到详细说明类似问题的博客文章:https://medium.com/retailmenot-engineering/building-a-high-throughput-data-pipeline-with-kinesis-lambda-and-dynamodb-7d78e992a02d

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44265425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档