什么是offset?
- 用于记录系统挂机后,重新消费的位置
- 保证消费的可靠性
提交方式
通过配置:
- 消费者手动提交
- 自动提交
存储位置
- 早期ZK
- 目前kafka-__consumer_offsets
为啥不用zk呢?
这个写的不错
[https://www.cnblogs.com/lianxuan1768/p/8127553.html]
zk的读写性能比起redis来讲差太多
毕竟zk不是用在频繁读写的场景
https://www.jianshu.com/p/f30ae8e75d6d
能不用zookeeper,就不用zookeeper,如果一定要用,尽量不要强依赖zookeeper;如果你要用到分布式锁,zookeeper是个不错的选择,如果不需要分布式锁,你应该优先考虑不用zookeeper;采用监听方式,而不是主动查询方式,相信zookeeper的监听推送吧,只要你实现的代码没问题,它还是很稳定的;不要对zookeeper频繁写入,它只应该存储控制信息和配置信息,也就是说,它更多应该用来做读操作。不要把zookeeper作为数据存储器。不要与那些大应用共用一个zookeeper集群,你可能会被它拖挂的。