使用 Kafka 存储海量原始数据
现代的消息队列,本质上就是分布式的流数据存储系统。Kafka 提供“无限”的消息堆积能力,具有超高的吞吐量,可以满足我们保存原始数据的大部分要求。
受制于单节点的存储容量,Kafka 实际能存储的数据容量并不是无限的。
其他解决方案
- 使用 HDFS 来存储。使用 HDFS 存储数据也很简单,就是把原始数据写成一个一个文本文件,保存到 HDFS 中。我们需要按照时间和业务属性来组织目录结构和文件名,以便于下游计算程序来读取。
优点:无限存储,存储不够可以水平扩容解决。能够提供比Kafka更强的查询能力 缺点:吞吐量比Kafka低,每秒钟百兆左右。
-
分布式流数据存储:Pravega、Apache BookKeeper。走类似Kafka路线,提供无限扩容能力。
-
时序数据库:InfluxDB和OpenTSDB。专注存储类似监控数据。
此文章为3月Day21学习笔记,内容来源于极客时间《后端存储实战课》