首页 > Windows开发 > 详细

kafka的两种Consumer API

时间:2022-05-27 22:57:19      阅读:8      评论:0      收藏:0      [点我收藏+]

kafka的两种Consumer API

High Level Consumer API和Low Level Consumer API

High Level Consumer API

这个API的重点在于屏蔽,围绕Consumer Group这个概念展开,屏蔽了每个Topic的每个Partition的Offset管理(自动读取zookeeper中该Consumer group的last offset )、Broker失败转移以及增减Partition、Consumer时的负载均衡(当Partition和Consumer增减时,Kafka自动进行负载均衡)

  • 特点
    1.高级 API 写起来简单
    2.不需要去自行去 管理offset,系统通过 zookeeper 自行管理
    3.不需要管理分区,副本等情况,系统自动管理
    4.消费者断线会自动根据上一次记录在 zookeeper 中的 offset去接着获取数据(默认设置1分钟更新一下 zookeeper 中存的的 offset)
    5.可以使用 group 来区分对同一个 topic 的不同程序访问分离开来(不同的 group 记录不同的 offset,这样不同程序读取同一个 topic 才不会因为 offset 互相影响)
  • 缺点
    1.不能自行控制 offset(对于某些特殊需求来说)
    2.不能细化控制如分区、副本、zk 等

Low Level Consumer API

  • 特点
    1.能够开发者自己控制 offset,想从哪里读取就从哪里读取。
    2.自行控制连接分区,对分区自定义进行负载均衡
    3.对 zookeeper 的依赖性降低(如:offset 不一定非要靠 zk 存储,自行存储 offset 即可,比如存在文件或者内存中)
  • 缺点
    1.太过复杂,需要自行控制 offset,连接哪个分区,找到分区 leader 等

kafka的两种Consumer API

原文:https://www.cnblogs.com/keke-coding/p/15352801.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!