最近学习 kafka 相关的kip, 发现了一个 kafka controller redesign 的设计的文章, 这里叙述一下:

里面主要就 kafka controller 当前遇到的问题 进行了总结并提出了 部分解决方案:

  1. zk异步写入
  2. 控制请求和 数据请求使用优先级队列分离
  3. 使用 generation 区分 controller -> broker 的请求信息
  4. 清晰的代码组织: 逻辑简化收敛
  5. 使用单线程的事件处理 简化 controller 的并发实现 (1.1.0)