一、Kafka简介
Kafka是一种高吞吐量的基于zookeeper协调的以集群的方式运行的分布式发布订阅消息系统,支持分区(partition)、多副本(replica),具有非常好的负载均衡能力和处理性能、容错能力。Kafka采用发布/订阅模型,消息生产者将消息发送到Kafka的消息中心(broker)中,然后消费者从中心中读取消息。其逻辑架构请见下图所示:
Broker是 Kafka集群中的服务器节点,每个 Broker 都是一个独立的服务器, 接收来自生产者的消息,并将消息存储在消息队列中。同时,它还处理来自消费者的请求,并将消息发送回消费者。Broker仅仅对消息进行存储和对注册到系统的Consumer进行通知。Consumer则根据监听和配置主动从broker拉取消息。
ZooKeeper 被用来管理集群的配置、状态和元数据信息等,以保证分布式消息系统的正常运行。
二、Kafka中的消息日志文件
1.消息的分类
Kafka的数据单元称为消息,可以把消息看成是数据库里的一个“数据行”或一条“记录”。Kafka将消息按topic(主题)进行分类组织和管理,各个主题之间相互独立,