Loading

Kafka历史&客户端功能介绍

Producer新旧对比

新版本:

  1. 发送过程被分为两个线程,一条消息发送后经用户主线程进入内存缓冲区,Sender I/O线程将缓冲区中的数据分批发给Kafka broker
  2. 完全异步发送消息,通过FutureCallback来通知发送者
  3. 分批机制,提升整体吞吐量
  4. 轮询方式对无key消息分区,更加均匀
  5. 底层使用Selector

旧版本:

  1. 无分批发送,吞吐量差
  2. 消息发送完全同步,吞吐量差
  3. 无key消息在一段时间内发给固定分区,容易造成数据倾斜

Consumer新旧对比

新版本:

  1. 消息offset由Kafka内部topic处理,不受限于Zookeeper性能瓶颈
  2. 消费者组由集中式协调者管理,不再由Zookeeper管理
  3. 底层使用Selector,单线程设计,简化实现

旧版本:

  1. offset和消费者组由Zookeeper处理
  2. 提供low-level consumerhigh-level consumer,前者提供的功能更少,但给了你更多定制化的选择,后者功面向用户提供更高级的功能(比如消费者组),但你没法高度定制

磁盘规划

image

未完...

posted @ 2022-10-24 17:58  yudoge  阅读(46)  评论(0编辑  收藏  举报