kafka集群由多个消息代理服务器(broker server)组成,发布到kafka集群的每条消息都有一个类别(topic)。不同的应用生产不同类型的数据,可以设置不同的topic,一个topic可能会有多个订阅者。订阅这个topic的消费者可以接受生产者写入的新消息。
kafka集群为每个topic维护了分布式分区(patition)日志文件,每个分区都是有序的、不可变的记录序列,新的消息会不断追加到提交日志。分区中的每条消息都会按时间顺序分配到一。个单调递增的顺序编号,叫做偏移量,这个偏移量能够唯一地定位当前分区中的每一条消息。