当前位置: 首页 > 知识库问答 >
问题:

SpringKafka是如何保持心跳的?

袁鸿达
2023-03-14

在kafka消费者留档https://kafka.apache.org/10/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html中,它指出需要小心,以确保每隔一段时间调用投票,否则经纪人将假设消费者已经死亡。

最可靠的程序非常复杂:

对于消息处理时间变化不可预测的用例,这两个选项都可能不够。处理这些情况的推荐方法是将消息处理转移到另一个线程,这允许消费者在处理器仍在工作时继续调用poll。必须注意确保promise的偏移量不会超前于实际位置。通常,您必须禁用自动提交,并且只有在线程处理完记录后才手动提交已处理的偏移(取决于您需要的交付语义)。还要注意,您需要暂停分区,以便在线程处理完之前返回的记录之前,不会从poll接收到新的记录。

SpringKafka在引擎盖下为我处理这个吗?

共有1个答案

长孙阳焱
2023-03-14

文档中非常简短地提到了心跳。显然,心跳是由Spring-Kafka在不同的线程上管理的。

因为版本0.10.1.0心跳是在后台线程上发送的

你也可以阅读这期github,了解更多关于心跳的信息。

 类似资料:
  • 嵌入式设备上,只能运行SRS时,其他的业务系统可能需要知道这个设备的ip等信息,SRS可以以http方式主动汇报给api服务器。 编译 要求编译时支持http-parser,即开启了下面任何一个选项即支持: --with-http-api HTTP接口。 --with-http-server HTTP服务器。 --with-http-callback HTTP回调。 配置 在全局配置以下信息即可以

  • 设置: 有时London04实际上需要超过10秒(比方说2分钟)才能执行。有时它会不优雅地崩溃。有时会发生其他(网络)问题。有时在这2分钟内,response-xml-data的各个部分被逐渐填充,以至于各个部分之间没有10秒的间隔,因此从来不会超过readTimeout,有时有10多秒的间隔,HttpClient超时... 我们可以尝试增加主端的超时,但这会很容易使侦听器池膨胀/过载(仅仅是常规

  • 示例: heartbeat 你可以设置自动的心跳来保持连接不断掉。 rpcx会自动处理心跳(事实上它直接就丢弃了心跳)。 客户端需要启用心跳选项,并且设置心跳间隔: option := client.DefaultOption option.Heartbeat = true option.HeartbeatInterval = time.Second

  • 注意:长连接应用必须加心跳,否则连接可能由于长时间未通讯被路由节点强行断开。 心跳作用主要有两个: 1、客户端定时给服务端发送点数据,防止连接由于长时间没有通讯而被某些节点的防火墙关闭导致连接断开的情况。 2、服务端可以通过心跳来判断客户端是否在线,如果客户端在规定时间内没有发来任何数据,就认为客户端下线。这样可以检测到客户端由于极端情况(断电、断网等)下线的事件。 心跳间隔建议值: 建议客户端发

  • 问题内容: 我正在使用POST方法。我需要创建一次,并且应该使用Keep Alive Connection。但是我认为,它每次都会建立一个新的连接。 因此,我需要使用 保持活动 连接。 这是我的代码段,很多帮助将不胜感激。 而且logcat日志是: 问题答案: 10:07:29.746:D / org.apache.http.headers(1529):>>连接:保持活动 您正在要求保持活动状态。

  • 我的短信有点小问题。在文本的某些部分,我使用了' '来确保该特定单词不会中断(或移动)到新行。举个例子,我做了这样的事情: 所以从理论上讲,这个文本('-is')不应该以一个单词的形式出现在一个新的行中,对吧?我想那是对的。但是...这个技巧给我带来了一个问题,就是在“-”和“is”之间增加了很大的空格...而且我当然不想有那个“大空位”。我将给出结果示例: 如你所见,有一个巨大的空间。所以,我的