Kafka架构

Kafka架构

kafka 概念

Kafka架构
Kafka架构

  1. Topic
  • 逻辑概念,同一个Topic的消息分布在一个或者是多个(Broker)节点上
  • 一个Topic包含一个或者多个Partition
  • 每条消息都属于而且仅属于一个Topic
  • Producer发布数据,必须指定将该消息发布到哪一个Topic
  • Consumer订阅消息时,也必须指定订阅那个Topic的消息
  1. Partition
  • 物理概念,一个Partition只分布于一个Borker(不考虑备份)
  • 一个Partition物理上对应一个文件夹
  • 一个Partition包含多个Segment(Segment对用户透明)
  • 一个Segment由一个个不可变的记录组成
  • 记录只会被append到Segment,不会被单独删除或者时修改
  • 清除过期日志,直接删除一个或者是多个Segment
  1. Sync Producer(同步发送,如果发送三次发送不成功能就会失败,再次发送,catch 异常,再发送)
  • 低延迟
  • 低吞吐率
  • 无数据丢失(可以获取到发送成功失败状态)
  1. Aync Producer(将要发送的消息放置到queue,然后才会批量发送给Broker)
  • 高延迟
  • 高吞吐率
  • 可能有数据丢失