Kafka学习

kafka体系结构

 一、kafka基本概念

1、主题

kafka将一组消息抽象归纳为一个主题(topic),一个主题就是对消息的一个分类。生产者将消息发送到特定主题,消费者订阅主题或主题的某些分区进行消费。

2、消息

消息是kafka通信的基本单位,由一个固定长度的消息头和一个可变长度的消息体构成。

3、分区和副本

kafka将一组消息归纳为一个主题,而每个主题又被分成一个或多个分区(partition)。每个分区在物理上对应为一个文件夹。每个分区又有一至多个副本(replica),分区的副本分布在集群的不同代理上,以提高可用性。

4、副本

分为Leader副本和Follower副本。Leader副本负责与客户端进行交互;如果Leader失效,则通过选举,选出新的Leader副本

5、偏移量

发布到分区的消息会被直接追加到日志文件的尾部,而每条消息在日志文件中的位置都会对应一个按序递增的偏移量。是一个分区下严格有序的逻辑值。老版本偏移量保存在zookeeper中,新版本保存在主题中。

6、日志段

一个日志被划分为多个日志段(LogSegment),日志段是kafka日志对象分片的最小单位。与日志对象一样,日志段也是一个逻辑概念,一个日志段对应磁盘上一个具体日志文件和两个索引文件,.index表示消息偏移量索引文件和.timeindex消息时间戳索引文件。

7、代理

kafka集群就是由一个或多个kafka实例构成,我们将每一个kafka实例称为代理(Broker),通常也称代理为kafka服务器(kafkaServer).

8、生产者

负责将消息发送给代理,也就是向kafka代理发送消息的客户端。

9、消费者和消费组

消费者(Comsumer)以拉取方式拉取数据,它是消费的客户端。每个消费者被分配一个消费组。

10、ISR

kafka在zookeeper中动态维护了一个ISR(In-sync Replica),即保存同步的副本列表,该列表中保存的是与Leader副本保持消息同步的所有副本对应的代理节点id。

11、ZooKeeper

kafka利用zookeeper保存相应元数据信息,kafka元数据信息包括如代理节点信息、kafka集群信息、旧版消费者信息及其消费偏移量信息、主题信息、分区状态信息、分区副本分配方案信息、动态配置信息等。

kafka的集群结构 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值