Kafka服务端原理学习

2020-08-12  本文已影响0人  后来丶_a24d

目录


网络层

服务端顺序性保证

API层

日志存储层

  1. 顺序写入,避免了随机写入带来的随机寻址性能过慢问题
  2. kafka 0拷贝之类的。
  3. 压缩消息是端到端解压,服务端存储仍然是压缩的消息,消费者端才进行解压
  4. 存储Log有很多Log文件包括log数据和log稀疏索引(磁盘空间,内存空间,查找时间的折中方法)文件,topic-partition对应一个文件夹。LogSegment多个log文件。有可能有多个Handle写入Log所以写入时会有同步。
  5. Log使用跳表对多个LogSegment进行管理,因为LogSegment文件命名是与Offset相关,所以好定位,跳表找到对应LogSegement之后,再根据稀疏索引找到对应消息。可把书中图4-22找来说明。read日志操作就是这么搞的,read通过volatile+不可变对象实现线程安全

副本机制


kafka学习

  1. Apache Kafka服务端设计理念
  2. 震惊了!原来这才是Kafka

参考文章

上一篇 下一篇

猜你喜欢

热点阅读