画布 1
kafka
  消息
    message：类似数据库里面的一行数据
    batch：一组消息的集合，根据producer设置，多个message 缓存到一起后统一发布到队列中
      优点: 减少网络延迟、提高性能，缺点：消息延迟更高
    schema：定义消息传出的格式，以及消费者获取数据格式
  broker
    一个单独的kafka server 服务
    broker 支持集群方式
      有一个主节点称为控制器，管理其它broker，包括分区的分配、节点状态监控
    partition 分区：一个主题下面有多个分区
      一个partition 就是一个log，按追加的方式写入
      一个partition 分配到一个broker，只有一个leader，其它是备份
      producer 与 consumer 必须连接到leader才可以工作
    配置
      broker.id: 数字，唯一id
      port：端口，默认9092
      zookeeper.connect： 集群管理zookeeper地址
      log.dirs: 存放数据的log地址
      auto.create.topics.enable： 是否默认创建topic
      num.partitions：配置新创建的topic多少个分区
  topic 主题: 类似数据库里的表，就是队列，是一个逻辑概念
    一个topic 由 多个broker中的多个partition分区构成
    支持按topic设置不同大小、时间的消息保存策略
  producer: 生产者
    一般使用消息的 key 使用哈希的方式确定
它进入哪一个分区。
  consumer: 消费者
    使用offset记录读取的位置数
    consumer group，由一个或多个消费者组成共同消费topic
      不同的组成员消费不同的topic的partition，一个partition消息只能进入到组成员中的一个
      负载消费topic，一个失败了其它的会接管消费这个topic