[发明专利]一种消息队列及消费者动态创建方法及系统有效
申请号: | 202110692394.1 | 申请日: | 2021-06-22 |
公开(公告)号: | CN113495797B | 公开(公告)日: | 2023-03-07 |
发明(设计)人: | 牛如兵;成圣昌;刘国亮 | 申请(专利权)人: | 上海百秋新网商数字科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
地址: | 200335 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 队列 消费者 动态 创建 方法 系统 | ||
本发明公开了一种消息队列及消费者动态创建方法及系统,包括:S1:在多租户SaaS系统中,为各业务项目和各租户之间构建MQ动态配置规则,通过在sendTask方法体上自定义消息队列注解,为各业务项目自动创建各租户的专属消息队列及消费者。本发明利用主动创建和被动创建租户的专属消息队列及消费者,确保不同租户之间数据隔离的同时,提高消费者服务的可靠性以及提升消费者服务的吞吐量。
技术领域
本发明涉及计算机技术领域,尤其一种消息队列及消费者动态创建方法及系统。
背景技术
SaaS,是Software-as-a-Service的缩写名称,意思为软件即服务,即通过网络提供软件服务。SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得Saas平台供应商提供的服务。
多租户(Multi Tenancy/Tenant)SaaS是一种软件系统架构,实现一个平台同时为多个租户提供服务。在该种系统架构上,多个租户共享同样的硬件配置和应用程序,并实现数据的隔离。应用程序被设计成能将自己的数据、配置进行虚拟的分区,以便每个租户都感觉到自己是在一个私有的、可定制化的应用实例上工作。
现有电商平台基于多租户SaaS概念开发,旨在可以为成千上万不同的租户提供服务。电商平台可包括网页服务、数据服务、管理服务,网页服务用于存储用户浏览购买商品跟踪订单的页面,数据服务用于为网页服务的页面提供商品、用户、订单、支付等一系列数据,管理服务用于管理商品、用户、订单、支付账务等一系列数据。电商领域中通过消息队列提高用户体验和吞吐量。
消息队列(Message queue)可以对传输过程中的消息进行保存,使得消息由消息发送方(或称为生产者)发出后暂存于消息队列中,而无需立即传递至消息接收方(或称为消费者),从而实现消息发送方与消息接收方之间的异步通信。传统电商平台中消息队列的使用,往往是多个租户共用一个消息队列以及共用一个消费者,然而不同租户的业务需求量不同,例如租户A数据量大,租户B数据量小,在并发时可能会出现由于租户A的数据量过大无法在短时间内处理完,导致租户B的数据一直阻塞在队列中得不到处理,影响用户体验。
发明内容
本申请实施例通过提供一种消息队列及消费者动态创建方法及系统,解决了现有技术中多租户SaaS系统架构内,由于某些租户出现业务处理量过大时,导致其他租户的业务数据无法及时得到处理的问题,本技术方案通过为每个租户配置专属消息队列及消费者,实现数据隔离的同时,提高消费者服务的吞吐量。
第一方面,本申请实施例提供了一种消息队列及消费者动态创建方法,包括:
S1:在多租户SaaS系统中,为各业务项目和各租户之间构建MQ动态配置规则,通过在sendTask方法体上自定义消息队列注解,为各所述业务项目自动创建各所述租户的专属消息队列及消费者;
S2:根据各所述业务项目预设的消费者监听类,对所述SaaS系统创建新租户的主题消息进行监听;根据所述MQ动态配置规则以及所监听的主题消息,扫描所述业务项目所使用自定义消息队列注解的消费者方法,在各所述业务项目中为新增租户创建专属消息队列及消费者;
S3:在新增业务项目初始化启动时,根据MQ动态配置规则,利用配置类自动捕获所使用自定义消息队列注解的消费者方法,在所述新增业务项目中为每个租户生成专属消息队列及消费者;所述所使用自定义消息队列注解的消费者方法在扫描得到的所有所述业务项目中所有类下的所有方法中捕获;所述自定义消息队列注解中携带有队列名和RouteKey;通过获取注解中携带的队列名和RouteKey,模拟RabbitMq注册消费者到Spring容器的过程,在队列名和RouteKey前拼接租户唯一标识码Code,以此在所述新增业务项目中为每个租户生成专属消费者;所述唯一标识码Code基于在所述SaaS系统中创建的所述新租户的主题消息确定得到。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海百秋新网商数字科技有限公司,未经上海百秋新网商数字科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110692394.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:场效应晶体管及其制造方法
- 下一篇:一种工业自动控制系统柜