开发过程中碰到了一个问题,某个top一直在消费,而一直存在,偏移量不增不减就在那。
这个小组里面有6个topic,其余5个都消费很快,只有这个topicC出现了阻塞。
同时log出现异常:Failing OffsetCommit request since the consumer is not part of an active group
从代码中看,的确是有问题,其余5个基本上都是更新一下db速度很快。而topicC有很复杂的业务逻辑计算,时间非常长。导致超时未上报给kafka服务端,服务端认为消费失败了,不更新offset。
但是根据日志提示:offset提交请求失败,因为消费者已经不是一个活跃的组内了。为啥既然不是活跃的组内,还能消费消息呢?难道服务端只禁止了不活跃的消费者提交offse,而不禁止消费?
方法肯定是将客户端topicC消费中的业务逻辑改为异步处理,及时上报。解决了这个问题。offset恢复正常。
但是不知道这个提示与消费的矛盾具体是什么原理。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。