角色介绍:
- Producer:消息生产者,负责发送消息到kafka集群
- **Broker ** : kafka服务端,负责接收客户端(producer/consumer )请求、存储消息、协调消费组等。Broker没有主从之分,只不过通过Zookeeper选择出一个控制节点,控制节点负责管理整个集群中所有分区和副本的状态,例如分区故障后重新选择leader分区等。
- **Consumer **:负责从Broker上拉取消息进行业务处理。
- **Zookeeper **:负责协调整个Broker集群,负责选取控制Broker、存储集群 元数据 、topic路由信息存储等。
- Log:磁盘上的日志目录,消息就是存储在log中。
- **Topic **:kafka中的消息以topic为单位进行划分,生产者将消息发送到特定topic,而消费者负责订阅topic的消息并进行消费。
- **Offset **:offset是消息在分区中的唯一标识,kafka通过它来保证消息在分区的顺序性,不过offset并不跨越分区,也就是kafka保证的是分区有序性而不是主题有序性。
- **Record