一种多租户模式SaaS服务分布式配置同步共享的系统及方法与流程

文档序号:36536290发布日期:2023-12-29 23:23阅读:18来源:国知局
一种多租户模式的制作方法

本发明涉及saas服务,尤其涉及一种多租户模式saas服务分布式配置同步共享的系统及方法。


背景技术:

1、在saas的多租户体系结构中,每个租户的需求是个性多样化的。例如:某某品牌的实体商品在下单时,需要根据商品的重量增加运费到订单中。而有些虚拟商品品牌客户是不需要运费的。对于saas开发者来说,需要在下单接口内,使用到诸如此类的配置:是否需要计算运费,运费计算的规则是什么...这就导致在同一个下单业务中,业务代码是同一套的情况下,会因为租户的需求或者体验要求不同,产生各种各样的个性化配置,有些配置项是通用的,而有些配置项是个性化的。

2、在传统的toc场景中,软件开发商们往往只需要考虑自身在各个业务场景的配置项。自定义的配置数量假设为n,而对于saas开发者来说,配置数量会与租户的数量m产生乘积,极端情况下数量可能是n*m。

3、saas服务体量会随着租户数量,及租户业务的规模的不断变大。单体业务架构显然是无法满足服务需求的。saas也不例外,大多使用软件业界推崇的分布式微服务架构。它能有效,快速地提高服务的承载能力,快速扩容,高可用。但也带来了,多进程服务配置管理的难题。

4、在业务快速扩张的初期,我们引入了国内流行的配置中心apollo。使用该项技术在我们业务的初期阶段,配置量较少时,满足来我们分布式业务节点,配置分发和共享的需求。但经过一段时间发展,apollo在应对单namespace配置超过几千甚至上万后,配置同步会出现高延迟,在namespace中更新单个配置项会引起全量namespace的所有配置项进行同步,导致自身cpu资源耗尽等问题时尽显疲态。

5、另外,在微服务的实践过程中,我们发现单机混合部署应用多版本节点是常态。而由于saas本身的业务多租户配置项多的缘故,每个进程都需要从配置中心,读取大量的多租户的配置保存在内存中。因为同一个服务节点会同时服务不用的租户。这些配置经过分析,占进程的申请内存不小的一部分,而这些配置在同应用不同版本中的key的差异是微小的,大多是可以复用的。

6、因此,亟需设计一种高性能,高可用,内存复用的分布式配置同步和配置共享的方法,来应对saas多租户的业务场景和微服务架构场景。


技术实现思路

1、鉴于目前存在的多租户模式saas服务中分布式配置管理困难,本发明提供一种多租户模式saas服务分布式配置同步共享的系统及方法,通过配置中心集群模块以及应用实例部署模块,将配置管理细化到键值维度,通过配置中心集群实现数据同步;使用边车进程建立维护轻型数据库,通过轻型数据库管理、共享、复用多进程之间的业务配置。

2、为达到上述目的,本发明的实施例采用如下技术方案:

3、一种多租户模式saas服务分布式配置同步共享的系统,包括配置中心集群模块和应用实例部署模块;

4、配置中心集群模块,用于通过分布式算法构建数据同步的配置中心集群,向开发者、租户提供对外http服务,实现配置键值数据的存储、查询、持久化以及多节点灾备转移;

5、应用实例部署模块,用于在多租户模式saas服务环境的多个应用实例中部署单独的边车进程,并通过边车进程建立并维护的轻型数据库实现配置数据共享。

6、依照本发明的一个方面,所述配置中心集群包括投票节点与非投票节点,所述投票节点中包含唯一主节点与若干从节点,所述主节点配置为向开发者、租户提供http服务,将开发者或租户的配置写入请求散发到从节点、非投票节点,并返回写入成功信息,所述主节点还包括快照备份。

7、依照本发明的一个方面,所述镜像节点配置为与所述主节点数据同步的非投票节点,并与所述边车进程实现数据同步交互,还包括快照备份、快照恢复以及日志追赶。

8、依照本发明的一个方面,所述从节点配置为将键值数据写入本地存储中,并向主节点返回写入成功信息。

9、依照本发明的一个方面,所述边车进程配置为与所述镜像节点保持http长轮询通信,建立并维护轻型数据库,还包括快照恢复与日志追赶。

10、依照本发明的一个方面,所述轻型数据库配置为实现多进程配置共享,并将轻型数据库中的内容通过mmap文件映射到内存,提供数据查询与访问。

