kafka特点:高性能,持久化,多副本,横向扩展能力
一.名词理解
producer和consumer:生产者,消费者就不多说了
1.kafka cluster:kafka集群簇
2.Broker:消息中间件处理节点,一个kafka节点就是一个broker,每个服务器上有一个或多个kafka的节点,多个broker组成一个kafka集群(不同的broker之间,可以联系)
3.Topic:消息主题,kafka根据topic对消息进行分类,发布到kafka集群的每条消息都要指定一个Topic
4.Partition:Topic的分区,每个topic可以有多个partition分区,分区的作用是做负载,提高kafka的吞吐量。同一个topic在不同的分区的数据是不重复的,partition的表现形式就是一个一个的文件夹
5.Leader:主分区,如上图,生产者优先把消息存储到相应topic的主分区下
6.Follower:副本分区
7.Zookeeper:分布式协调系统
二.为什么kafka做分区
1、方便扩展。因为一个topic可以有多个partition,所以我们可以通过扩展机器去轻松的应对日益增长的数据量。
2、提高并发。以partition为读写单位,可以多个消费者同时消费数据,提高了消息的处理效率。