跳至主要内容

Amazon Kinesis Data Streams

Amazon Kinesis Data Streams 功能

概述

Amazon Kinesis Data Streams 是一种完全托管的服务,用于实时处理大规模的流式传输数据。您可以配置成千上万个数据生成器,以便持续将数据添加到 Kinesis 流中。例如,数据可来自网站点击流、应用程序日志和社交媒体源。不到一秒钟,您的 Kinesis 应用程序便可以从流中读取和处理数据。

Amazon Kinesis Data Streams 概念

全部打开

分片是 Kinesis 流的基本吞吐量单位。一个分片的吞吐量为每秒输入 1MB 数据和每秒输出 2MB 数据,并且每秒最多可支持 1000 个 PUT 记录。您需要在创建流时指定所需的分片数量。例如,您可以创建具有两个分片的流。此流的吞吐量为每秒输入 2MB 数据和每秒输出 4MB 数据,并且每秒最多支持 2000 个 PUT 记录。通过重新分片,您可以根据数据吞吐量的变化,在流中动态添加分片或从中移除分片。

记录是存储在 Kinesis 流中的数据单元。记录由序列号、分区键和数据 Blob 组成。数据 Blob 是数据创建器向流中添加的相关数据。大小上限(Base64 编码后的数据负载)为 1 MB。

分区键用于分离出数据记录,并将其路由到流的不同分片。分区键由您的数据创建器在将数据添加到 Kinesis 流时指定。例如,假定您的 Kinesis 流具有两个分片(分片 1 和分片 2)。您可以将数据创建器配置为使用两个分区键(键 A 和键 B),将所有带键 A 的数据记录添加到分片 1 中,并将所有带键 B 的数据记录添加到分片 2 中。

序列号是各个数据记录的唯一标识符。当数据生成器调用 PutRecordPutRecords API 向 Kinesis 流添加数据时,Amazon Kinesis Data Streams 会分配序列号。同一分区键对应的序列号通常会随着时间的推移而逐渐增加;PutRecordPutRecords 请求之间的间隔时间越长,序列号就会越大。

使用 Amazon Kinesis Data Streams

全部打开

注册亚马逊云科技后,您便可通过以下方式开始使用 Amazon Kinesis Data Streams:

向 Amazon Kinesis Data Streams 添加数据

全部打开

数据生成器可以通过 PutRecordPutRecords API 或 Kinesis Producer Library(KPL)向 Kinesis 流添加数据。PutRecord API 可在一次 API 调用中添加一个数据记录,而 PutRecords API 则可在一次 API 调用中添加多个数据记录。

Kinesis Producer Library(KPL)是一种易于使用且高度可配置的库,可以帮助您向 Kinesis 流中添加数据。Kinesis Producer Library(KPL)具有简单可靠的异步接口,这样您就可以快速实现非常高的创建器吞吐量,同时最大限度地减少的客户端资源使用。

构建 Amazon Kinesis 应用程序

全部打开

Kinesis Client Library(KCL)是一个预建库,可帮助您轻松生成 Kinesis 应用程序,用于读取和处理 Kinesis 流中的数据。Kinesis Client Library(KCL)可以处理各种复杂问题,如适应流量的变化、均衡流数据负载、协调分布式服务和以容错方式处理数据,从而使您能够在专注业务逻辑的同时构建 Kinesis 应用程序。

Kinesis Connector Library 是一种预建库,可帮助您轻松地将 Amazon Kinesis Data Streams 与其他亚马逊云科技服务和第三方工具集成。使用 Kinesis Connector Library 时,也需要使用 Kinesis Client Library(KCL)。此库最新版本中的连接器可方便您与 Amazon DynamoDBAmazon S3Elasticsearch 集成。此库还包括各种类型的示例连接器,外加可运行示例的 Apache Ant 生成文件。

Kinesis Storm Spout 是一种预建库,可帮助您轻松地将 Amazon Kinesis Data Streams 与 Apache Storm 集成。当前最新版本的 Kinesis Storm Spout 可从 Kinesis 流中提取数据,然后将其作为元组发送出去。您需要将此 Spout 添加到 Storm 拓扑中,以便将 Amazon Kinesis Data Streams 用作可靠且可缩放的流捕获、存储和重放服务。

管理功能

全部打开

Amazon Kinesis Data Streams 与 Amazon CloudWatch 集成,以便您可以针对 Kinesis 流收集、查看和分析 CloudWatch 指标。有关 Amazon Kinesis Data Streams 指标的更多信息,请参阅使用 Amazon CloudWatch 监控 Amazon Kinesis

Amazon Kinesis Data Streams 集成了 Amazon Identity and Access Management(IAM),这项服务让您能够安全地控制用户对亚马逊云科技服务和资源的访问权限。例如,您可以创建一个策略,只允许特定用户或组向 Kinesis 流添加数据。有关 Kinesis 流的访问权限管理和控制的更多信息,请参阅使用 IAM 控制对 Amazon Kinesis 资源的访问权限

Amazon Kinesis Data Streams 集成了 Amazon CloudTrail,这项服务记录您账户的 Amazon API 调用并向您提供日志文件。有关 API 调用日志记录和支持的 Amazon Kinesis Data Streams API 列表的更多信息,请参阅使用 Amazon CloudTrail 记录 Kinesis Streams API 调用

借助 Amazon Kinesis Data Streams,您可以标记 Kinesis 数据流和增强型扇出使用者,从而简化资源和成本的管理。标记是用户定义的标签,以键值对的形式表示,有助于组织亚马逊云科技资源。例如,您可以按成本中心标记流或使用者,以便根据成本中心对 Amazon Kinesis Data Streams 成本进行分类和跟踪。有关 Kinesis Data Streams 标记的更多信息,请参阅在 Amazon Kinesis Data Streams 中标记您的资源

预期用途和限制

使用本服务需遵循亚马逊云科技客户协议