6.1 Kafka集群之基本概念

1.基本概念
broker:一般指kafka的部署节点。
leader:用于处理消息的接收和消费等请求。
follower:主要用于备份消息数据。

2.拓扑图
在这里插入图片描述

  • kafka集群的原数据通过zookeeper获取
  • 在brokers的一排中,同一个topic的同一个partition只能有一个leader,同一个leader会有多个follower
  • 红线表示管理流,从zookeeper中注册或者获取消息,绿线表示数据的同步
  • producer和consumer都是与leader进行数据交互的

3.Kafka节点故障
(1).出现故障的场景

  • broker与zookeeper心跳未保持则视为节点故障,默认30秒进行一次心跳检测
  • follower消息落后leader太多也视为节点故障

kafka会对故障进行移除操作

(2).kafka基本不会因为节点故障而丢失数据

  • kafka的语义担保很大程度上避免了数据丢失
  • kafka会对消息进行集群内的平衡,减少消息在某些节点热度过高(一个topic的多个partition不会分配在一个broker上,副本也不会分配在同一个broker上,这样当消息传入时就会有多台机器在进行备份,减少了单台机器的数据存储量和备份操作)