使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

Kinesis 容量规划和最佳实践

0

【以下的问题经过翻译处理】 一位客户正在考虑增加 Kinesis Stream 的消费者。

目前,他们有一个每分钟轮询一次的消费者脚本,他们还想增加Firehose做为消费者。

他们应该注意哪些约束和限制,以及如何计算支持增加的消费者数量所需的最佳分片数量?

这种这种方法是否正确?

profile picture
专家
已提问 1 年前55 查看次数
1 回答
0

【以下的回答经过翻译处理】 我发现了这个 Kinesis Shard 计算器,它可以输入消费者数量、信息大小、吞吐量、消耗速度,然后推荐 Shard 的数量。试试吧 https://comcastsamples.github.io/KinesisShardCalculator/

Amazon Kinesis 数据流具有以下流和分片配额和限制。

一个账户可拥有的数据流数量没有上限。

对于以下 AWS 区域,每个数据流的默认分片配额为 500 个分片: 美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)和欧洲(爱尔兰)。对于所有其他地区,默认碎片配额为每个数据流 200 个碎片。

要申请增加每个数据流的分片配额,请按照 "申请增加配额 "中概述的步骤进行操作。

单个分片每秒最多可摄取 1 MB 的数据(包括分区密钥),或每秒写入 1,000 条记录。同样,如果将数据流扩展到 5,000 个分区,则数据流每秒最多可摄取 5 GB 或 500 万条记录。如果需要更多的摄取容量,可以使用 AWS 管理控制台或 UpdateShardCount API 轻松扩展流中的分片数量。

在进行 base64 编码之前,记录数据有效载荷的最大大小为 1 MB。

每次调用 GetRecords 最多可从单个分片获取 10 MB 的数据,每次调用最多可获取 10,000 条记录。每次调用 GetRecords 都算作一次读取事务。

每个分片每秒最多可支持五个读取事务。每个读取事务最多可提供 10,000 条记录,每个事务的配额上限为 10 MB。

通过 GetRecords,每个分区每秒最多可支持 2 MB 的总数据读取速率。如果对 GetRecords 的调用返回 10 MB,那么在接下来的 5 秒钟内进行的后续调用会出现异常。

profile picture
专家
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则