1.定义
kafka是高吞吐量的分布式、支持分区(partition)、多副本(replication)、基于zookeeper协调的信息系统。
2.专业术语
1)Message:消息数据kafka的数据实体,组件Message Queue消息队列MQ
2)Broker:kafka包含一个或多个服务器
3)Topic:Kafka集群的消息都有一个类别,这个类别被称为Topic,相当于给一类消息管道起个名字
4)partition:每个topic包含一个或多个partition,每个partition均会有三个默认的副本可自定义副本
5)Segment:partition物理上由多个segment组成,每个Segment存着message信息,定位Segment后,再根据Segment对应的index索引信息和message log日志文件快速定位和读取具体message消息。
6)producer:负责发布消息到Kafka broker
7)Consumer:消息消费者,向Kafka broker读取消息的客户端。
8)Consumer Group:每个Consumer属于一个特定的Consumer Group
9)Offset:即为偏移量,也称位移。分区中的消息都有一个递增的id,我们称之为Offset。它唯一标识了分区中的消息
10)三种语义定义:
最多1次:消息可能丢失,但不会重复投递
最少1次: 消息不会丢失,但可能会重复投递
严格1次: 消息不丢失、不重复,有且只会被分发一次
3.kafka架构设计