System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种微服务间流量精准定向配置方法及系统技术方案_技高网

一种微服务间流量精准定向配置方法及系统技术方案

技术编号:41148239 阅读:3 留言:0更新日期:2024-04-30 18:15
本发明专利技术提供一种微服务间流量精准定向配置方法及系统,包括:管理中心创建与每个微服务对应的多个微服务实例,形成该微服务对应的微服务实例集合;每个微服务实例向服务注册中心注册;管理中心配置微服务流量规则;每个微服务实例在启动时,均挂载字节码增强插件;微服务网关实现流量精准定向。本发明专利技术具有以下优点:如果流量有定向需求,即可以实现流量在不同微服务间的精准定向分配;如果流量没有定向需求,则基于负载均衡策略分配给最佳的微服务实例处理,从而实现流量的最优分配。

【技术实现步骤摘要】

本专利技术属于微服务和负载均衡,具体涉及一种微服务间流量精准定向配置方法及系统


技术介绍

1、随着云技术的快速发展和互联网数据的膨胀,微服务间的调用链路变得越来越重要。然而,传统的微服务部署存在一些限制,例如生产环境不能同时部署多个不同内容的版本,不能指定流量在微服务间的走向等,从而无法满足微服务的使用需求。因此,有需要提供一种新的方法和系统来解决上述问题。


技术实现思路

1、针对现有技术存在的缺陷,本专利技术提供一种微服务间流量精准定向配置方法及系统,可有效解决上述问题。

2、本专利技术采用的技术方案如下:

3、本专利技术提供一种微服务间流量精准定向配置方法,包括以下步骤:

4、步骤1,对于具有上下游关系的n个微服务,管理中心创建与每个微服务对应的多个微服务实例,形成该微服务对应的微服务实例集合,由此得到具有上下游关系的n组微服务实例集合,按自上游向下游方向,依次表示为:第1级微服务实例集合,第2级微服务实例集合,…,第n级微服务实例集合;

5、步骤2,每个微服务实例向服务注册中心注册,使服务注册中心存储每个微服务实例的实例标签以及各微服务实例集合之间的上下游关系,形成微服务实例注册表;

6、步骤3,管理中心配置微服务流量规则,生成微服务流量规则表;所述微服务流量规则表示客户端特征与微服务实例之间的对应关系;

7、步骤4,每个微服务实例在启动时,均挂载字节码增强插件;

8、步骤5,微服务网关接收到来自于客户端的客户端访问请求时,微服务网关对所述客户端访问请求进行解析,得到客户端特征;然后查找所述微服务流量规则表,得到与所述客户端特征对应的微服务流量规则,一方面,将所述微服务流量规则添加到所述客户端访问请求的头部;另一方面,对获得的微服务流量规则进行分析,并结合所述微服务实例注册表,确定是否存在定向的属于第1级微服务实例集合中的微服务实例,如果没有,则基于负载均衡策略在第1级微服务实例集合中查找到属于第1级的目标微服务实例,并执行步骤6;如果有,则直接基于微服务流量规则,在第1级微服务实例集合中确定属于第1级的目标微服务实例,并执行步骤6;

9、步骤6,所述微服务网关将所述客户端访问请求发送给属于第1级的目标微服务实例;

10、步骤7,属于第1级的目标微服务实例从所述客户端访问请求的头部获得所述微服务流量规则,然后对所述微服务流量规则进行分析,并结合所述微服务实例注册表,确定是否存在定向的属于第2级微服务实例集合中的微服务实例,如果没有,则执行所述字节码增强插件,基于负载均衡策略在第2级微服务实例集合中查找到属于第2级的目标微服务实例,并执行步骤8;如果有,则直接基于微服务流量规则,在第2级微服务实例集合中确定属于第2级的目标微服务实例,并执行步骤8;

11、步骤8,属于第1级的目标微服务实例将所述客户端访问请求发送给属于第2级的目标微服务实例;

12、步骤9,属于第2级的目标微服务实例继续对所述客户端访问请求进行分析,并结合所述微服务实例注册表,定向到属于第3级的目标微服务实例,如此不断循环,定向将所述客户端访问请求逐级发送到各级的目标微服务实例。

13、优选的,微服务实例向服务注册中心注册具体为:

14、所述微服务实例的配置文件中存储自身的实例标签,利用自定义元数据机制,将所述实例标签定义为自定义元数据形式;当所述微服务实例启动时,自动向所述服务注册中心发送携带所述自定义元数据形式的实例标签的注册请求,所述服务注册中心接收所述注册请求,并存储所述自定义元数据形式的实例标签。

