一种基于服务及流量染色的多租户方法与系统技术方案

技术编号:35482991 阅读:15 留言:0更新日期:2022-11-05 16:34
本发明专利技术提供了一种基于服务及流量染色的多租户方法,通过对服务及用户流量进行染色从而实现多租户,网关在检测到请求的设定参数后,对流量进行染色,而流量在后续的传递过程中,通过染色信息进行路由选择。本发明专利技术还提供了一种基于服务及流量染色的多租户系统。本发明专利技术的有益效果是:通过对服务及用户流量进行染色可以方便的实现多租户,网关在检测到请求的特定参数后对流量进行染色,而流量在后续的传递过程中通过染色信息进行路由选择,对于传输中的数据租户都能够保证隔离性和公平性,以及基于租户的路由机会,本方法与系统提供了一个更灵活和可伸缩的微服务架构,这个架构能够带来更大的生产效能,这会让工程师以及平台用户受益。受益。受益。

【技术实现步骤摘要】
一种基于服务及流量染色的多租户方法与系统


[0001]本专利技术涉及多租户方法,尤其涉及一种基于服务及流量染色的多租户方法与系统。

技术介绍

[0002]在微服务架构下,一个微服务集群往往需要多台物理机器才能支撑,如果继续使用传统的测试环境部署模式,开发及测试人员需要分别部署一套线上正式服务环境及一套测试用服务环境才能做到测试与线上环境的互不影响。这样会带来两个问题,一个是需要多台物理机器才能支撑起两套系统,另一个是两者都依赖但却互不影响的一些基础应用的重复部署。

技术实现思路

