[发明专利]一种基于微服务电商系统的订单处理方法在审
| 申请号: | 201911127743.4 | 申请日: | 2019-11-18 |
| 公开(公告)号: | CN110888893A | 公开(公告)日: | 2020-03-17 |
| 发明(设计)人: | 戴跃锋;高敬民;谭清明;陈喆 | 申请(专利权)人: | 湖南御家科技有限公司 |
| 主分类号: | G06F16/23 | 分类号: | G06F16/23;G06Q30/06 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张春辉 |
| 地址: | 410000 湖南省长沙市长沙高新开*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 微服 务电商 系统 订单 处理 方法 | ||
本申请公开了一种基于微服务电商系统的订单处理方法、装置、设备及可读存储介质,方案包括:在接收到订单请求后,利用订单服务模块创建订单,并向第一消息队列发送订单创建消息;利用库存服务模块监听第一消息队列,在监听到后根据订单创建消息和当前库存生成库存锁定消息,并向第二消息队列发送库存锁定消息;利用订单服务模块监听第二消息队列,并在监听到后根据库存锁定消息对订单执行相应的处理操作。可见,该方案在电商系统微服务过程中,通过对消息队列的监听来实现二者之间的消息传递,使得订单服务不再依赖于库存服务,这种通过事件驱动架构实现下单结算业务的方式,通过异步的消息来同步状态,保证数据一致性,提升了订单处理的效率。
技术领域
本申请涉及计算机技术领域,特别涉及一种基于微服务电商系统的订单处理方法、装置、设备及可读存储介质。
背景技术
在单体应用中,可以利用关系型数据库的特性去实现事务一致性。但是,一旦应用往微服务发展,根据业务拆分成不同的模块,而且每个模块的数据库已经分离开,这时候,要面对的就是分布式事务了,需要开发者在代码里完成ACID(是数据库事务正确执行的四个基本要素)。目前,比较流行的解决方案有:两阶段提交、补偿机制、本地消息表(利用本地事务和MQ)、MQ的事务消息(Rocket MQ)。
因此,如何在微服务场景下既保证下单过程的一致性又提升下单结算的QPS,是亟待本领域技术人员解决的核心技术问题。
发明内容
本申请的目的是提供一种基于微服务电商系统的订单处理方法、装置、设备及可读存储介质,用以实现在微服务场景下既保证下单过程的一致性又提升下单结算的QPS的目的。其具体方案如下:
第一方面,本申请提供了一种基于微服务电商系统的订单处理方法,包括:
在接收到订单请求后,利用订单服务模块创建订单,并向第一消息队列发送订单创建消息;
利用库存服务模块监听所述第一消息队列,在监听到所述订单创建消息后,根据所述订单创建消息和当前库存生成库存锁定消息,并向第二消息队列发送所述库存锁定消息;
利用所述订单服务模块监听所述第二消息队列,并在监听到所述库存锁定消息后,根据所述库存锁定消息对所述订单执行相应的处理操作。
优选的,所述根据所述订单创建消息和当前库存生成库存锁定消息,包括:
根据所述订单创建消息确定订单量,并判断当前库存是否大于等于所述订单量;
若是,则利用所述库存服务模块根据所述订单量更新所述当前库存,并生成包括库存更新成功信息的库存锁定消息;
若不是,则利用所述库存服务模块生成包括库存更新失败信息的库存锁定消息。
优选的,所述根据所述库存锁定消息对所述订单执行相应的处理操作,包括:
在所述库存锁定消息包括库存更新成功信息时,利用订单服务模块将所述订单录入订单数据库,并向用户反馈下单成功的提示信息;
在所述库存锁定消息包括库存更新失败信息时,利用订单服务模块取消所述订单,并向用户反馈下单失败的提示信息。
优选的,所述利用订单服务模块创建订单,包括:
利用订单服务模块创建订单,将所述订单的状态设置为临时开启状态,并保存至REDIS缓存中;
所述利用订单服务模块将所述订单录入订单数据库,包括:
利用订单服务模块将所述订单的状态修改为确认状态,并录入订单数据库。
优选的,在所述向第二消息队列发送所述库存锁定消息之后,还包括:
利用所述库存服务模块删除所述第一消息队列中的所述订单创建消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南御家科技有限公司,未经湖南御家科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911127743.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:登录认证方法及装置
- 下一篇:一种区域远程医疗信息系统





