初学入门 | 秒懂 Amazon Kinesis


  基本概述

Amazon Kinesis 是一个实时数据流服务。它可以收集、处理和分析来自成千上万个数据源的数据,具备超高吞吐能力,每秒可处理数百万条数据事件,支持多源头、高并发的数据接入,延迟只有几秒甚至更短。Kinesis 家族有四个核心成员,分别是 Kinesis Data Streams(数据流,存储和传输)、Data Firehose(数据送水器,自动加载到目标存储)、Managed Apache Flink(以前称为 Data Analytics,数据分析)、Video Streams(视频流,处理摄像头画面)。一个经典模式是:Kinesis Data Streams 接收原始数据,再通过 Data Firehose 每隔 60 秒把数据打包成 Parquet 文件存入 S3。整个过程不需要服务器。

...

  工作原理

Kinesis Data Streams 是全家桶的核心。它依托数据流分片机制实现稳定流转,全程自动化运行。工作流程可以用四个角色来理解:生产者、分片、消费者、检查点。
生产者:任何能调用 AWS SDK 的应用都能往 Stream 里写数据。例如,你的 APP、IoT 设备、日志 Agent,都是生产者。
分片:它是 Stream 的基本单元,被切割成多个分片,每个分片就像一个并行车道。数据进来后,Kinesis 根据分区键(Partition Key)决定写入哪个分片。同一个分区键的数据永远进同一个分片,保证顺序。
消费者:比如 EC2 上的应用程序或 Lambda 函数等都是消费者,它们可以并行从分片里拉取数据并处理。
检查点:消费者读到哪了,Kinesis 会记住。万一消费者崩了重启,从上次的位置继续读,保证数据不会丢失。

  使用场景

Amazon Kinesis 覆盖多行业核心实时业务场景。
场景一:实时点击流分析。
电商网站每秒产生上万次点击,Kinesis 接住数据流,后端用 Lambda 实时计算 GMV,大屏每秒刷新,运营当场就能看到哪个商品卖爆了。
场景二:IoT 设备监控。
工厂里几千个传感器每秒上报温度、振动数据,Kinesis 做缓冲层,下游接 Kinesis Data Analytics 用 SQL 做实时异常检测,温度超限立即触发告警,不用等到第二天看报表。
场景三:日志聚合。
把 CloudWatch Logs、VPC Flow Logs 统一送入 Kinesis,再用 Firehose 落地到 S3,配合 Athena 做即席查询。