欢迎光临散文网 会员登陆 & 注册

kafka实现延时消息

2023-08-22 19:42 作者:bfyxzls  | 我要投稿

应用场景

  • 用户下单5分钟后,给他发短信

  • 用户下单30分钟后,如果用户不付款就自动取消订单

kafka无死信队列

kafka本身没有这种延时队列的机制,像rabbitmq有自己的死信队列,当一些消息在一定时间不消费时会发到死信队列,由死信队列来处理它们,上面的两个需求如果是rabbitmq可以通过死信队列实现的。

kafka有生产者拦截器

通过对生产者拦截器实现一个TTL的检查,然后再通过类似netty里的延时队列组件来实现消息的延时发送,发到咱们的死信队列里

  • ProducerInterceptorTTL源码

  • 注册拦截器

  • 延时消息在某个时间段之后会送出


kafka实现延时消息的评论 (共 条)

分享到微博请遵守国家法律