Amazon Kinesis
全托管数据流服务套件,可实时大规模采集、处理和分析流式数据
概述
Amazon Kinesis 是一套用于大规模处理实时流式数据的服务套件。核心服务 Kinesis Data Streams 可以低延迟每秒摄入数百万条记录,多个消费者可并行处理。Kinesis Data Firehose 可构建将摄入数据自动投递到 S3、Redshift、OpenSearch 等目标的 ETL 管道,无需编码即可运维。广泛应用于 IoT 设备遥测、Web 应用点击流、金融交易实时分析等批处理无法满足的场景。
Data Streams 与 Data Firehose 的选型标准
Kinesis Data Streams 是以分片为单位控制吞吐量的基础流式平台,据 AWS 开发者指南,每个分片的容量最高为写入 1 MB/秒、读取 2 MB/秒 (截至 2026 年 10 月)。消费者端可自由实现逻辑,适合使用 Lambda 或自定义应用进行实时处理。Amazon Data Firehose 则是自动化数据转换 (通过 Lambda 加工) 和向目标写入的托管服务,无需管理分片。AWS 于 2024 年 2 月宣布将 Amazon Kinesis Data Firehose 更名为 Amazon Data Firehose。作为选型参考,需要细致控制消费者端处理时选 Data Streams,仅需向目标写入时选 Firehose。
分片设计与数据保留策略
在预置模式下,需要估算并指定数据流的分片数量。按需模式会根据流量自动扩缩,开发者指南将预置模式描述为适合可预测流量的模式。数据保留期的上限为 365 天,比 Azure Event Hubs Standard 层的上限 (Microsoft 文档中为 7 天) 更长 (截至 2026 年 10 月)。启用 Enhanced Fan-Out 后,每个消费者在每个分片上获得专用的读取吞吐量,数据检索和消费者分片小时会另行计费。
实时仪表板构建示例
构建实时仪表板是 Kinesis 的应用模式之一。将 Web 应用的访问日志发送到 Kinesis Data Streams,通过 Lambda 实时聚合后写入 DynamoDB,再经 API Gateway 向前端分发,这是其中一种架构。在 IoT 设备遥测采集中,从数万台设备每秒发送的传感器数据由 Data Streams 接收,Firehose 存储到 S3 的同时,Lambda 实时检测异常值并通过 SNS 通知的双层架构也是一种做法。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。