是什么?

高吞吐的分布式消息中间件。

 

 

关键名词

broker:kafka的服务器实例

topic:一个消息的主题

partition分区

producer消息生产者

comsumer消息消费者

comsumer group:消费者组

offset:一条消息在流中的偏移量

 

 

分区与消费

1.分区在producer端进行

2.一个分区只会被一个消费者消费

 Kafka记录

 

负载均衡方式

Kafka记录

Kafka记录

 

主从分布策略

分区会先随即定位到一个broker,然后再顺序分布下去

 Kafka记录

 

持久化存储


消息格式

 Kafka记录

 

消息内容查找过程

1.找个topic对应分区

 Kafka记录

2.通过二分查找在分区中找到对应段

 Kafka记录

3.通过消息下标在段索引(稀疏索引)中找到相应位置

 Kafka记录

4.通过最近下标在段找到对应位置后,就可以按顺序查找到具体消息

 Kafka记录

 

过期数据清理策略


直接清理

指定时间

 Kafka记录

指定大小

Kafka记录

 

压缩

根据key删除历史数据,只保留key的最后一次数据

 

 

 

读写策略


顺序读写

 Kafka记录

页缓存+flush策略

 Kafka记录

ZeroCopy技术

常规传输:

Kafka记录

 

 

Zero传输:

Kafka记录

相关文章: