Kinesis 是 AWS 的一项用于收集实时流数据的云服务,类似于 Kafka。Kinesis 收集到的数据可以用于多个方面,例如存到 S3,发到 EMR 作进一步数据分析等等。
Kinesis 的整体架构如下:
Kinesis 的基本术语
Kinesis Data Stream
Kinesis Data Stream 实时吸收大量数据、持久存储数据并使这些数据可供使用。其由多个分片组成,每个分片里面包含一系列数据记录,每个数据记录有一个由 Kinesis Data Stream 分配的序列号。
数据记录
数据记录是存储在 Kinesis data stream 中的数据单位。数据记录由序列号、分区键和数据 Blob 组成,数据 Blob 可以是 最多 1 MB,并且是不可变的。
保留周期
数据记录在添加到流中后保存的时长,默认保存 24 小时,可以设置为更久的值,最长保存 168 小时,但是设置超过 24 小时的保留周期是会额外收费哦。
分片
分片可以理解为 Kinesis 流的分区,一个 Kinesis Data Stream 由一个或多个分片组成。每个分片可以支持最大每秒 1000 条记录或 1MB 数据量的写入速度,每秒 5 次事务或者 2MB 数据量的读取速度,Kinesis 流总的数据容量是各个分片之和,所以如果数据速率