【技术实现步骤摘要】
延迟消息处理方法、系统、设备和存储介质
本专利技术涉及消息处理
,具体地说,涉及一种延迟消息处理方法、系统、设备和存储介质。
技术介绍
延迟消息是需要延迟处理的消息任务,大部分业务系统中均存在大量的延迟消息。例如,订单业务系统中,存在超时不付款则取消订单的消息任务。收货业务系统中,存在超时不收货则确认收货的消息任务;支付业务系统中,存在付款后预设时间内查询是否到账的消息任务。目前,通常通过定时任务去扫描业务系统的数据库,批量抽取出一段时间内到期的延迟消息,进行业务处理。这种全局扫描方式造成数据库压力,把一段时间内到期的延迟消息积压到同一时间批量处理对业务系统也造成压力,并加大延迟消息的处理误差。扫描和处理这些延迟消息占用大量系统资源,导致业务系统其他进程缓慢,影响用户体验。需要说明的是,在上述
技术介绍
部分申请的信息仅用于加强对本专利技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
有鉴于此,本专利技术提供一种延迟消息处理方法、系统、设备和存储介质,克服因定 ...
【技术保护点】
1.一种延迟消息处理方法,其特征在于,包括步骤:/n监听并拉取消息中间件中的各延迟消息;/n将拉取的各所述延迟消息以键值形式写入内嵌数据库,所述键为所述延迟消息的到期时间,所述值为所述延迟消息的消息内容;/n轮询所述内嵌数据库中的各所述延迟消息,取出预设时间内到期的延迟消息;/n将取出的各所述延迟消息保存至内存时间轮;以及/n根据所述内存时间轮依次实时地将到期的延迟消息推送至所述消息中间件,使推送至所述消息中间件的各所述延迟消息被对应消费。/n
【技术特征摘要】
1.一种延迟消息处理方法,其特征在于,包括步骤:
监听并拉取消息中间件中的各延迟消息;
将拉取的各所述延迟消息以键值形式写入内嵌数据库,所述键为所述延迟消息的到期时间,所述值为所述延迟消息的消息内容;
轮询所述内嵌数据库中的各所述延迟消息,取出预设时间内到期的延迟消息;
将取出的各所述延迟消息保存至内存时间轮;以及
根据所述内存时间轮依次实时地将到期的延迟消息推送至所述消息中间件,使推送至所述消息中间件的各所述延迟消息被对应消费。
2.如权利要求1所述的延迟消息处理方法,其特征在于,还包括:
判断处理所述延迟消息的延迟服务是否饱和,若是则在消费者组中新增延迟服务,使多个所述延迟服务共同处理所述消息中间件中的各延迟消息。
3.如权利要求2所述的延迟消息处理方法,其特征在于,通过两个消费者组分别消费所述消息中间件中的各延迟消息,两个所述消费者组中的延迟服务互为主备。
4.如权利要求1所述的延迟消息处理方法,其特征在于,通过独立的线程执行轮询所述内嵌数据库中的各所述延迟消息的步骤。
5.如权利要求1所述的延迟消息处理方法,其特征在于,所述消息中间件中的各延迟消息由延迟消息生产者客户端生产,推送至所述消息中间件的各所述延迟消息由延迟消息消费者客户端消费,所述延迟消息生产者客户端和所述延迟消息消费者客户端注册于一延迟消息管理平台中。
6.如权利要求5所述的延迟消息处理方法,其特征在于,还包括:
通过所述延迟消息管理平台或一取消接口取消对应的延迟消息;和/或
通过所述延迟消息管理平台或一回放...
【专利技术属性】
技术研发人员:张广银,
申请(专利权)人:江苏满运软件科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。