对sparkstreaming消费kafka消息进行逻辑判断,逻辑清晰明确,但是offset存在zookeeper当中,需要自己实现其他存储
https://my.oschina.net/u/1027043/blog/1581278
同样是存储到zookeeper当中,记录博文较多
https://www.cnblogs.com/junneyang/p/8267902.html
也是用zookeeper存储offsets
https://blog.csdn.net/mengxb12138/article/details/77036924
scala实现zookeeper上存储,中间加入判断offsets是否过期的问题,需要看
https://www.cnblogs.com/zhangtianyuan/p/8483082.html
保存到zookeeper上,逻辑一般,但是附带工具类
https://blog.csdn.net/Lin_wj1995/article/details/80080359
zookeeper,逻辑讲解清晰
https://www.cnblogs.com/hd-zg/p/6841249.html
逻辑比较全面包括了对存储信息的重复性校验,使用java与sacla两种实现,不错
https://www.2cto.com/net/201710/692443.html
checkpoint:
这个是将offsets存到了checkpoint与zookeeper两种方式
https://blog.csdn.net/u013673976/article/details/52603817
存入redis
逻辑一般,从redis当中读取offsets如果有就用那个没有就自己从头读取
https://blog.csdn.net/yumingzhu1/article/details/89639298
消息的同步异步提交
详细讲解了offset的各种同步异步提交方式以及其组合提交,防止提交失败出现重复读取问题
https://www.cnblogs.com/sodawoods-blogs/p/8969774.html
增加了时间戳的消费offsets的比较,重要!!!
https://blog.csdn.net/Simon_09010817/article/details/83750115
存入Mysql:
java实现kafka的读取,mysql记录offsets,逻辑清晰,重要!!!
https://blog.csdn.net/tlqfreedom/article/details/73289396
scala实现kafka的offsets存mysql,中间加入offsets的大小的比较,需要了解,补全逻辑漏洞,这个所谓的大小比较,其实是比较超时问题,判断存储的与earlist的大小,避免出现异常信息。
https://blog.csdn.net/Lu_Xiao_Yue/article/details/84110045
同样是mysql存储,略微参考
https://blog.csdn.net/m0_37723298/article/details/84751238
kafka的offset目前比较好的方法就是两种,一种是offset写到外部或者mysql/redis/zookeeper等还有一种是利用最新的0.10版本以后的用kafka的新API用其最新的API同步与异步结合提交,这样更加可靠。