kafka概念介绍
2018-11-05 本文已影响0人
刘子栋
1、broker
其实就是kafka的进程,代表kafka的一个节点
2、topic
其实就是对消息的分门别类进行存储,写的时候需要指定
3、生产者(producer)
使用kafka的生产者api进行消息的写操作到kafka集群中指定的topic中
4、消费者(consumer)
使用kafka的消费者api进行消息的读操作,需指定topic
5、分区(partition)
类似于传统关系型数据库的分库分表行为,主要是为了提高kafka的并行效率
6、副本(replication)
kafka的数据可靠性的保证,即使一个节点损坏,其他节点的副本同样支持访问,类似于hdfs 的多副本
7、kafka消息存储
在kafka指定数据存储目录里会根据分区数生产topic-分区id的文件夹,分区文件夹下主要关注.index文件和.log文件,index是记录了数据偏移量的稀疏表,log文件记录消息的具体内容
8、偏移量(offset)
类似于文件读取的位置信息,偏移量同样标识了消费者读取消息的位置信息,注意,每个消费者(消费组)的偏移量信息都是独立的。
9、消费语义
at most once: 最多消费一次 消费可能丢失 但是不会重复消费
at least once: 至少消费一次 消费不可能丢失 但是会重复消费
exactly once: 正好一次 消息不会丢失 也不会重复(这才是我们想要的)
0.10.0.1 不支持不能实现 0.11官方已支持(但是实现程度需确认)