[0003]为了解决现有技术中的问题,本专利技术提供了一种基于服务及流量染色的多租户方法与系统。
[0004]本专利技术提供了一种基于服务及流量染色的多租户方法,通过对服务及用户流量进行染色从而实现多租户,网关在检测到请求的设定参数后,对流量进行染色,而流量在后续的传递过程中,通过染色信息进行路由选择。
[0005]作为本专利技术的进一步改进,所述方法包括以下过程:S1、服务器的部署;S2、使用阶段的配置以及数据流程。
[0006]作为本专利技术的进一步改进,步骤S1包括以下子步骤:S101、部署远程字典服务,即Redis,部署微服务注册中心,即ETCD,微服务注册中心用于存放和调度微服务,实现微服务和注册中心,微服务和微服务之间的相互通信;S102、部署染色配置微服务,染色配置微服务为一个独立微服务,用于管理人员增加或删除或修改流量染色规则;S103、部署上游微服务的实例;S104、部署下游微服务的实例;S105、部署微服务网关,并向所述微服务注册中心注册上游微服务对外暴露的访问接口a1。
[0007]作为本专利技术的进一步改进,上游微服务的实例所采用的染色信息标记与下游微服务的实例所采用的染色信息标记的颜色不相同。
[0008]作为本专利技术的进一步改进,所述微服务网关包含网关流量染色模块与网关服务发现模块,网关流量染色模块用于读取流量染色规则,并根据请求头部中的染色标志位对流量进行染色;网关服务发现模块用于微服务网关与微服务注册中心的通信及下游节点列表的选择。
[0009]作为本专利技术的进一步改进,所述上游微服务和下游微服务均包含服务染色模块与
逻辑处理模块,其中,服务染色模块用于微服务启动时读取配置文件中的染色信息,并将其注册到微服务注册中心以完成微服务染色;逻辑处理模块为具体的业务模块,根据系统不同实现具体的业务功能。
[0010]作为本专利技术的进一步改进,步骤S2包括以下子步骤:S201、配置染色规则,调用染色配置微服务的配置染色规则接口,将某一版本号的HTTP请求设置为某一种颜色,染色配置微服务接收到请求后将数据写入到远程字典服务中;S202、同步染色规则,等待设定时间T后,组装HTTP请求,在HTTP请求中添加相同版本号的头部信息,将请求发送到微服务网关;S203、流量染色,微服务网关接收到HTTP请求后,首先在网关流量染色模块中取出用于匹配染色规则的HTTP的头部信息,并根据染色规则表对流量进行染色,并将颜色信息写入到HTTP 的头部信息中;S204、根据染色信息进行路由选择,完成染色后,流量来到网关服务发现模块,网关服务发现模块根据HTTP的头部信息中的颜色信息及统一资源定位系统,从微服务列表中获取符合条件接口节点列表,最终请求被转发至上游微服务的访问接口a1;S205流量来到上游微服务后,从HTTP的头部信息中获取到染色信息并将其存入请求上下文中,当业务处理到需要调用下游微服务时,网关服务发现模块根据上下文中的染色信息与下游节点列表匹配,最终请求发送至下游微服务;S205、最终,下游微服务处理完业务后,返回结果到上游微服务,上游微服务继续处理业务并组装响应返回给到微服务网关,微服务网关将相应回复给前端,完成整个请求。
[0011]作为本专利技术的进一步改进,在步骤S202中,微服务网关每间隔设定时间T则同步一次染色配置。
[0012]本专利技术还提供了一种基于服务及流量染色的多租户系统,包括可读存储介质,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现所述的方法。
[0013]本专利技术还提供了一种基于服务及流量染色的多租户系统,包括:染色配置微服务,为一个独立微服务,用于管理人员增加或删除或修改流量染色规则,所述染色配置微服务包括流量染色规则配置模块和微服务染色模块;微服务网关,包含网关流量染色模块与网关服务发现模块,网关流量染色模块用于读取流量染色规则,并根据请求头部中的染色标志位对流量进行染色;网关服务发现模块用于微服务网关与微服务注册中心的通信及下游节点列表的选择;微服务注册中心,用于存放和调度微服务,实现微服务和注册中心,微服务和微服务之间的相互通信;远程字典服务,用于存储染色配置微服务的染色规则;上游微服务,包含上游服务染色模块与上游逻辑处理模块,其中,上游服务染色模块用于上游微服务启动时读取配置文件中的染色信息,并将其注册到微服务注册中心以完成微服务染色;上游逻辑处理模块为具体的业务模块,根据系统不同实现具体的业务功能;下游微服务,包含下游服务染色模块与下游逻辑处理模块,其中,下游服务染色模块用于下游微服务启动时读取配置文件中的染色信息,并将其注册到微服务注册中心以完成微服务染色;下游逻辑处理模块为具体的业务模块,根据系统不同实现具体的业务功能。
[0014]作为本专利技术的进一步改进,在内部通过上下文传递数据,在服务间使用HTTP传递数据。
[0015]本专利技术的有益效果是:通过上述方案,通过对服务及用户流量进行染色可以方便的实现多租户,网关在检测到请求的特定参数后对流量进行染色,而流量在后续的传递过程中通过染色信息进行路由选择,对于传输中的数据租户都能够保证隔离性和公平性,以及基于租户的路由机会,本方法与系统提供了一个更灵活和可伸缩的微服务架构,这个架构能够带来更大的生产效能,这会让工程师以及平台用户受益。
附图说明
[0016]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的方案。
[0017]图1是本专利技术一种基于服务及流量染色的多租户系统的架构图。
[0018]图2是本专利技术一种基于服务及流量染色的多租户方法的流程图。
具体实施方式
[0019]需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。
[0020]在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术保护范围的限制。此外,术语“第一”本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于服务及流量染色的多租户方法,其特征在于:通过对服务及用户流量进行染色从而实现多租户,网关在检测到请求的设定参数后,对流量进行染色,而流量在后续的传递过程中,通过染色信息进行路由选择。2.根据权利要求1所述的基于服务及流量染色的多租户方法,其特征在于,所述方法包括以下过程:S1、服务器的部署;S2、使用阶段的配置以及数据流程。3.根据权利要求2所述的基于服务及流量染色的多租户方法,其特征在于,步骤S1包括以下子步骤:S101、部署远程字典服务,即Redis,部署微服务注册中心,即ETCD,微服务注册中心用于存放和调度微服务,实现微服务和注册中心,微服务和微服务之间的相互通信;S102、部署染色配置微服务,染色配置微服务为一个独立微服务,用于管理人员增加或删除或修改流量染色规则;S103、部署上游微服务的实例;S104、部署下游微服务的实例;S105、部署微服务网关,并向所述微服务注册中心注册上游微服务对外暴露的访问接口a1。4.根据权利要求3所述的基于服务及流量染色的多租户方法,其特征在于:上游微服务的实例所采用的染色信息标记与下游微服务的实例所采用的染色信息标记的颜色不相同。5.根据权利要求3所述的基于服务及流量染色的多租户方法,其特征在于:所述微服务网关包含网关流量染色模块与网关服务发现模块,网关流量染色模块用于读取流量染色规则,并根据请求头部中的染色标志位对流量进行染色;网关服务发现模块用于微服务网关与微服务注册中心的通信及下游节点列表的选择。6.根据权利要求3所述的基于服务及流量染色的多租户方法,其特征在于:所述上游微服务和下游微服务均包含服务染色模块与逻辑处理模块,其中,服务染色模块用于微服务启动时读取配置文件中的染色信息,并将其注册到微服务注册中心以完成微服务染色;逻辑处理模块为具体的业务模块,根据系统不同实现具体的业务功能。7.根据权利要求3所述的基于服务及流量染色的多租户方法,其特征在于,步骤S2包括以下子步骤:S201、配置染色规则,调用染色配置微服务的配置染色规则接口,将某一版本号的HTTP请求设置为某一种颜色,染色配置微服务接收到请求后将数据写入到远程字典服务中;S202、同步染色规则,等待设定时间T后,组装HTTP请求,在HTTP请求中添加相同版本号的头部信息,将请求发送到微服务网关;S203、流量染色,微服务网关接收到HTTP请求后,首先在网关流量染色模块中取出用...

【专利技术属性】
技术研发人员:熊平
申请(专利权)人:成都市吉祥锐意科技有限公司
类型:发明
国别省市:

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

1