System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于it,具体涉及一种基于云原生网关和nacos元数据的流量控制系统及其方法。
技术介绍
1、微服务引擎云原生网关cgw同时具备传统的流量网关和业务网关功能。不仅能够提供全局性的流量策略,而且还能提供独立业务域级别,与后端业务紧耦合策略配置。兼具动态、实时、高性能等特点,提供了弹性负载均衡、动态上游、灰度发布(金丝雀发布)、服务熔断、身份认证、可观测性等丰富的流量管理功能。
2、目前主流的网关产品在结合nacos进行服务发现时,建立的流量控制策略只能应用在服务级别,服务内部节点流量通常是负载均衡的策略。在灰度发布的场景下,需要换个服务名重新注册,并进行流量打标的操作。
3、经过检索发现,在公告号为“cn116032841a”的中国专利中公开了“一种流量控制实现方法及装置,方法包括:确定第一需求与可参考需求代码的业务差异数据;基于业务差异数据复用至少部分可参考需求代码得到目标代码,并部署在服务实例上每一个服务实例具有对应的组别标签;接收用户请求流量,用户请求流量中包含组别标签;基于组别标签将所述用户请求流量发送至与所述组别标签对应的服务实例。上述方案以服务分组为基础进行流量控制,可以根据生产环境需求,并使用一套代码,动态的构建全后台业务服务逻辑上的分组隔离环境,分组后的服务只能对属于该分组的请求流量提供业务服务;从业务代码开发到最终生产部署,在保证满足多个航空公司的需求的前提下,节省各航空公司的人力和硬件成本投入”
4、随着微服务架构和云原生应用的快速发展,越来越多的应用开始运行在云平
技术实现思路
1、本专利技术的目的在于提供一种基于云原生网关和元数据的流量控制系统及其方法,旨在解决现有技术中的原有流量控制策略粒度不够,灵活度不够的问题。
2、为实现上述目的,本专利技术提供如下技术方案:
3、一种基于云原生网关和元数据的流量控制系统,包括服务版本模块和服务版本管理模块,所述服务版本模块内设有三个服务节点,三个所述服务节点用于用户进入服务版本模块内,所述服务版本管理模块用于用户根据不同的服务节点注册的元数据创建不同的服务版本。
4、作为本专利技术一种优选的方案,三个所述服务节点中,其中两个所述服务节点具有version=v1的元数据标签,其中一个所述服务节点具有version=v2的元数据标签。
5、作为本专利技术一种优选的方案,还包括网关模块,所述网关模块内设置有网关控制面、网关数据面、网关内核和网关共享内存。
6、作为本专利技术一种优选的方案,所述服务版本管理模块设置于网关控制面内。
7、作为本专利技术一种优选的方案,所述网关内核内设置有获取nacos元数据模块。
8、作为本专利技术一种优选的方案,所述网关模块内还设有服务版本流量控制模块,所述服务版本流量控制模块用于控制面上路由配置方法和数据面上对流量转发的实现。
9、一种基于云原生网关和元数据的流量控制方法,包括如下步骤:
10、步骤s1、首先在网关模块内部增加基于nacos元数据的服务版本管理模块,能够根据节点注册元数据创建服务版本,对服务节点分组;
11、步骤s2、此时网关数据面只获取了节点信息,未获取元数据,在网关内核中增加获取nacos元数据模块,获取服务元数据;
12、步骤s3、在网关模块内增加服务版本流量控制模块,实现对网关控制面上路由配置方法和网关数据面上对流量转发的实现。
13、作为本专利技术一种优选的方案,所述步骤s1中对服务节点分组包括如下步骤:
14、步骤s11、用户将拥有version=v1元数据的节点设置成版本a,
15、步骤s12、将拥有version=v2元数据的节点设置成版本b,网关控制面可检测出两个版本拥有的节点数,展示给用户。
16、作为本专利技术一种优选的方案,所述步骤s2中获取服务元数据的方式为通过注册中心注册元数据,并将数据发送至网关模块。
17、作为本专利技术一种优选的方案,所述步骤s2中获取的元数据保存至网关共享内存中。
18、本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时实现上述任一项中所述的方法。
19、本申请的又一实施例提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现上述任一项中所述的方法。
20、与现有技术相比,本专利技术的有益效果是:
21、1、本专利技术提供更细粒度的流量控制:用户可以在网关控制面上根据服务元数据将服务节点灵活分组、设置版本和配置权重。突破了只能在服务所有节点进行同等权重的流量转发的限制,解决了原有方案只能服务级别配置流量比例的问题,提供更多场景下的流量控制。
22、2、本专利技术提供更加灵活和实时的流量控制:用户可以随时在控制面上新增或删除服务版本,或调整流量比例,配置即时生效,无需重启网关节点。实现了在同一个服务不同版本,不同服务不同版本下实时流量控制。
本文档来自技高网...【技术保护点】
1.一种基于云原生网关和元数据的流量控制系统,其特征在于:包括服务版本模块和服务版本管理模块,所述服务版本模块内设有三个服务节点,三个所述服务节点用于用户进入服务版本模块内,所述服务版本管理模块用于用户根据不同的服务节点注册的元数据创建不同的服务版本。
2.根据权利要求1所述的一种基于云原生网关和元数据的流量控制系统,其特征在于:三个所述服务节点中,其中两个所述服务节点具有version=v1的元数据标签,其中一个所述服务节点具有version=v2的元数据标签。
3.根据权利要求2所述的一种基于云原生网关和元数据的流量控制系统,其特征在于:还包括网关模块,所述网关模块内设置有网关控制面、网关数据面、网关内核和网关共享内存。
4.根据权利要求3所述的一种基于云原生网关和元数据的流量控制系统,其特征在于:所述服务版本管理模块设置于网关控制面内。
5.根据权利要求4所述的一种基于云原生网关和元数据的流量控制系统,其特征在于:所述网关内核内设置有获取Nacos元数据模块。
6.根据权利要求5所述的一种基于云原生网关和元数据的流
7.一种基于云原生网关和元数据的流量控制方法,应用于权利要求1-6中任意一项所述一种基于云原生网关和元数据的流量控制系统中,其特征在于,包括如下步骤:
8.根据权利要求7所述的一种基于云原生网关和元数据的流量控制方法,其特征在于:所述步骤S1中对服务节点分组包括如下步骤:
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时实现所述权利要求1至6任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现所述权利要求1至6任一项中所述的方法。
...【技术特征摘要】
1.一种基于云原生网关和元数据的流量控制系统,其特征在于:包括服务版本模块和服务版本管理模块,所述服务版本模块内设有三个服务节点,三个所述服务节点用于用户进入服务版本模块内,所述服务版本管理模块用于用户根据不同的服务节点注册的元数据创建不同的服务版本。
2.根据权利要求1所述的一种基于云原生网关和元数据的流量控制系统,其特征在于:三个所述服务节点中,其中两个所述服务节点具有version=v1的元数据标签,其中一个所述服务节点具有version=v2的元数据标签。
3.根据权利要求2所述的一种基于云原生网关和元数据的流量控制系统,其特征在于:还包括网关模块,所述网关模块内设置有网关控制面、网关数据面、网关内核和网关共享内存。
4.根据权利要求3所述的一种基于云原生网关和元数据的流量控制系统,其特征在于:所述服务版本管理模块设置于网关控制面内。
5.根据权利要求4所述的一种基于云原生网关和元数据的流量控制系统,其特征在于:所...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。