System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于RocketMq和Redis实现数据异步更新的方法技术_技高网

一种基于RocketMq和Redis实现数据异步更新的方法技术

技术编号:40632183 阅读:3 留言:0更新日期:2024-03-13 21:17
本发明专利技术属于软件技术领域,具体设计一种基于RocketMq和Redis实现数据异步更新的方法,业务系统将数据存储在Redis数据库中,再触发RocketMq消息队列延时异步处理Redis中保存的数据,实现流量削峰和异步消费的目的,有效降低高并发下对服务器的压力。

【技术实现步骤摘要】

本专利技术属于软件,具体设计一种基于rocketmq和redi s实现数据异步更新的方法。


技术介绍

1、现有技术缺陷:

2、1.当业务系统内多个相同更新请求时,需要重复处理多次,无法批量处理,浪费服务器资源;

3、2.业务系统更新数据请求需要同步监听更新的结果,如果执行失败,无法重试;

4、3.由于无法控制流量,当短时间内大量更新请求进来时,大量更新数据操作同步执行会导致服务器宕机。

5、解决的技术问题:

6、通过reids缓存数据库存储指定时间内需要更新的数据,实现临时保存数据的目的,通过异步消息队列批量执行更新数据的操作,实现对大量请求分批次执行处理。


技术实现思路

1、本专利技术针对上述的问题,提供了一种基于rocketmq和redis实现数据异步更新的方法。

2、为了达到上述目的,本专利技术采用的技术方案为,

3、一种基于rocketmq和redis实现数据异步更新的方法,具体包括如下步骤:

4、a、由业务系统发起请求,数据经由redis数据库接收并保存

5、b、利用redis数据库setnx特性,在cycle_time时间内第一次请求,触发rocketmq消息队列生产者生成延时消息,准备由消费者进行消费;

6、c、cycle_time时间内相同的更新数据请求会被当作同一个更新请求,进行去重处理;

7、e、d、cycle_time时间后rocketmq消费者进行消费,执行批量更新数据操作,最终将要更新的数据批量持久化到db。

8、作为优选,所述消息队列:是在消息的传输过程中保存消息的容器,方案用到了消息队列中延时消费的功能。

9、作为优选,所述redis缓存数据库:是一个高性能的nosql系列的非关系型数据库,运行在内存中,可提供快速访问的存储服务,一般用于数据临时存储。

10、作为优选,所述cycle_time:将要更新的数据缓存在redis数据库并延时更新的时间长度,可由业务自由自定义。

11、作为优选,所述setnx:redis数据库自带的命令之一,只有不存在的时候才设置,设置成功时返回1,设置失败时返回0,可以利用它来实现锁的效果。

12、作为优选,所述db:存储和管理数据的仓库,提供持久化的存储服务,用于存放业务数据。

13、与现有技术相比,本专利技术的优点和积极效果在于,

14、1、高并发场景下对流量进行削峰;

15、2、异步处理数据降低直接对服务性能的影响,后续可通过一系列扩展改变异步处理的效率。

本文档来自技高网...

【技术保护点】

1.一种基于RocketMq和Redis实现数据异步更新的方法,其特征在于,具体包括如下步骤:

2.根据权利要求1所述的一种基于RocketMq和Redis实现数据异步更新的方法,其特征在于,所述消息队列:是在消息的传输过程中保存消息的容器,方案用到了消息队列中延时消费的功能。

3.根据权利要求2所述的一种基于RocketMq和Redis实现数据异步更新的方法,其特征在于,所述Redis缓存数据库:是一个高性能的NOSQL系列的非关系型数据库,运行在内存中,可提供快速访问的存储服务,一般用于数据临时存储。

4.根据权利要求3所述的一种基于RocketMq和Redis实现数据异步更新的方法,其特征在于,所述CYCLE_TIME:将要更新的数据缓存在Redis数据库并延时更新的时间长度,可由业务自由自定义。

5.根据权利要求4所述的一种基于RocketMq和Redis实现数据异步更新的方法,其特征在于,所述setnx:redis数据库自带的命令之一,只有不存在的时候才设置, 设置成功时返回1, 设置失败时返回0,可以利用它来实现锁的效果

6.根据权利要求5所述的一种基于RocketMq和Redis实现数据异步更新的方法,其特征在于,所述db:存储和管理数据的仓库,提供持久化的存储服务,用于存放业务数据。

...

【技术特征摘要】

1.一种基于rocketmq和redis实现数据异步更新的方法,其特征在于,具体包括如下步骤:

2.根据权利要求1所述的一种基于rocketmq和redis实现数据异步更新的方法,其特征在于,所述消息队列:是在消息的传输过程中保存消息的容器,方案用到了消息队列中延时消费的功能。

3.根据权利要求2所述的一种基于rocketmq和redis实现数据异步更新的方法,其特征在于,所述redis缓存数据库:是一个高性能的nosql系列的非关系型数据库,运行在内存中,可提供快速访问的存储服务,一般用于数据临时存储。

4.根据权利要求3所述的一种基于rocke...

【专利技术属性】
技术研发人员:谢浏潜
申请(专利权)人:广州凡科互联网科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1