1-Kafka基本概念

Kafka是一个分布式的消息引擎系统和流式处理系统。
关于消息引擎系统,它主要提供一套完备的消息发布和订阅的解决方案。

基本概念
基本术语 描述
Broker 一个Kafka进程,一般每台机器上部署一个实例
Record 指Kafka中的消息记录
Topic 消息的发布和订阅是以Topic(主题)的形式进行的,可以为每一个业务或应用或一类数据创建专属的Topic
Producer 生产者,指生产并发布消息到Topic的客户端,可以向一个或多个Topic发布消息
Consumer 消息者,指订阅并消费指定Topic的客户端,可同时订阅几个Topic的消息
Partition 分区,一个Topic可以分成多个分区,类似MD,ES中的shard,Hbase中的Region。分区号从0开始,每个分区是一组有序的消息日志
Replication 备份机制,每个分区可以备份到多台机器上
Replica 副本,分区的数据备份。分为Leader Replica(领导者副本),对外提供服务,与客户端交互;Follower Replica(副本),被追随领导者,更新数据,不提供服务
Offset 分区中每条消息的位置信息,是一个单调递增且不变的值
Consumer Offset 消费者消费的进度,每个消费者有自己的消费位移
Consumer Group 消费者组,由多个消费者组成共同消费一个Topic中的数据,每个分区一般对应一个消费者,多个消费者同时消费多个分区实现高吞吐
Rebalance 重平衡,消费者组中某个消费实例挂了,其它活着的实例重新分配订阅主题分区的过程,kafka实现高可用的重要手段

kafka三层消息架构

第一层是主题层,每个主题可以配置 M 个分区,而每个分区又可以配置 N 个副本。
第二层是分区层,每分区的N个副本只能有一个充当领导者副本,提供对外服务;其它N-1个是追随者副本,只能是数据冗余之用。
第三层是消息层,每个分区包括若干条消息,每条消息的位移从0开始,依次递增。
客户端只能和分区中的领导者副本进行交互。

你可能感兴趣的:(1-Kafka基本概念)