【kafka】kafka 消费的时候 退出

在这里插入图片描述

1.概述

消费者的poll方法- -般都是 被while( true)语句包含的,那么退出就是一个问题.

  1. 在另外-个线程使用consumer . wakeup();会抛出WakeupException异 常,该异常不需要去捕获,它会自己发送LeaveGroup request.但是在之后需要手动关闭consumer.
  2. 总的来说也是方法- -的变型.利用Runtime.getRuntime ( ) .addShutDownHook (Thread);来调用consumer . wakeup(); , ShutDownHook运行在另外一个线程中.当按下ctrl+c的时候触发ShutDownHook中传入的线程,最后运行完结束主程序.

消费者安全退出示例

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Kafka提供了多种避免重复消费的机制,其中最常用的是消费者组机制和手动管理消费偏移量。 1. 消费者组机制 消费者组机制是Kafka中避免重复消费的主要机制之一。消费者组中的消费者会协调分配和消费分区,每个消费者只会消费自己负责的分区。当一个消费消费一个消息时,Kafka会将这个消息的消费偏移量(offset)记录在消费者组的消费偏移量管理器中。消费偏移量是一个标识符,用于标识消息在分区中的位置。 当一个消费者重新加入消费者组时,它会从消费偏移量管理器中获取自己负责的分区的最新消费偏移量,并从该位置开始消费消息。这样,即使消费者由于某些原因退出消费者组,重新加入时也能够从上一次消费偏移量的位置继续消费消息,避免消息的重复消费。 2. 手动管理消费偏移量 除了消费者组机制外,还可以通过手动管理消费偏移量来避免重复消费Kafka提供了API,允许应用程序手动提交消费偏移量。应用程序可以在消费每条消息后立即提交偏移量,以确保消息不会被重复消费。但是,这种方式需要应用程序自己管理消费偏移量,较为繁琐,不如使用消费者组机制方便。 总的来说,消费者组机制是Kafka中避免重复消费的主要机制,应用程序可以通过创建多个消费者组来实现不同的消费策略和需求。同时,应用程序也可以通过手动管理消费偏移量来避免重复消费,但需要自己管理消费偏移量,较为繁琐。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值