java—处理反压力并避免在慢消费Kafka上重新平衡

dm7nw8vv  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(307)

用例是我的消费者偶尔做一些需要很长时间的i/o工作。我正在使用Spring2.0.1和 <spring-cloud.version>Elmhurst.RELEASE</spring-cloud.version</spring-cloud.version> 最初的解决办法是 max.poll.interval.ms 更高的价值和 max.poll.records 设置为低于默认值的值。这确实减少了重新平衡的次数,但仍然存在i/o操作所需时间超过 max.poll.interval.ms 再平衡的成本相当高,产生了相当大的滞后。如果没有重新平衡,即使考虑到i/o持续时间峰值的情况,处理也会及时完成。
我可以使用什么设置、代码或体系结构使系统既具有响应性(当一个消费者实际被阻止时重新平衡),又不会在一个消费者处理消息花费异常长的时间时触发重新平衡?

new9mtju

new9mtju1#

我知道的唯一解决方案是调整这两个属性(或者减少侦听器所花费的时间)。

相关问题