kafka与spring集成-使用者超时vs读取超时?

bvjveswy  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(350)

与配置
使用spring集成kafka扩展和以下配置:

<int-kafka:zookeeper-connect id="zookeeperConnect"
    zk-connect="#{kafkaConfig['zooKeeperUrl']}" zk-connection-timeout="10000"
    zk-session-timeout="10000" zk-sync-time="2000" />

<int-kafka:consumer-context id="consumerContext" consumer-timeout="5000" zookeeper-connect="zookeeperConnect">

这个 timeout 是等待消息的时间,还是等待消息并阅读消息的时间?此值与读取超时不同吗?

krugob8w

krugob8w1#

consumer.timeout.ms-1
从Kafka配置
如果在指定的间隔之后没有消息可供使用,则向使用者抛出超时异常

igetnqfo

igetnqfo2#

来自git-hub-spring集成kafka存储库
“在上面的使用者上下文中,您还可以指定使用者超时值,该值将用于在没有要使用的消息的情况下使使用者超时。此超时将适用于使用者中的所有流(线程)。Kafka的默认值是-1,这将使它无限期地等待。但是,sping集成会在默认情况下将其覆盖为5秒,以确保没有线程在应用程序的生命周期中无限期地阻塞,从而使它们有机会释放它们所持有的任何资源或锁。建议重写该值以满足任何特定的用例需求。通过在上下文上提供合理的使用者超时和在轮询器上提供固定的延迟值,此入站适配器能够模拟消息驱动的行为。”

相关问题