本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
限额和限制
下表显示了 Amazon Kinesis Data Streams 的流和分片限额及限制。
限额 | 按需模式 | 预置模式 |
---|---|---|
数据流数 |
Amazon 账户中流数量没有限额上限。默认情况下,您可以使用按需容量模式创建最多 50 个数据流。如需增加此限额,请提起支持工单 |
账户中采用预置模式的流数量没有限额上限。 |
分片数量 |
并无上限。分片数量取决于摄取的数据量和所需的吞吐量级别。Kinesis Data Streams 会根据数据量和流量的变化自动扩展分片数量。 |
并无上限。以下 Amazon 区域每个 Amazon 账户的默认分片限额为 500 个分片:美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)和欧洲地区(爱尔兰)。其余区域每个 Amazon 账户的默认分片限额为 200 个分片。要申请增加每个数据流的分片数限额,请参阅 Requesting a Quota Increase。 |
数据流吞吐量 |
默认情况下,使用按需容量模式创建的新数据流的写入吞吐量为 4MB/秒,读取吞吐量为 8MB/秒。随着流量的增加,采用按需容量模式的数据流可扩展至 200MB/秒的写入吞吐量和 400MB/秒的读取吞吐量。如需将写入容量和读取容量分别提高到 2GB/秒和 4GB/秒,请提交支持工单 |
并无上限。最大吞吐量取决于为流预置的分片数量。每个分片可支持高达 1MB/秒或 1000 条记录/秒的写入吞吐量,或高达 2MB/秒或 2000 条记录/秒的读取吞吐量。如果需要更多提取容量,可以使用 Amazon Web Services Management Console或 UpdateShardCount API 轻松地扩展流中的分片数量。 |
数据有效负载大小 |
使用 |
|
|
GetRecords 可以从单个分片中检索多达每个调用 10 MB 数据,每个调用多达 10000 个记录。对 |
|
每个分片的数据读取速率 |
每个分片可以通过 GetRecords 支持每秒 2 MB 的最大总数据读取速率。如果对 |
|
每个数据流的注册消费端数量 |
您可以为每个数据流创建最多 20 个注册消费端(增强型扇出功能限制)。 |
|
在预置模式和按需模式之间切换 |
对于您 Amazon 账户中的每个数据流,24 小时内您可以在按需和预置容量模式之间切换两次。 |
API 限制
与大多数 Amazon API 一样,Kinesis Data Streams API 操作存在速率限制。下面是每个 Amazon 账户在每个区域的限制。有关 Kinesis Data Streams API 的更多信息,请参阅 Amazon Kinesis API Reference。
KDS 控制层面 API 限制
下一节介绍 KDS 控制层面 API 限制。利用 KDS 控制平面 API,您可以创建和管理数据流。这些是每个 Amazon 账户在每个区域的限制。
API | API 调用限制 | 每个账户/流 | 描述 |
---|---|---|---|
AddTagsToStream | 每秒 5 个事务 (TPS) | 每个账户 | 每个数据流 50 个标签 |
CreateStream | 5 TPS | 每个账户 | 在账户中可以拥有的流数量没有配额上限。当您尝试执行以下操作之一时,如果发出
|
DecreaseStreamRetentionPeriod | 5 TPS | 每个流 | 数据流的保留期的最小值为 24 小时。 |
DeleteResourcePolicy | 5 TPS | 每个账户 | 如需增加此限额,请提交支持工单 |
DeleteStream | 5 TPS | 每个账户 | |
DeregisterStreamConsumer | 5 TPS | 每个流 | |
DescribeLimits | 1 TPS | 每个账户 | |
DescribeStream | 10 TPS | 每个账户 | |
DescribeStreamConsumer | 20 TPS | 每个流 | |
DescribeStreamSummary | 20 TPS | 每个账户 | |
DisableEnhancedMonitoring | 5 TPS | 每个流 | |
EnableEnhancedMonitoring | 5 TPS | 每个流 | |
GetResourcePolicy | 5 TPS | 每个账户 | 如需增加此限额,请提交支持工单 |
IncreaseStreamRetentionPeriod | 5 TPS | 每个流 | 流保留期的最大值为 8760 小时(365 天)。 |
ListShards | 1000 TPS | 每个流 | |
ListStreamConsumers | 5 TPS | 每个流 | |
ListStreams | 5 TPS | 每个账户 | |
ListTagsForStream | 5 TPS | 每个流 | |
MergeShards | 5 TPS | 每个流 | 仅适用于预置模式。 |
PutResourcePolicy | 5 TPS | 每个账户 | 如需增加此限额,请提交支持工单 |
RegisterStreamConsumer | 5 TPS | 每个流 | 您最多可以为每个数据流注册 20 个消费端。每次只能在一个数据流中注册给定的消费端。只能同时创建 5 个消费端。换言之,同时处于 CREATING 状态的消费端不能超过 5 个。当有 5 个消费端处于 CREATING 状态时,应注册第 6 个消费端。 |
RemoveTagsFromStream | 5 TPS | 每个流 | |
SplitShard | 5 TPS | 每个流 | 仅适用于预置模式 |
StartStreamEncryption | 每个流 | 在连续的 24 小时期间内,您可以为服务器端加密成功应用 25 次新的 Amazon KMS 密钥。 | |
StopStreamEncryption | 每个流 | 在连续 24 小时期间,您可以成功禁用服务器端加密 25 次。 | |
UpdateShardCount | 每个流 | 仅适用于预置模式。分片数量的默认限制为 10000 个。此 API 还存在其他限制。有关更多信息,请参阅 UpdateShardCount。 | |
UpdateStreamMode | 每个流 |
对于您 Amazon 账户中的每个数据流,24 小时内您可以在按需和预置容量模式之间切换两次。 |
数据层面 API 限制
下一部分介绍 KDS 数据平面 API 的限制。利用 KDS 数据平面 API,您可以使用数据流实时收集和处理数据记录。下面是您的数据流中的每分片限制。
API | API 调用限制 | 负载限制 | 其他详细信息 |
---|---|---|---|
GetRecords | 5 TPS | 每次调用可返回的最大记录数为 10000 个。GetRecords 可返回的数据的最大大小为 10MB。 |
如果某个调用返回此数据量,则在接下来的 5 秒内执行后续调用时,会引发 ProvisionedThroughputExceededException 。如果流上的预置吞吐量不足,则在接下来的 1 秒内进行后续调用时,会引发 ProvisionedThroughputExceededException 。 |
GetShardIterator | 5 TPS | 分片迭代器在其返回给请求者的 5 分钟后过期。如果 GetShardIterator 请求过于频繁,您会收到 ProvisionedThroughputExceededException。 | |
PutRecord | 1000 TPS | 每个分片最多可以支持每秒写入 1000 条记录,最大数据写入总数为每秒 1 MB。 | |
PutRecords | 每个 PutRecords 请求最多可以支持 500 条记录。请求中的每一个记录最大可以为 1 MB,整个请求的上限为 5 MB,包括分区键。每个分片最多可以支持每秒写入 1000 条记录,最大数据写入总数为每秒 1 MB。 | ||
SubscribeToShard | 对于每个分片,每个注册消费端在每秒可以发出一次 SubscribeToShard 调用。 | 如果您在成功调用后的 5 秒内使用相同的 ConsumerARN 和 ShardId 再次调用 SubscribeToShard,您将收到 ResourceInUseException。 |
提升配额
如果配额是可调整的,则可以使用服务配额来请求增加配额。有些请求会被自动解析,其余请求则会被提交给 Amazon Support。您可以跟踪提交给 Amazon Support 的限额增加请求的状态。提高服务配额的请求没有得到优先支持。如果您有紧急请求,请联系 Amazon Support。有关更多信息,请参阅什么是服务配额?。
要请求增加服务配额,请按照请求增加配额中概述的步骤操作。