_疾风知劲草 2016-05-09 11:56 采纳率: 100%
浏览 1342
已采纳

有关kafka消费者的问题,描述如下

现在有个问题请教下:有谁了解kafka,现在的问题就是我要读某个group中的固定个数分区的东西,然后consume这些数据的时候我要启用多线程读取,怎么保证我的数据不会重复(个人认为是不是偏移量就可以看出是否重复),每个线程读到一堆数据后,然后解析成单个对象,再启动不同的线程入库,这种话多线程套多线程效率是不是会很低,多节点部署这个应用会平分这个执行效率,请问怎么解决这类问题

  • 写回答

1条回答

  • sxwws 2016-05-10 01:40
    关注

    你的这个结构首先要换一下。
    如果你要去读取group中不同分区中的数据。对于你的consumer端来说,应该是1对1进行读取,也就是说,一个java进程对应一个分区partition。

    你自己所想的,用一个java进程去监听多个分区,那你就应该让producer端将数据都放到一个partition中即可。这主要还是取决于你的消息数量和
    你的处理速度。这个你应该是很好评估的。

    至于你有没有处理重复的消息,这个你大可不必关心,这是消息中间件最基本的保证,kafka虽然事务性比较弱,如果你特别看重这点,你可以换
    其他的消息中间件,也是可以的。比如activemq等。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。