请问下,kafka消费后设置手动提交,效率很慢,有没有好的优化方法
kafka批量消费(我没亲自使用过);
提高分区数量;
试试
当然,你每条消息的处理时间太长的话,是需要优化的
效率很慢? 是指消费慢吗?那首先你要看下消费业务逻辑的处理速度,这个可能是拖慢消费的主要原因。
然后再看看kafka的配置,比如 max.poll.records max.partition.fetch.bytes 等
只是接收消息,然后ack,没有业务逻辑,手动ack就很慢
@小迷糊001: 如果消费是瞬时的,那么就要看看你的硬件 IO,kafka的配置等。有没有哪儿拖慢消费速度的地方了,这个排查起来需要耐心,一点点的去找
@让我发会呆: 你说的对,如果设置成自动消费就很快了
@小迷糊001:你一直说的-手动提交,其实这个是比较模糊的,kafka的生产者和消费者都有提交的概念, 生产者确认消息写入成功有个ack,消费者有自动提交或者手动提交offset。
你说到设置成自动消费就很快,那么我理解为消费者提交为自动,那么x消费者自动与手动的区别是:
自动是:每个提交间隔(auto.commit.interval.ms)后会主动将接收到的最大偏移量提交上。
手动是:不用基于时间间隔,而是让程序自己决定提交偏移量。
如果提交逻辑没有bug的话,按道理不太会影响消费者的提交速度啊
手动提交: 不要每个消息消费后都提交. commit是很慢的.
那设置偏移量?