用例是我的用户偶尔执行一些需要很长时间的I / O工作。我正在使用Spring 2.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持续时间高峰的情况。

当一个使用者花费异常长的时间来处理一条消息时,我可以使用什么设置和代码或体系结构来使系统响应(在实际上阻止了使用者时重新平衡)而不会触发重新平衡?

最佳答案

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

09-27 09:40