kafka集群的三种角色是?(kafka 伪集群 windows)
kafka集群的三种角色是?
在kafka的集群中,会存在着多个主题topic,在每一个topic中,又被划分为多个partition,为了防止数据不丢失,每一个partition又有多个副本。
(图片来源网络,侵删)在整个集群中,总共有三种副本角色:
1、leader副本:也就是leader主副本,每个分区都有一个leader副本,为了保证数据一致性,所有的生产者与消费者的请求都会经过该副本来处理。
2、follower副本:除了首领副本外的其他所有副本都是follower副本,follower副本不处理来自客户端的任何请求,只负责从leader副本同步数据,保证与首领保持一致。
(图片来源网络,侵删)如果leader副本发生崩溃,就会从这其中选举出一个leader。
3、优先副本:创建分区时指定的优先leader。如果不指定,则为分区的第一个副本。
follower需要从leader中同步数据,但是由于网络或者其他原因,导致数据阻塞,出现不一致的情况。
(图片来源网络,侵删)为了避免这种情况,follower会向leader发送请求信息,这些请求信息中包含了follower需要数据的偏移量offset,而且这些offset是有序的。
Kafka的特点有容错性吗?
有的。
kafka是LinkedIn在2014年开源的一个复杂事件处理系统,将数据组织成事件流进行处理。即stream processing.
kafka特点
1. 分布式系统,易于扩展,容错性好
2. 使用日志分区,便于实现消息并发消费
3. 实时处理数据,并且对消息持续存储
术语解释
Topic: kafka中的消息以topic为单位进行归纳
producer: 向kafka发送消息的为producer
consumer: 从kafka中消费消息为consumer
kafka能脱离zookeeper吗?
不能。
KafKa不可能越过Zookeeper直接联系Kafkabroker,一旦Zookeeper停止工作,它就不能服务客户端请求。Zookeeper主要用于在集群中不同节点之间进行通信,在Kafka中,它被用于提交偏移量,因此如果节点在任何情况下都失败了,它都可以从之前提交的偏移量中获取,除此之外,它还执行其他活动,如: leader检测、分布式同步、配置管理、识别新节点何时离开或连接、集群、节点实时状态等等。
到此,以上就是小编对于kafka集群工作原理的问题就介绍到这了,希望这3点解答对大家有用。