11、依照本发明的一个方面,所述配置中心集群模块还包括监视器,所述监视器配置为监视所述从节点、所述镜像节点以及所述边车进程。

12、一种多租户模式saas服务分布式配置同步共享的方法,包括以下步骤:

13、获取键值数据写入请求;

14、将键值数据写入本地存储中;

15、执行镜像节点与边车进程的数据同步交互;

16、维护轻型数据库。

17、依照本发明的一个方面,多租户模式saas服务分布式配置同步共享的方法还包括:

18、若本地存储中不存在轻型数据库,初始化本地存储;

19、与镜像节点进行通信,请求进行轻型数据库的快照恢复;

20、快照恢复后进行日志追赶。

21、依照本发明的一个方面,所述日志追赶包括以下步骤:

22、将本地数据库中的日志索引发送给镜像节点;

23、将日志索引的值与本地的日志窗口中最小值比较;

24、若日志索引的值小于最小日志窗口值,执行快照恢复;

25、若日志索引的值大于最小日志窗口值,返回数据库中大于最小日志窗口值的记录。

26、本发明实施的优点:本发明所述的一种多租户模式saas服务分布式配置同步共享的系统,包括配置中心集群模块和应用实例部署模块,通过构建配置中心集群实现数据同步,并向开发者、租户提供对外http服务,实现配置键值数据的存储、查询、持久化以及多节点灾备转移,将配置管理细化到键值维度;使用边车进程建立并维护轻型数据库,通过轻型数据库管理、共享、复用多进程之间的业务配置;并使用快照备份、快照恢复以及日志追赶完成轻型数据库的配置数据同步,提高了saas服务的稳定性,配置生效实时性,有效利用了服务器内存资源,显著减少服务器资源成本。



技术特征:

1.一种多租户模式saas服务分布式配置同步共享的系统,其特征在于,包括配置中心集群模块和应用实例部署模块;

2.根据权利要求1所述的多租户模式saas服务分布式配置同步共享的系统,其特征在于,所述配置中心集群包括投票节点与非投票节点,所述投票节点中包含唯一主节点与若干从节点,所述主节点配置为向开发者、租户提供http服务,将开发者或租户的配置写入请求散发到从节点、非投票节点,并返回写入成功信息,所述主节点还包括快照备份。

3.根据权利要求2所述的多租户模式saas服务分布式配置同步共享的系统,其特征在于,所述镜像节点配置为与所述主节点数据同步的非投票节点,并与所述边车进程实现数据同步交互,还包括快照备份、快照恢复以及日志追赶。

4.根据权利要求2所述的多租户模式saas服务分布式配置同步共享的系统,其特征在于,所述从节点配置为将键值数据写入本地存储中,并向主节点返回写入成功信息。

5.根据权利要求3所述的多租户模式saas服务分布式配置同步共享的系统,其特征在于,所述边车进程配置为与所述镜像节点保持http长轮询通信,建立并维护轻型数据库,还包括快照恢复与日志追赶。

6.根据权利要求5所述的多租户模式saas服务分布式配置同步共享的系统,其特征在于,所述轻型数据库配置为实现多进程配置共享,并将轻型数据库中的内容通过mmap文件映射到内存,提供数据查询与访问。

7.根据权利要求5或6所述的多租户模式saas服务分布式配置同步共享的系统,其特征在于,所述配置中心集群模块还包括监视器,所述监视器配置为监视所述从节点、所述镜像节点以及所述边车进程。

8.一种多租户模式saas服务分布式配置同步共享的方法,其特征在于,包括以下步骤:

9.根据权利要求8所述的多租户模式saas服务分布式配置同步共享的方法,其特征在于,还包括:

10.根据权利要求9所述的多租户模式saas服务分布式配置同步共享的方法,其特征在于,所述日志追赶包括以下步骤:


技术总结
本发明公开了一种多租户模式SaaS服务分布式配置同步共享的系统,包括配置中心集群模块和应用实例部署模块,通过构建配置中心集群实现数据同步,并向开发者、租户提供对外HTTP服务,实现配置键值数据的存储、查询、持久化以及多节点灾备转移,将配置管理细化到键值维度;使用边车进程建立并维护轻型数据库,通过轻型数据库管理、共享、复用多进程之间的业务配置;并使用快照备份、快照恢复以及日志追赶完成轻型数据库的配置数据同步,提高了SaaS服务的稳定性,配置生效实时性,有效利用了服务器内存资源,显著减少服务器资源成本。

技术研发人员:刘兴旺,凌晨
受保护的技术使用者:上海驿氪信息科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1