4.3 Kafka 消费者 API

关于消费者 API 有两种:

  • 高级 API

  • 低级 API

1. 高级 API 的特点

高级 API 消费者的封装更加彻底, 所以使用起来比较简单.

高级 API 优点

高级 API 写起来简单.

不需要自行去管理 offset,系统通过 Zookeeper 自行管理。

不需要管理分区,副本等情况,系统自动管理。

消费者断线会自动根据上一次记录在 zookeeper 中的 offset 去接着获取数据(默认设置 1 分钟更新一下 Zookeeper 中存的 offset)

可以使用 group 来区分对同一个 topic 的不同程序访问分离开来(不同的 group 记录不同的 offset,这样不同程序读取同一个 topic 才不会因为 offset 互相影响)

高级 API 缺点

不能自行控制 offset(对于某些特殊需求来说)

不能细化控制如分区、副本、zk 等


2. 低级 API 的特点

低级 API 更加接近于 Kafka 的底层, 所以写起来自由度更高, 但是写起来比较麻烦.

低级 API 的优点

能够让开发者自己控制 offset,想从哪里读取就从哪里读取。

自行控制连接分区,对分区自定义进行负载均衡

对 zookeeper 的依赖性降低(如:offset 不一定非要靠 Zookeeper 存储,自行存储 offset 即可,比如存在文件或者内存中)

低级 API 的缺点

太过复杂,需要自行控制 offset,连接哪个分区,找到分区 leader 等。

Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2019-01-25 03:29:58

results matching ""

    No results matching ""