业务场景-解决方案(解决方案:redis延时队列处理/timer/redis回调通知/quratz/Elastic-Job)
业务场景:从kafka订阅消息,业务这边使用线程池对消息进行处理,现在要求个别消息(这里把这类消息统一称为A事件)需要等待一定时间,在规定时间内触发一定条件(这里称为B条件)停止等待,然后不做任何操作,如果已经过了要求等待时间,进行指定的操作(C操作)。处理方案:方案一:redis多线程队列处理:所有的A事件使用zset存储key和value,并且存储score过期时间,B条件满足时会改变key对应value(value中存储状态true/false),如果score小于或等于当前时间 说.
原创
2020-10-23 18:01:47 ·
318 阅读 ·
0 评论