一、基础
Kafka是一个流处理平台,是一个消息对列,但不仅仅是一个消息队列。
1.producer :消息和数据的生产者,向kafka的一个topic发布消息。
2.conusmer
(1)conusmer:消息和数据的消费者,订阅数据(topic)并且处理其发布的消息。
(2)consumer group :对于同一个topic,会广播给不同的group,一个group中,只有一个consumer可以消费该信息。
//以组的方式进行调度consumer,消费topic(读取topic的一个或多个partition)。使用consumer group可以容错,提高性能。
3.broker
(1)broker:kafak集群中每个kafka的节点。
(2)broker group:按照broker进行分组,同一个partition不会被多个broker同时保存。当一个partiiton非常大的时候,可以通过多个broker同时保存,但不会被保存多份。
4.topic
(1)topic:kafak消息类别,对数据进行区分、隔离。
(2)partition:数据存储的基本单元。一个topic数据会被分散到多个partition,每一个partition都是有序的。
消费者数目<= partition的数目
5.replication(备胎)
(1)基本单位是partition
(2)所有读和写都从leader进,follower只做备份,且follower必须能够及时复制keader的数据;
(3)增加了容错与可扩展性
当集群中有broker挂掉,系统可以主动使用replication提供服务,系统默认设置每一个topic的replication系数为1,可以在创建topic时单独配置。