26.【Kafka】【二十六】Kafka优化之实现延时队列
26.【Kafka】【二十六】Kafka优化之实现延时队列
Kafka优化之实现延时队列
应⽤场景
订单创建后,超过30分钟没有⽀付,则需要取消订单,这种场景可以通过延时队列来实现
具体方案
- kafka中创建相应的主题
- 消费者消费该主题的消息(轮询)
- 消费者消费消息时判断消息的创建时间和当前时间是否超过30分钟(前提是订单没⽀付)
- 如果是:去数据库中修改订单状态为已取消
- 如果否:记录当前消息的offset,并不再继续消费之后的消息。等待1分钟后,再次向kafka拉取该offset及之后的消息,继续进⾏判断,以此反复。
来源:https://blog.csdn.net/weixin_41405524/article/details/129020123