4 个回答
客户端自动重连:
Kafka 客户端(比如消费者)通常会有自动重连机制。如果连接断开了,客户端会尝试重新连接到 Kafka 集群。
客户端和 broker 之间还有心跳检测机制,如果发现连接中断,客户端会尝试重新建立连接。
发布于:7个月前 (10-15) IP属地:四川省
偏移量管理:
消费者可以配置为自动提交偏移量,也就是每隔一段时间自动告诉 Kafka 已经消费到哪个位置了。这样即使消费者宕机,重启后也可以从上次提交的位置继续消费。
如果需要更精确的控制,消费者可以选择手动提交偏移量,在处理完一条消息后再提交偏移量,这样可以避免消息丢失或重复。
发布于:7个月前 (10-15) IP属地:四川省
消费者重新分配:
当 broker 宕机后,消费者的消费组会进行一次重新平衡(rebalance)。这意味着 Kafka 会重新分配 partition 给消费者,确保每个 partition 只有一个消费者在读取。
重新平衡后,消费者可以从上次提交的位置继续消费消息。如果消费者之前已经提交了偏移量(offset),那么它可以从提交的位置开始继续消费,而不会丢失或重复消息。
发布于:7个月前 (10-15) IP属地:四川省
自动切换到备份:
每个 topic 的 partition 都有多个副本(复制的数据),其中一个副本是 leader,负责处理读写请求。其他副本是 follower,它们从 leader 复制数据。
如果 leader 所在的 broker 宕机了,Kafka 会自动选择一个健康的 follower 副本作为新的 leader。这个过程对消费者是透明的,消费者可以继续从新的 leader 读取消息。
发布于:7个月前 (10-15) IP属地:四川省
我来回答
您需要 登录 后回答此问题!