15、优选的,所述客户端特征包括指定客户端请求头,指定请求参数和/或指定cookie。

16、优选的,步骤5中,所述微服务网关通过以下方法,得到所述微服务流量规则表:

17、所述微服务网关从所述管理中心获取所述微服务流量规则表,并缓存;当所述微服务网关需要查找所述微服务流量规则表时,直接从所述缓存中查找所述微服务流量规则表。

18、优选的,管理中心动态修改所述微服务流量规则。

19、本专利技术还提供一种微服务间流量精准定向配置系统,包括:

20、微服务实例集合创建模块,用于对具有上下游关系的n个微服务,创建与每个微服务对应的多个微服务实例,形成该微服务对应的微服务实例集合,由此得到具有上下游关系的n组微服务实例集合,按自上游向下游方向,依次表示为:第1级微服务实例集合,第2级微服务实例集合,…,第n级微服务实例集合;

21、服务注册中心,用于接收每个微服务实例发送的注册请求,从而存储每个微服务实例的实例标签以及各微服务实例集合之间的上下游关系,形成微服务实例注册表;

22、微服务流量规则配置模块,用于配置微服务流量规则,生成微服务流量规则表;所述微服务流量规则表示客户端特征与微服务实例之间的对应关系;

23、字节码增强插件,用于挂载到每个微服务实例,使每个微服务实例在启动时,均挂载字节码增强插件;

24、微服务网关,用于接收到来自于客户端的客户端访问请求,通过对所述客户端访问请求进行解析,得到客户端特征;然后查找所述微服务流量规则表,得到与所述客户端特征对应的微服务流量规则,一方面,将所述微服务流量规则添加到所述客户端访问请求的头部;另一方面,对获得的微服务流量规则进行分析,并结合所述微服务实例注册表,确定是否存在定向的属于第1级微服务实例集合中的微服务实例,如果没有,则基于负载均衡策略在第1级微服务实例集合中查找到属于第1级的目标微服务实例,然后发送给第一服务调用模块;如果有,则直接基于微服务流量规则,在第1级微服务实例集合中确定属于第1级的目标微服务实例,然后发送给第一服务调用模块;

25、第一服务调用模块,用于将所述客户端访问请求发送给属于第1级的目标微服务实例;属于第1级的目标微服务实例从所述客户端访问请求的头部获得所述微服务流量规则,然后对所述微服务流量规则进行分析,并结合所述微服务实例注册表,确定是否存在定向的属于第2级微服务实例集合中的微服务实例,如果没有,则执行所述字节码增强插件,基于负载均衡策略在第2级微服务实例集合中查找到属于第2级的目标微服务实例,然后发送给第二服务调用模块;如果有,则直接基于微服务流量规则,在第2级微服务实例集合中确定属于第2级的目标微服务实例,然后发送给第二服务调用模块;

26、第二服务调用模块,用于将所述客户端访问请求发送给属于第2级的目标微服务实例;属于第2级的目标微服务实例继续对所述客户端访问请求进行分析,并结合所述微服务实例注册表,定向到属于第3级的目标微服务实例,如此不断循环,定向将所述客户端访问请求逐级发送到各级的目标微服务实例。

27、本专利技术提供的一种微服务间流量精准定向配置方法及系统具有以下优点:如果流量有定向需求,即可以实现流量在不同微服务间的精准定向分配;如果流量没有定向需求,则基于负本文档来自技高网...

【技术保护点】

1.一种微服务间流量精准定向配置方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种微服务间流量精准定向配置方法,其特征在于,微服务实例向服务注册中心注册具体为:

3.根据权利要求1所述的一种微服务间流量精准定向配置方法,其特征在于,所述客户端特征包括指定客户端请求头,指定请求参数和/或指定cookie。

4.根据权利要求1所述的一种微服务间流量精准定向配置方法,其特征在于,步骤5中,所述微服务网关通过以下方法,得到所述微服务流量规则表:

5.根据权利要求1所述的一种微服务间流量精准定向配置方法,其特征在于,管理中心动态修改所述微服务流量规则。

6.一种微服务间流量精准定向配置系统,其特征在于,包括:

【技术特征摘要】

1.一种微服务间流量精准定向配置方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种微服务间流量精准定向配置方法,其特征在于,微服务实例向服务注册中心注册具体为:

3.根据权利要求1所述的一种微服务间流量精准定向配置方法,其特征在于,所述客户端特征包括指定客户端请求头,指定请求参数和/或指定cookie。...

【专利技术属性】
技术研发人员:李兴平赖晓航王廷章张城瑞
申请(专利权)人:四三九九网络股份有限公司
类型:发明
国别省市:

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

1