gpt4 book ai didi

amazon-web-services - 增加 DynamoDB 中的分片数量以并行启动更多 lambda

转载 作者:行者123 更新时间:2023-12-04 15:52:57 26 4
gpt4 key购买 nike

我目前正在使用 DynamoDB 流来处理使用 lambda 函数更改的集合值,但是,目前,我只并行运行两个 lambda 实例,这不足以处理所有传入数据,而且 lambda 函数只是排队。

来自 aws 在文档中,我可以看到可以并行运行的 lambda 表达式的数量与 DynamoDB 的分片数量成正比:

If you create a Lambda function that processes events from stream-based services (Amazon Kinesis Streams or DynamoDB streams), the number of shards per stream is the unit of concurrency. If your stream has 100 active shards, there will be 100 Lambda functions running concurrently. Then, each Lambda function processes events on a shard in the order that they arrive.



所以我的问题是,如何增加 DynamoDB 的分片数量?甚至有可能吗?我在设置中找不到如何设置它。

最佳答案

不,无法手动控制 DDB UpdateStream 中的分片数量。
DDB 通过创建尽可能多的分片来匹配传入的更新速率来自动为您处理。

理想情况下,发生在 DDB 表上的更新应该流经某个分片(发生在同一条记录上的更新将始终转到同一分片,这意味着它们根据您的 hashKey 进行分区)。
您的更新流也是按时间顺序排列的,因此对同一记录的更新最终(或说排队)在同一分片中,以便最终处理器按它们发生的顺序处理它们。

每个分片都有自己的进出数据吞吐能力,除非需要更多分片来支持即将到来的表更新率(在 DDB 更新流的情况下,表上的写入 tps 很高,当前分片数受不了)

关于amazon-web-services - 增加 DynamoDB 中的分片数量以并行启动更多 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42305262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com