现在有个问题请教下:有谁了解kafka,现在的问题就是我要读某个group中的固定个数分区的东西,然后consume这些数据的时候我要启用多线程读取,怎么保证我的数据不会重复(个人认为是不是偏移量就可以看出是否重复),每个线程读到一堆数据后,然后解析成单个对象,再启动不同的线程入库,这种话多线程套多线程效率是不是会很低,多节点部署这个应用会平分这个执行效率,请问怎么解决这类问题
1条回答 默认 最新
- sxwws 2016-05-10 01:40关注
你的这个结构首先要换一下。
如果你要去读取group中不同分区中的数据。对于你的consumer端来说,应该是1对1进行读取,也就是说,一个java进程对应一个分区partition。你自己所想的,用一个java进程去监听多个分区,那你就应该让producer端将数据都放到一个partition中即可。这主要还是取决于你的消息数量和
你的处理速度。这个你应该是很好评估的。至于你有没有处理重复的消息,这个你大可不必关心,这是消息中间件最基本的保证,kafka虽然事务性比较弱,如果你特别看重这点,你可以换
其他的消息中间件,也是可以的。比如activemq等。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
- ¥15 帮我写一个c++工程
- ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
- ¥15 关于smbclient 库的使用