暂停消息消费并在时间间隔后恢复

Pause message consumption and resume after time interval

我们正在使用 spring-cloud-stream 与 kafka 一起工作。而且我需要在消费者从单个主题获取数据之间添加一些间隔。 batch-node 已经设置为 true ,fetch-max-wait,fetch-min-size,max-poll-records 也已经调整。

我应该用 idleEventInterval 做些什么吗,还是错误的方式?

您可以根据需要 pause/resume 容器(避免重新平衡)。

https://docs.spring.io/spring-cloud-stream/docs/3.2.1/reference/html/spring-cloud-stream.html#binding_visualization_control

Since version 3.1 we expose org.springframework.cloud.stream.binding.BindingsLifecycleController which is registered as bean and once injected could be used to control the lifecycle of individual bindings

如果你只想延迟一小段时间,你可以设置容器的idleBetweenPolls 属性,使用一个ListenerContainerCustomizer bean。