kafka集群复制

  • kafka集群复制
  • kafka数据结构
  • kafka请求处理流程
  • kafka消息格式

{———-}

kafka集群复制

kafka数据结构

  • kafka是以主题来组织数据
  • 每个主题下有多个分区、每个分区下有多个副本【数据元】、
  • 【玩过 mongodb 和 elasticsearch 的一看就懂、一个东西】
  • 每个broker可以存储不同主题和不同分区的副本
  • 副本分为两种
    • 首领副本【数据存储、对接客户端请求、消费】
    • 跟随者副本【数据备份、不处理来自客户端的任何请求、待首领挂掉、迅速顶上】
    • 另、首领还会处理副本的备份请求、以判断哪个副本是最新的、最新的版本才可以当“储君”

图纸解说

kafka储存结构

  • 照了一张差不多的图、不是kafka的、是es的 不过解释起来足够了
  • 主节点 node3、为broker协调者
  • 所有数据都是一个主题topic通过tag来区分数据【一般一个应用要给同topic、这里就当1个多个tag、】
  • 每个tag下有很多数据、每个数据有多个副本、【这里配置就2个、一个首领副本、一个跟随着副本】

kafka请求处理流程

图纸解说

kafka请求流程

  • 请求通过processor线程发向请求队列、处理IO逻辑、将响应发向响应队列

kafka消息格式

  • Request type 【API key】
  • Request version 【version版本号】
  • Correlation ID【消息唯一id】
  • Client ID【客户端唯一id】