Kafka基本理论

基本特点

  • 异步解耦、削峰填谷
  • Topic
  • 分区/分区备份,集群互为某分区备份
  • broker控制,分区leader/follower
  • 单分区保证消息时间顺序
  • offset,分区内消息编号,便于不同消费者记录读写位置
  • consumerGroup 同一逻辑消费者,设置小于分区数,均分分区消费消息

高并发的几个原因

  • 分区: 分治思想,支持并发读写
  • 顺序写: 只调用了FileChannel.write(ByteBuffer),而没有调用过带offset参数的write方法,说明它不会执行随机写操作,效率高
  • zeroCopy: 利用现代操作系统pageCache使得消息直接写入内存,由内核刷新至磁盘,发送消息时直接从pageCache至socket buffer发送给消费者,因此实现了不经用户空间发送消息,避免了用户空间和内核空间之间的拷贝消耗
原文地址:https://www.cnblogs.com/wod-Y/p/13449988.html