如题,kafka消费端接收到数据后 要进行部分业务逻辑操作,可能会有3秒左右,处理很慢
的话,对程序有什么影响呢?新手提问, 望各位大神不吝赐教!
一条数据处理需要3s的话,那就比较麻烦了,感觉代码能优化的地方应该很多。
数据积压的问题,可以多线程消费,对应着把partition的数量也增加。
也可以设置下参数,kafka,storm,spark streaming都可以控制上游发送数据的速度,其实是条数,当内存中堆积了XX条数据未
消费的时候,会阻塞。
consumer从broker里面取出一批数据给消费线程进行消费,如果consumer在一定时间之内没有完成消费挂掉,自动提交offset失败,导致partition重新分配,重新消费。
可以尝试提高partition数量,增加consumer的并行能力,也可以试试自己手动维护offset,避免重复消费