Kafka优化之实现延时队列
应⽤场景
订单创建后,超过30分钟没有⽀付,则需要取消订单,这种场景可以通过延时队列来实现
具体方案
-
kafka中创建相应的主题
-
消费者消费该主题的消息(轮询)
-
消费者消费消息时判断消息的创建时间和当前时间是否超过30分钟(前提是订单没⽀付)
-
如果是:去数据库中修改订单状态为已取消
-
如果否:记录当前消息的offset,并不再继续消费之后的消息。等待1分钟后,再次向kafka拉取该offset及之后的消息,继续进⾏判断,以此反复。
版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: