Kafka基本概念和结构

基本概念

  • Producer:消息和数据的生产者,向Kafka的一个topic发布消息的进程、代码、服务
  • Consumer:消息和数据的消费者,订阅数据(topic)并且处理其发布的消息的进程、服务、代码
  • Consumer Group:逻辑概念,对于同一个topic,会广播给不同的group,一个group中,只有一个consumer可以消费该消息
  • Broker:Kafka集群中的每一个节点
  • Topic:逻辑概念,Kafka消息的类别,对数据进行区分隔离。
  • Partition:物理概念,Kafka下数据存储的基本单元。一个topic的数据,会被分散存储到多个Partition,每一个Partition是有序的
  • Replication:同一个Partition可能会有多个Replica,多个Replica之间数据是一样的。
  • Replication Leader:一个Partition的多个Replica,需要一个Leader负责该Partition上与Producer和Consumer交互
  • ReplicaManager:负责管理当前broker所有分区和副本的信息,处理KafkaController发起的一些请求,副本状态的切换、添加、读取消息等。

Partition

  • 每一个topic切分为多个Partition
  • 消费者数目少于或等于Partition数目
  • Broker Group中的每一个Broker保存Topic的一个或多个partition.
  • Consumer Group 中仅有一个Consumer读取Topic的一个或者多个Partitions

Replication

  • 当集群中有Broker挂掉的情况,系统可以主动的使用Replicas提供服务
  • 系统 默认设置每一个Topic的replication系数为1(没有副本),可以再创建Topic时单独设置
  • 基本单位是Topic的Partition
  • 所有的读写都从Leader进入,Followers只是作为备份
  • Follower必须能够及时复制Leader的数据
  • 增加容错性和可扩展性

基本结构

Kafka基本概念和结构_第1张图片

简单明了的基本机构也说明了kafka的使用场景:

  1. Producer Api
  2. Consumer Api
  3. Stream Api
  4. Connectors Api

你可能感兴趣的:(kafka)