CN112000348A - 服务灰度发布的控制方法、装置、计算机设备 - Google Patents
服务灰度发布的控制方法、装置、计算机设备 Download PDFInfo
- Publication number
- CN112000348A CN112000348A CN202010735313.7A CN202010735313A CN112000348A CN 112000348 A CN112000348 A CN 112000348A CN 202010735313 A CN202010735313 A CN 202010735313A CN 112000348 A CN112000348 A CN 112000348A
- Authority
- CN
- China
- Prior art keywords
- service
- configuration information
- client
- version
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims description 22
- 230000004048 modification Effects 0.000 claims description 19
- 238000012986 modification Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 6
- 239000000047 product Substances 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000287127 Passeridae Species 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种服务灰度发布的控制方法、装置、计算机设备和存储介质。所述方法包括:接收客户端通过网关发送的业务请求,所述业务请求中包括服务标识和版本标识;根据所述服务标识和版本标识,查找对应的路由配置信息;将所述路由配置信息发送至所述网关,并通过所述网关按照所述路由配置信息发送所述业务请求至对应的目标服务实例;利用所述目标服务实例对所述业务请求进行处理,得到与所述业务请求对应的结果并返回至所述客户端。采用本方法能够实现基于不同业务场景动态定制服务灰度发布的调用链路,达到访问服务版本的路径改变,避免了重启加载配置等繁琐操作,能够保证服务***更新迭代时的稳定性,同时有效提高服务灰度发布的效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种服务灰度发布的控制方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,5G时代的来临,互联网的出现给现代生活带来了极大的便利,越来越多的企业可以通过使用服务平台在线对多种业务进行处理,有效的提高了业务办理的效率。现有服务***的微服务架构中,当需要发布新版本的微服务实例时,灰度发布能够为快速迭代的微服务提供有效的保证,降低产品升级所影响的用户范围。
目前灰度发布微服务的方式中,当需要对微服务集群下的实例发布新版本时,需要重新部署整个服务链路的所有服务实例,并且需要在代理服务器和服务网关中手动更新相应配置,通过重启加载相应的配置来实现更新,一旦发现新版本存在问题时,必须将整条业务的链路服务下线,这种灰度发布服务的弊端在于服务***存在很大风险,无法保证***更新迭代时的稳定性,尤其是涉及多种业务场景下的服务灰度发布时,容易导致服务灰度发布的效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高服务灰度发布效率的服务灰度发布的控制方法、装置、计算机设备和存储介质。
一种服务灰度发布的控制方法,所述方法包括:
接收客户端通过网关发送的业务请求,所述业务请求中包括服务标识和版本标识;
根据所述服务标识和版本标识,查找对应的路由配置信息;
将所述路由配置信息发送至所述网关,并通过所述网关按照所述路由配置信息发送所述业务请求至对应的目标服务实例;
利用所述目标服务实例对所述业务请求进行处理,得到与所述业务请求对应的结果并返回至所述客户端。
在其中一个实施例中,所述接收客户端通过网关发送的业务请求之前,所述方法还包括:
接收所述客户端通过轮询方式发送的资源获取请求;
获取修改操作对应的更新的服务版本信息;
根据所述资源获取请求,将所述服务版本信息返回至所述客户端,以使得所述客户端根据所述服务版本信息更新内存中的元数据,调用更新后的服务版本。
在其中一个实施例中,所述接收客户端通过网关发送的业务请求之前,所述方法还包括:
接收所述客户端通过轮询方式发送的资源获取请求;
获取修改操作对应的更新的路由配置信息;
根据所述资源获取请求,将所述路由配置信息返回至所述客户端,并储存在所述客户端本地;所述路由配置信息用于指示所述客户端按照所述路由配置信息调用对应的服务实例。
在其中一个实施例中,所述接收客户端通过网关发送的业务请求之前或得到与所述业务请求对应的结果并返回至所述客户端之后,所述方法还包括:
接收所述客户端通过轮询方式发送的资源获取请求;
获取修改操作对应的更新的服务配置信息;所述服务配置信息包括服务之间的调用关系;
根据所述资源获取请求,将所述服务配置信息返回至所述客户端,以使得所述客户端根据所述服务配置信息更新内存中的元数据,并按照更新后的服务之间的调用关系,调用对应的服务实例。
在其中一个实施例中,所述服务配置信息包括与目标服务标识和目标版本标识调用链路信息对应的逻辑函数;
所述利用所述目标服务实例对所述业务请求进行处理包括:
接收所述目标服务实例根据所述业务请求发送的参数获取请求,所述参数获取请求中包括入参;
当所述入参与所述逻辑函数匹配时,根据所述逻辑函数查找所述调用链路信息对应的服务实例信息,所述服务实例信息包括服务实例标识和服务实例版本标识;
将所述服务实例信息发送至所述目标服务实例,以使得所述目标服务实例根据所述服务实例信息调用对应的服务实例。
在其中一个实施例中,所述服务配置信息还包括与服务标识对应的各个版本标识对应的权重比例数据;所述权重比例数据用于根据所述客户端发送的业务请求,按照所述权重比例数据,分配各个版本标识对应的客户端访问流量。
在其中一个实施例中,所述根据所述服务标识和版本标识,查找对应的路由配置信息包括:
根据所述服务标识和版本标识,查找配置中心是否存在与所述服务标识和版本标识对应的路由配置信息;
所述将所述路由配置信息发送至所述网关,包括:
若所述配置中心存在与所述服务标识和版本标识对应的路由配置信息,则将所述路由配置信息发送至所述网关;
若所述配置中心不存在与所述服务标识和版本标识对应的路由配置信息,则获取所述业务请求中携带的路由配置信息,并将所述路由配置信息发送至所述网关。
一种服务灰度发布的控制装置,所述装置包括:
接收模块,用于接收客户端通过网关发送的业务请求,所述业务请求中包括服务标识和版本标识;
查找模块,用于根据所述服务标识和版本标识,查找对应的路由配置信息;
发送模块,用于将所述路由配置信息发送至所述网关,并通过所述网关按照所述路由配置信息发送所述业务请求至对应的目标服务实例;
处理模块,用于利用所述目标服务实例对所述业务请求进行处理,得到与所述业务请求对应的结果并返回至所述客户端。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收客户端通过网关发送的业务请求,所述业务请求中包括服务标识和版本标识;
根据所述服务标识和版本标识,查找对应的路由配置信息;
将所述路由配置信息发送至所述网关,并通过所述网关按照所述路由配置信息发送所述业务请求至对应的目标服务实例;
利用所述目标服务实例对所述业务请求进行处理,得到与所述业务请求对应的结果并返回至所述客户端。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收客户端通过网关发送的业务请求,所述业务请求中包括服务标识和版本标识;
根据所述服务标识和版本标识,查找对应的路由配置信息;
将所述路由配置信息发送至所述网关,并通过所述网关按照所述路由配置信息发送所述业务请求至对应的目标服务实例;
屏、用所述目标服务实例对所述业务请求进行处理,得到与所述业务请求对应的结果并返回至所述客户端。
上述服务灰度发布的控制方法、装置、计算机设备和存储介质,通过接收客户端通过网关发送的业务请求,业务请求中包括服务标识和版本标识。服务器根据服务标识和版本标识,查找对应的路由配置信息,将路由配置信息发送至网关,并通过网关按照路由配置信息发送业务请求至对应的目标服务实例。即可实现利用目标服务实例对业务请求进行处理,并将得到与业务请求对应的结果返回至客户端。由此使得,当需要对微服务集群下的服务实例发布新版本时,只需要在服务器的配置中心更改路由配置信息,即可实现基于不同业务场景动态定制服务灰度发布的调用链路,从而实现访问服务版本的路径改变,避免了重启加载服务配置等一系列的繁琐操作,能够保证服务***更新迭代时的稳定性,同时有效提高服务灰度发布的效率。
附图说明
图1为一个实施例中服务灰度发布的控制方法的应用环境图;
图2为一个实施例中服务灰度发布的控制方法的流程示意图;
图3为一个实施例中获取修改操作对应的更新的服务版本信息步骤的流程示意图;
图4为一个实施例中获取修改操作对应的更新的路由配置信息步骤的流程示意图;
图5为一个实施例中获取修改操作对应的更新的服务配置信息步骤的流程示意图;
图6A为另一个实施例中服务灰度发布的控制方法的流程示意图;
图6B为一个实施例中服务灰度发布控制的时序图;
图7为一个实施例中根据服务标识和版本标识,查找对应的路由配置信息步骤的流程示意图;
图8为一个实施例中服务灰度发布的控制装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的服务灰度发布的控制方法,可以应用于如图1所示的应用环境中。其中,客户端102通过网络与服务器104通过网络进行通信。客户端102可以通过向服务器104发送业务请求,从服务器104获取与业务请求对应的业务处理数据。服务器104接收客户端102通过网关发送的业务请求,业务请求中包括服务标识和版本标识。服务器104根据服务标识和版本标识,查找对应的路由配置信息。服务器104将路由配置信息发送至网关,并通过网关按照路由配置信息发送业务请求至对应的目标服务实例。服务器104利用目标服务实例对业务请求进行处理,服务器104得到与业务请求对应的结果并返回至客户端102。其中,客户端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种服务灰度发布的控制方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,接收客户端通过网关发送的业务请求,业务请求中包括服务标识和版本标识。
终端是一类嵌入式计算机***设备,软件结构可以分为***软件和应用软件。在终端的软件结构中,***软件主要是操作***和中间件,常见的终端操作***有苹果的IOS、谷歌的Android、惠普的WebOS、开源的MeeGo及微软Windows等。在终端的应用软件中,开发人员可以采用微服务架构,围绕着业务领域组件来创建不同业务功能的应用,这些应用可独立地进行开发、管理和更新,在分散的组件中使用微服务云架构和平台,能够使部署、管理和服务功能交付变得更加简单。目前常用的微服务框架主要是Spring Cloud和Dubbo(或者DubboX)。本申请中可以采用Spring Cloud的微服务框架。微服务是一个新兴的软件架构,能够把一个大型的单个应用程序和服务拆分为数十个的支持微服务。微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。使用不同操作***终端设备的用户均可以通过终端中的应用市场界面下载多种类型的应用程序,可以包括***应用程序、桌面应用程序、驱动应用程序、网络应用程序以及物联网应用程序等。从用户使用应用程序不同的业务功能划分,应用程序还可以包括即时通讯应用程序、在线购物应用程序、影音娱乐应用程序等。现有***中服务发布上线或需要升级服务器端应用时,可以采用灰度发布服务的方式。灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在服务版本快速迭代过程中,灰度版本与正式版本可以并存,灰度版本逐步放量到升级正式版,这样服务更新版本发布过程中就不需要停用服务一段时间,而且不同版本之间过渡过程可监控,一旦发现灰度版本有问题,也可以快速回退为原有的正式版的状态。
具体的,用户可以通过在手机应用程序中或浏览器网页中输入用户名和密码的方式,登录特定场景的业务***中,用户可以通过app(Application,应用程序)客户端或web客户端即web浏览器发起特定的业务请求,服务器可以接收到客户端通过网关发送的业务请求,业务请求中包括服务标识和版本标识。其中,客户端或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行。客户端可以包括DNS客户端、web客户端、游戏客户端以及移动客户端等。例如,移动客户端以手机为例,手机客户端就是可以在手机终端运行的软件。业务请求是指用户根据不同需求在不同业务场景***中发起的与业务功能对应的业务请求。网关是指服务网关,用于提供统一的服务入口,服务网关可以包括zuul网关,Zuul是Spring Cloud微服务框架中的微服务API网关。例如,在网上购物应用中,用户可以通过触发操作发起创建订单请求,并通过服务网关发送至服务器。当服务器接收到该客户端通过服务网关发送的创建订单请求时,则服务器可以根据创建订单请求中的服务标识和版本标识,从服务注册中心获取当前可用的服务清单,调用对应的服务实例。服务器上可以预先部署服务注册中心以及服务配置中心,所有服务都注册到服务注册中心,同时也可以从服务注册中心获取当前可用的服务清单。服务配置中心用于对服务***中的所有服务进行统一管理。例如,Nacos是一个新开源项目,其核心定位是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,开发人员可以通过修改Nacos中的配置信息,动态更新配置机制。其中,服务标识是用于标识唯一的服务,版本标识是指在服务***中采用灰度发布的同一服务对应的不同的版本信息,版本信息可以包括正式版本和灰度版本。比如,某个购物应用程序中的已创建的微服务为订单服务即“Order Service”,开发人员可以不断优化更新订单服务的功能,可以在服务***中发布更新的灰度版本的订单服务1.1版本以及订单服务1.2版本等。
步骤204,根据服务标识和版本标识,查找对应的路由配置信息。
服务器接收到客户端通过网关发送的业务请求之后,服务器可以根据与业务请求对应的服务标识和版本标识,从服务配置中心查找与业务请求所调用的服务对应的路由配置信息。其中,路由配置信息是指调用服务的路径信息,即一个业务按照服务之间的调用顺序配置的全链路信息。路由配置信息中可以包括服务之间的调用链路信息。例如,服务器接收到客户端通过网关发送的订单请求之后,服务器可以根据与订单请求对应的服务标识和版本标识,从服务配置中心查找调用服务对应的路由配置信息。假设创建一个订单,在这个过程中需要读取“Customer”客户服务中的数据和“Product”产品服务中的数据。即服务器根据该客户端发送的创建订单请求,查找到调用服务对应的路径配置信息为调用订单服务“Order Service”,订单服务在处理该客户端发送的业务请求时,还需要调用客户服务和产品服务,即订单服务通过调用客户服务和产品服务,获取客户服务和产品服务中对应的数据。在服务配置中心中可以预先设置某个业务请求所调用服务对应的路由配置信息,例如,服务配置中心的配置界面中,开发人员可以预先设置对应的路由规则或者也可以输入配置信息为:service:route:version:{guide-svc-a:1.0,guide-svc-b:1.1},则当服务器接收到该客户端通过服务网关发送的业务请求时,服务器可以根据服务标识和版本标识,查找到与该客户端发送的业务请求所调用服务对应的路由配置信息为SvcA1.0→SvcB1.1,即服务网关将该业务请求转发至服务A进行处理,服务A在处理该业务请求时,还需要调用服务B的1.1版本,服务B1.1版本为灰度版本。
步骤206,将路由配置信息发送至网关,并通过网关按照路由配置信息发送业务请求至对应的目标服务实例。
服务器根据服务标识和版本标识,查找对应的路由配置信息之后,服务器将查找到的路由配置信息发送至服务网关,并通过服务网关按照路由配置信息发送业务请求至对应的目标服务实例。其中,目标服务实例是指从多个服务实例中,按照预设路由规则或路由配置信息选取的其中一个服务实例作为目标服务实例,比如服务B对应的服务实例可以包括一个正式版的服务B1.0和灰度版的服务B1.1。此外,当一个Web服务***从日访问量10万逐步增长到1000万时,则可以通过部署具有负载均衡功能或模块等软件将客户端发送的业务请求,转发至对应的目标服务端端地址。负载均衡是对***的高可用、网络压力的缓解和处理能力扩容的重要手段之一。负载均衡是指服务端负载均衡,分为硬件负载均衡和软件负载均衡。硬件负载均衡主要通过在服务器节点之间按照专门用于负载均衡的设备,而软件负载均衡则是通过在服务器上安装一些用于负载均衡功能或模块等软件来完成请求分发工作,比如Nginx,Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,可以通过Nginx快速调整新旧版本的运行副本数量,同时也可以按百分比,将流量导入到新版本上。此外,还可以通过匹配HTTP Header,指定个别用户的流量到新版本上。例如,客户端可以通过http请求方式调用服务,Nginx即反向代理web服务器接收到客户端发送的业务请求后,按照预设配置规则或算法(比如线性轮询、按权重负载、按流量负载等)从维护的可用服务端清单中获取可用的服务对应的一个服务端端地址,将该客户端发送的业务请求转发至该服务端端地址。
步骤208,利用目标服务实例对业务请求进行处理,得到与业务请求对应的结果并返回至客户端。
服务器将查找到的路由配置信息发送至服务网关,并通过服务网关按照路由配置信息发送业务请求至对应的目标服务实例之后,服务器利用目标服务实例对业务请求进行处理,得到与业务请求对应的结果并返回至客户端。其中,目标服务实例对客户端发送的业务请求进行处理时,可能会同时调用其他服务。例如,用户在购物界面中选好商品之后,用户通过点击按钮进行付款“Checkout”,生成对应的订单“Order”,“Checkout”和“Order”都是已构建的微服务。服务之间的调用可以通过RPC方式和事件通知方式完成。当“Order”服务对客户端发送的业务请求进行处理时,“Order”服务还需要调用其他几个服务来协助完成整个功能。当“Checkout”服务完成之后发送“Order Placed”消息,“Payment”服务收到该消息后,接收用户付款,发送“Payment received”消息,即“Order”服务通过调用其他服务对该客户端业务请求进行处理,完成收款订货的业务请求,并将该业务请求对应的处理结果返回至对应的客户端。
传统的灰度发布服务方式中,首先要在***的二级负载(即nginx服务器集群)中更改配置,并下载相关配置,还需要通过网关进行第二次分发,将服务调用请求路由到下游服务。当***中涉及灰度服务时,无论上下游服务是否灰度,都必须将整条调用服务链路重新设置发布新实例,无法实现服务间的版本路由。
本实施例中,通过接收客户端通过网关发送的业务请求,业务请求中包括服务标识和版本标识。服务器根据服务标识和版本标识,查找对应的路由配置信息,将路由配置信息发送至网关,并通过网关按照路由配置信息发送业务请求至对应的目标服务实例。即可实现利用目标服务实例对业务请求进行处理,并将得到与业务请求对应的结果返回至客户端。由此使得,当需要对微服务集群下的实例发布新版本时,只需要在服务器的配置中心更改路由配置信息,即可实现基于不同业务场景特色动态定制微服务灰度发布的调用链路,达到访问微服务版本的路径改变,无须重启加载服务等繁琐操作,能够保证***更新迭代时的稳定性,同时有效的提高了服务灰度发布效率。
在一个实施例中,如图3所示,接收客户端通过网关发送的业务请求之前,该方法还包括获取修改操作对应的更新的服务版本信息的步骤,具体包括:
步骤302,接收客户端通过轮询方式发送的资源获取请求。
步骤304,获取修改操作对应的更新的服务版本信息。
步骤306,根据资源获取请求,将服务版本信息返回至客户端,以使得客户端根据服务版本信息更新内存中的元数据,调用更新后的服务版本。
服务器接收客户端通过网关发送的业务请求之前,如果开发人员需要对某个服务***中的服务进行更新,发布灰度服务时,开发人员可以在服务器上部署的服务配置中心界面中,更新不同服务对应的版本信息。具体的,服务器可以接收客户端通过轮询方式发送的资源获取请求,客户端可以通过采用短轮询的方式,即客户端定时发送http请求。客户端也可以通过采用长轮询的方式,即客户端发送请求至服务器,直到接收到服务器返回的消息或者请求超时后客户端继续发送下一个请求。例如,针对某个即时通讯应用程序,开发人员在服务配置中心界面中更新了服务A对应的灰度版本A1.2,开发人员可以输入配置信息为:cloud:nacos:discovery:metadata:version:1.2。当服务器接收到客户端通过轮询方式发送的资源获取请求时,服务器可以获取上述开发人员修改操作对应的更新的服务版本信息为A1.2,则服务器根据客户端发送的资源获取请求,将更新后的服务版本信息返回至对应的客户端,以使得客户端根据更新后的服务版本信息更新内存中的元数据,调用更新后的服务版本,即调用更新后的服务A的A1.2版本。由此使得,能够实现动态改变微服务版本,无需重启微服务加载更新配置,也不需要在nginx服务器集群中更改配置,再通过网关进行第二次分发,避免了将一个业务对应的整条调用服务链路进行重新设置发布等一系列的繁琐操作,可以直接通过变更服务版本,达到访问服务版本的路径改变,从而有效的提高了服务灰度发布效率。
在一个实施例中,如图4所示,接收客户端通过网关发送的业务请求之前,该方法还包括获取修改操作对应的更新的路由配置信息的步骤,具体包括:
步骤402,接收客户端通过轮询方式发送的资源获取请求。
步骤404,获取修改操作对应的更新的路由配置信息。
步骤406,根据资源获取请求,将路由配置信息返回至客户端,并储存在客户端本地,路由配置信息用于指示客户端按照路由配置信息调用对应的服务实例。
服务器接收客户端通过网关发送的业务请求之前,在灰度服务发布之后,测试人员可以设置先启动一个新版本应用,但是并不是直接将用户流量全部导入,而是测试人员对新版本进行线上测试,如果新本版应用运行没有问题,开发人员可以将少量的用户流量导入到新版本上,即开发人员可以对少量用户调用服务的链路信息进行变更,开发人员可以继续对新版本的运行状态观察,收集各种运行时的数据,也可以对新旧版本的各种数据进行对比,进行A/B测试。当确认新版本运行良好后,再逐步将更多的流量导入到新版本上,在此期间,还可以不断地调整新旧两个版本的运行的服务器副本数量,以使得新版本能够承受越来越大的流量压力,直到将100%的流量都切换到新版本上,最后关闭剩下的老版本服务,完成灰度发布。具体的,当开发人员确认灰度发布的新版本运行良好后,开发人员可以逐步将更多的流量导入到新版本上,即开发人员在服务配置中心界面中修改部分用户端调用新版本的服务,开发人员可以输入配置信息为:account:route:version:{mwp-token:1.1}accountIds:FD80DE,AE587,则当服务器接收客户端通过轮询方式发送的资源获取请求时,例如,客户端可以通过发送http请求的方式获取更新后的配置数据,则服务器可以获取上述开发人员输入的修改操作对应的更新的路由配置信息。服务器根据接收到的客户端发送的资源获取请求,将该路由配置信息返回至该客户端,并储存在客户端本地。当客户端下一次发起该业务请求时,则该客户端可以按照本地中储存的更新后的路由配置信息调用对应的服务实例,即该客户端调用服务对应的路由配置信息由原来服务A的1.0版本变更为服务A的1.1版本,其中SvcA1.1为服务A的灰度版本。由此使得,如果在灰度发布过程中(灰度期)发现了新版本存在问题,通过动态实时更新配置机制,各个服务通过轮询的方式请求获取实时更新的配置信息,无需将整条业务的链路服务下线,即可实现动态将流量切回老版本,可以将灰度发布的负面影响控制在最小范围内,保证服务***更新迭代时的稳定性,同时有效提高了服务灰度发布的效率。
在一个实施例中,如图5所示,接收客户端通过网关发送的业务请求之前或得到与业务请求对应的结果并返回至客户端之后,该方法还包括获取修改操作对应的更新的服务配置信息的步骤,具体包括:
步骤502,接收客户端通过轮询方式发送的资源获取请求。
步骤504,获取修改操作对应的更新的服务配置信息,服务配置信息包括服务之间的调用关系。
步骤506,根据资源获取请求,将服务配置信息返回至客户端,以使得客户端根据服务配置信息更新内存中的元数据,并按照更新后的服务之间的调用关系,调用对应的服务实例。
服务器接收到客户端通过网关发送的业务请求之前或者服务器将客户端上一次发送的业务请求对应的结果返回至客户端之后,开发人员还可以在服务配置中心界面中修改每个服务对应的配置信息,服务配置信息包括服务之间的调用关系。例如,目前服务A的A1.0版本对应的配置项为SvcA1.0→SvcB1.0,即服务之间的调用关系为服务A1.0调用服务B1.0。当开发人员确认灰度发布的新版本服务B的B1.1版本运行良好之后,则开发人员可以在服务配置中心界面中修改服务A对应的配置项,即开发人员在服务配置中心界面中修改服务A与其他服务之间的调用关系,开发人员可以输入配置信息为:service:route:version:{guide-svc-a:1.0,guide-svc-b:1.1},则当服务器接收客户端通过轮询方式发送的资源获取请求时,服务器可以获取上述开发人员输入的修改操作对应的更新的服务配置信息。服务器根据接收到的客户端发送的资源获取请求,将更新后的服务配置信息返回至该客户端,以使得客户端根据更新后的服务配置信息更新内存中的元数据。当客户端下一次发起相同的业务请求时,则服务A1.0可以按照更新后的路由配置信息调用对应的服务实例B1.1,即A服务对应的路由配置信息由原来的SvcA1.0→SvcB1.0变更为SvcA1.0→SvcB1.1,其中SvcB1.1为服务B的灰度版本。由此使得,在此业务场景特色下,通过修改服务A对应的配置信息,并通过推送服务A调用某个版本服务的对应关系的配置信息,实现不同业务场景下的灰度控制,当需要变更服务之间的路由关系时,通过变更服务配置信息,再次推送更新后的配置信息即可,能够保证服务***更新迭代时的稳定性,同时有效提高服务灰度发布的效率。
在一个实施例中,如图6A所示,提供了一种服务灰度发布的控制方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤602,接收客户端通过网关发送的业务请求,业务请求中包括服务标识和版本标识。
步骤604,根据服务标识和版本标识,查找对应的路由配置信息。
步骤606,将路由配置信息发送至网关,并通过网关按照路由配置信息发送业务请求至对应的目标服务实例。
步骤608,接收目标服务实例根据业务请求发送的参数获取请求,参数获取请求中包括入参。
步骤610,当入参与逻辑函数匹配时,根据逻辑函数查找调用链路信息中对应的服务实例信息,服务实例信息包括服务实例标识和服务实例版本标识。
步骤612,将服务实例信息发送至目标服务实例,以使得目标服务实例根据服务实例信息调用对应的服务实例,得到与业务请求对应的结果并返回至客户端。
当开发人员需要对现有服务***中的服务A和服务B进行更新,发布灰度服务时,开发人员可以在服务器上部署的服务配置中心界面中,更新服务A和服务B对应的版本信息以及服务配置信息。在服务A和服务B的灰度版本发布之后,测试人员需要对服务A和服务B对应的新版本进行线上测试,如果新本版应用运行没有问题,开发人员可以将少量的用户流量导入到新版本上,即开发人员可以对少量用户调用服务的链路信息进行变更,开发人员可以继续对新版本的运行状态观察,收集各种运行时的数据。当测试人员确认新版本运行良好后,再逐步将更多的流量导入到新版本上。具体的,如图6B所示,提供了某个业务场景下服务灰度发布控制的时序图。开发人员可以直接在服务配置中心界面中更新服务A和服务B对应的新版本为SvcA1.1和SvcB1.1,同时修改服务A对应的配置信息,开发人员可以在服务配置中心界面中输入配置信息为:service:route:version:{guide-svc-a:1.1,guide-svc-b:1.1},即服务A对应的路由配置信息由原来的SvcA1.0→SvcB1.0变更为SvcA1.1→SvcB1.1,其中SvcA1.1为服务A的灰度版本,SvcB1.1为服务B的灰度版本。
当服务器接收到客户端通过网关发送的业务请求时,服务器根据业务请求中的服务标识和版本标识,从服务配置中心查找对应的路由配置信息为SvcA1.1→SvcB1.1。服务器将该路由配置信息发送至服务网关,并通过服务网关按照该路由配置信息发送业务请求至对应的目标服务实例SvcA1.1。当目标服务实例SvcA1.1接收到客户端发送的业务请求后,服务SvcA1.1对该业务请求进行处理。在服务SvcA1.1处理过程中,服务SvcA1.1可以向服务器发送与该业务请求对应的参数获取请求,服务器接收服务SvcA1.1根据业务请求发送的参数获取请求,该参数获取请求中包括入参。服务器从服务配置中心查找与该入参匹配的逻辑函数,当服务器查找到与该入参匹配的逻辑函数时,则服务器根据匹配的逻辑函数查找服务A调用链路信息中包含的服务实例信息,服务实例信息包括服务实例标识和服务实例版本标识。即服务器根据匹配的逻辑函数查找服务A调用链路信息对应的服务实例信息为SvcB1.1,则服务器将该服务实例信息SvcB1.1发送至服务SvcA1.1,以使得服务SvcA1.1调用服务SvcB1.1协同处理客户端发送的业务请求,服务SvcA1.1和服务SvcB1.1对该业务请求处理完毕后,得到与该业务请求对应的结果,服务器将该业务处理结果返回至对应的客户端。由此使得,即可实现基于不同业务场景特色动态定制微服务灰度发布的调用链路,达到从而实现访问微服务版本的路径改变,无须避免了重启加载服务配置等一系列的繁琐操作,能够保证服务***更新迭代时的稳定性,同时有效提高服务灰度发布的效率。
在其中一个实施例中,服务配置信息还包括与服务标识对应的各个版本标识对应的权重比例数据,权重比例数据用于根据客户端发送的业务请求,按照权重比例数据,分配各个版本标识对应的客户端访问流量。具体的,开发人员在灰度服务发布之后,并不是直接将客户端访问流量全部导入,而是测试人员对灰度发布的新版本进行线上测试,当开发人员确认灰度发布的新版本运行良好之后,开发人员需要再逐步将更多的流量导入到新版本上。在此期间,开发人员还可以不断地调整新旧两个版本的运行的服务器副本数量,以使得新版本能够承受越来越大的流量压力,直到将100%的流量都切换到新版本上,最后关闭剩下的老版本服务,完成灰度发布。因此,开发人员还可以在服务配置中心修改每个服务配置信息中的权重比例数据,即分配不同流量比例至不同版本的服务实例。例如,开发人员可以修改服务A和服务B对应的不同版本的权重比例数据,即开发人员可以在服务配置中心界面中设置对应的路由规则或者输入配置信息为:service:route:version:{guide-svc-a:1.0=90;2.0=10,guide-svc-b:1.0=80;2.0=20},即服务A的1.0版本和1.1版本,分别占总流量的90%和10%;服务B的1.0版本和1.1版本,分别占总流量的80%和20%。此外,也可以通过具有负载均衡功能的软件或模块,例如Nginx代理服务器来完成不同版本的流量分配工作。由此使得,在多版本服务的灰度控制场景中,根据不同需求,分配权重(流量比例)至不同版本的服务,使得服务A访问服务B的流量可以在B1.0版本和B1.1版本之间进行动态调拨,能够保证服务***更新迭代时的稳定性,同时有效提高服务灰度发布的效率。
在一个实施例中,如图7所示,根据服务标识和版本标识,查找对应的路由配置信息的步骤包括:
步骤702,根据服务标识和版本标识,查找配置中心是否存在与服务标识和版本标识对应的路由配置信息。
步骤704,若配置中心存在与服务标识和版本标识对应的路由配置信息,则将路由配置信息发送至网关。
步骤706,若配置中心不存在与服务标识和版本标识对应的路由配置信息,则获取业务请求中携带的路由配置信息,并将路由配置信息发送至网关。
当服务器接收到客户端通过网关发送的业务请求之后,服务器可以根据业务请求中的服务标识和版本标识,查找与该业务请求对应的路由配置信息。具体的,服务器可以根据业务请求中服务标识和版本标识,查找配置中心是否存在与服务标识和版本标识对应的路由配置信息。若配置中心存在与服务标识和版本标识对应的路由配置信息,则服务器将该路由配置信息发送至网关,网关可以将该路由配置信息储存在网关本地中,当下一次接收到该客户端发送的相同的业务请求时,则网关无需从服务配置中心获取对应的路由配置信息,网关可以直接根据本地中已储存的路由配置信息,将该客户端发送的业务请求转发至对应的服务实例进行处理,能够有效减少请求交互的繁琐流程。若服务器在配置中心没有查找到与服务标识和版本标识对应的路由配置信息,则服务器可以获取客户端发送的业务请求中携带的路由配置信息,服务器将从客户端发送的http请求中携带的路由配置信息发送至网关。其中,客户端可以通过http请求的方式获取业务处理的结果,可以在请求头即http的header中添加路由规则参数或者携带相关服务版本信息。例如,可以利用addHeader方法,设置key为服务名,value为版本,比如:addHeader(“svc-a”,“1.0”)。由此使得,在多版本服务的灰度控制场景中,优先获取配置中心变更的路由配置信息,能够保证对所有服务的统一管理,若配置中心读取不到对应的配置,也可以根据客户端的header参数进行设置,能够保证服务***更新迭代时的稳定性,同时有效提高服务灰度发布的效率。
应该理解的是,虽然图1-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种服务灰度发布的控制装置,包括:接收模块802、查找模块804、发送模块806和处理模块808,其中:
接收模块802,用于接收客户端通过网关发送的业务请求,业务请求中包括服务标识和版本标识。
查找模块804,用于根据服务标识和版本标识,查找对应的路由配置信息。
发送模块806,用于将路由配置信息发送至网关,并通过网关按照路由配置信息发送业务请求至对应的目标服务实例。
处理模块808,用于利用目标服务实例对业务请求进行处理,得到与业务请求对应的结果并返回至客户端。
在一个实施例中,该装置还包括:获取模块和返回模块。
接收模块还用于接收客户端通过轮询方式发送的资源获取请求。获取模块用于获取修改操作对应的更新的服务版本信息。返回模块用于根据资源获取请求,将服务版本信息返回至客户端,以使得客户端根据服务版本信息更新内存中的元数据,调用更新后的服务版本。
在一个实施例中,该装置还包括:储存模块。
接收模块还用于接收客户端通过轮询方式发送的资源获取请求。获取模块还用于获取修改操作对应的更新的路由配置信息。储存模块用于根据资源获取请求,将路由配置信息返回至客户端,并储存在客户端本地,路由配置信息用于指示客户端按照路由配置信息调用对应的服务实例。
在一个实施例中,接收模块还用于接收客户端通过轮询方式发送的资源获取请求。获取模块还用于获取修改操作对应的更新的服务配置信息,服务配置信息包括服务之间的调用关系。返回模块还用于根据资源获取请求,将服务配置信息返回至客户端,以使得客户端根据服务配置信息更新内存中的元数据,并按照更新后的服务之间的调用关系,调用对应的服务实例。
在一个实施例中,该装置还包括:查找模块。
接收模块还用于接收目标服务实例根据业务请求发送的参数获取请求,参数获取请求中包括入参。查找模块用于当入参与逻辑函数匹配时,根据逻辑函数查找调用链路信息中对应的服务实例信息,服务实例信息包括服务实例标识和服务实例版本标识。发送模块还用于将服务实例信息发送至目标服务实例,以使得目标服务实例根据服务实例信息调用对应的服务实例。
在一个实施例中,该装置还包括:分配模块。
分配模块用于根据客户端发送的业务请求,按照权重比例数据,分配各个版本标识对应的客户端访问流量。
在一个实施例中,查找模块还用于根据服务标识和版本标识,查找配置中心是否存在与服务标识和版本标识对应的路由配置信息;若配置中心存在与服务标识和版本标识对应的路由配置信息,则将路由配置信息发送至网关;若配置中心不存在与服务标识和版本标识对应的路由配置信息,则获取业务请求中携带的路由配置信息,并将路由配置信息发送至网关。
关于服务灰度发布的控制装置的具体限定可以参见上文中对于服务灰度发布的控制方法的限定,在此不再赘述。上述服务灰度发布的控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储调用服务灰度发布的路由配置数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种服务灰度发布的控制方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各个方法实施例的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种服务灰度发布的控制方法,所述方法包括:
接收客户端通过网关发送的业务请求,所述业务请求中包括服务标识和版本标识;
根据所述服务标识和版本标识,查找对应的路由配置信息;
将所述路由配置信息发送至所述网关,并通过所述网关按照所述路由配置信息发送所述业务请求至对应的目标服务实例;
利用所述目标服务实例对所述业务请求进行处理,得到与所述业务请求对应的结果并返回至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述接收客户端通过网关发送的业务请求之前,所述方法还包括:
接收所述客户端通过轮询方式发送的资源获取请求;
获取修改操作对应的更新的服务版本信息;
根据所述资源获取请求,将所述服务版本信息返回至所述客户端,以使得所述客户端根据所述服务版本信息更新内存中的元数据,调用更新后的服务版本。
3.根据权利要求1所述的方法,其特征在于,所述接收客户端通过网关发送的业务请求之前,所述方法还包括:
接收所述客户端通过轮询方式发送的资源获取请求;
获取修改操作对应的更新的路由配置信息;
根据所述资源获取请求,将所述路由配置信息返回至所述客户端,并储存在所述客户端本地;所述路由配置信息用于指示所述客户端按照所述路由配置信息调用对应的服务实例。
4.根据权利要求1所述的方法,其特征在于,所述接收客户端通过网关发送的业务请求之前或得到与所述业务请求对应的结果并返回至所述客户端之后,所述方法还包括:
接收所述客户端通过轮询方式发送的资源获取请求;
获取修改操作对应的更新的服务配置信息;所述服务配置信息包括服务之间的调用关系;
根据所述资源获取请求,将所述服务配置信息返回至所述客户端,以使得所述客户端根据所述服务配置信息更新内存中的元数据,并按照更新后的服务之间的调用关系,调用对应的服务实例。
5.根据权利要求4所述的方法,其特征在于,所述服务配置信息包括与目标服务标识和目标版本标识调用链路信息对应的逻辑函数;
所述利用所述目标服务实例对所述业务请求进行处理包括:
接收所述目标服务实例根据所述业务请求发送的参数获取请求,所述参数获取请求中包括入参;
当所述入参与所述逻辑函数匹配时,根据所述逻辑函数查找所述调用链路信息对应的服务实例信息,所述服务实例信息包括服务实例标识和服务实例版本标识;
将所述服务实例信息发送至所述目标服务实例,以使得所述目标服务实例根据所述服务实例信息调用对应的服务实例。
6.根据权利要求5所述的方法,其特征在于,所述服务配置信息还包括与服务标识对应的各个版本标识对应的权重比例数据;所述权重比例数据用于根据所述客户端发送的业务请求,按照所述权重比例数据,分配各个版本标识对应的客户端访问流量。
7.根据权利要求1所述的方法,其特征在于,所述根据所述服务标识和版本标识,查找对应的路由配置信息包括:
根据所述服务标识和版本标识,查找配置中心是否存在与所述服务标识和版本标识对应的路由配置信息;
所述将所述路由配置信息发送至所述网关,包括:
若所述配置中心存在与所述服务标识和版本标识对应的路由配置信息,则将所述路由配置信息发送至所述网关;
若所述配置中心不存在与所述服务标识和版本标识对应的路由配置信息,则获取所述业务请求中携带的路由配置信息,并将所述路由配置信息发送至所述网关。
8.一种服务灰度发布的控制装置,其特征在于,所述装置包括:
接收模块,用于接收客户端通过网关发送的业务请求,所述业务请求中包括服务标识和版本标识;
查找模块,用于根据所述服务标识和版本标识,查找对应的路由配置信息;
发送模块,用于将所述路由配置信息发送至所述网关,并通过所述网关按照所述路由配置信息发送所述业务请求至对应的目标服务实例;
处理模块,用于利用所述目标服务实例对所述业务请求进行处理,得到与所述业务请求对应的结果并返回至所述客户端。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010735313.7A CN112000348A (zh) | 2020-07-28 | 2020-07-28 | 服务灰度发布的控制方法、装置、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010735313.7A CN112000348A (zh) | 2020-07-28 | 2020-07-28 | 服务灰度发布的控制方法、装置、计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112000348A true CN112000348A (zh) | 2020-11-27 |
Family
ID=73467897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010735313.7A Pending CN112000348A (zh) | 2020-07-28 | 2020-07-28 | 服务灰度发布的控制方法、装置、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112000348A (zh) |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112202929A (zh) * | 2020-12-01 | 2021-01-08 | 湖南新云网科技有限公司 | 一种微服务架构中的服务访问方法、装置、设备 |
CN112463251A (zh) * | 2020-12-03 | 2021-03-09 | 中国建设银行股份有限公司 | 一种uliweb框架配置热发布的方法和装置 |
CN112506559A (zh) * | 2020-12-14 | 2021-03-16 | 招商局金融科技有限公司 | 基于网关的灰度发布方法、装置、电子设备及存储介质 |
CN112565469A (zh) * | 2021-02-23 | 2021-03-26 | 常州微亿智造科技有限公司 | 对微服务实现动态灰度策略的方法及微服务*** |
CN112632032A (zh) * | 2020-12-18 | 2021-04-09 | 华人运通(上海)云计算科技有限公司 | 一种数据迁移方法、装置、存储介质及终端设备 |
CN112685075A (zh) * | 2020-12-31 | 2021-04-20 | 五八有限公司 | 灰度发布方法、装置、电子设备和计算机可读介质 |
CN112685287A (zh) * | 2020-11-30 | 2021-04-20 | 青岛海尔科技有限公司 | 产品数据的测试方法、装置、存储介质及电子装置 |
CN112737942A (zh) * | 2020-12-24 | 2021-04-30 | 深圳市彬讯科技有限公司 | 服务路由切换方法、装置、设备及介质 |
CN112764765A (zh) * | 2021-01-21 | 2021-05-07 | 中信银行股份有限公司 | 一种应用灰度发布方法、***及计算机可读存储介质 |
CN112905210A (zh) * | 2021-03-24 | 2021-06-04 | 青岛聚看云科技有限公司 | 服务器及灰度发布方法 |
CN112995269A (zh) * | 2020-12-10 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 数据处理方法、计算机设备以及可读存储介质 |
CN113254063A (zh) * | 2021-06-30 | 2021-08-13 | 四川新网银行股份有限公司 | 一种灰度验证过滤器及过滤方法 |
CN113282602A (zh) * | 2021-06-18 | 2021-08-20 | 北京奇艺世纪科技有限公司 | 一种业务请求方法及装置 |
CN113301161A (zh) * | 2021-05-28 | 2021-08-24 | 平安科技(深圳)有限公司 | 应用服务的无缝升级方法、装置、设备及存储介质 |
CN113377423A (zh) * | 2021-06-22 | 2021-09-10 | 京东方科技集团股份有限公司 | 提供服务的方法、装置及电子设备 |
CN113422732A (zh) * | 2021-06-22 | 2021-09-21 | 康键信息技术(深圳)有限公司 | 基于全站灰度的版本更新方法、装置、设备及存储介质 |
CN113452776A (zh) * | 2021-06-25 | 2021-09-28 | 中国工商银行股份有限公司 | PaaS平台服务调度方法、装置及PaaS平台 |
CN113489788A (zh) * | 2021-07-06 | 2021-10-08 | 广州华多网络科技有限公司 | 数据路由控制、数据分析处理方法及装置、设备、介质 |
CN113518119A (zh) * | 2021-05-25 | 2021-10-19 | 深圳壹账通智能科技有限公司 | ABTest的服务分发方法、装置、设备及存储介质 |
CN113641400A (zh) * | 2021-08-10 | 2021-11-12 | 广州鲁邦通智能科技有限公司 | 一种多版本服务共用微服务公共资源的方法、api网关和管理*** |
CN113676549A (zh) * | 2021-09-02 | 2021-11-19 | 京东科技信息技术有限公司 | 应用请求的分流方法及应用网关、电子设备、存储介质 |
CN113791799A (zh) * | 2021-01-06 | 2021-12-14 | 北京沃东天骏信息技术有限公司 | ***升级方法及装置、计算机可读存储介质、电子设备 |
CN113791805A (zh) * | 2021-09-17 | 2021-12-14 | 马上消费金融股份有限公司 | 微服务灰度发布方法及装置 |
CN113992559A (zh) * | 2021-11-01 | 2022-01-28 | 腾讯科技(深圳)有限公司 | 消息处理方法、装置、设备及计算机可读存储介质 |
CN114138325A (zh) * | 2021-11-24 | 2022-03-04 | 聚好看科技股份有限公司 | 一种灰度发布方法和装置 |
CN114153526A (zh) * | 2021-12-01 | 2022-03-08 | 北京百度网讯科技有限公司 | 基于代理的灰度配置方法、装置、电子设备和介质 |
CN114338763A (zh) * | 2021-12-20 | 2022-04-12 | 深圳Tcl新技术有限公司 | 微服务调用方法、装置、服务器与计算机可读存储介质 |
CN114422440A (zh) * | 2022-03-28 | 2022-04-29 | 北京沃丰时代数据科技有限公司 | 灰度发布方法、装置、电子设备及存储介质 |
CN114650293A (zh) * | 2020-12-17 | 2022-06-21 | 中移(苏州)软件技术有限公司 | 一种流量分流的方法、装置、终端和计算机存储介质 |
CN114726919A (zh) * | 2022-03-22 | 2022-07-08 | 新华三大数据技术有限公司 | 灰度流量控制的方法、装置、计算机设备及存储介质 |
CN114827282A (zh) * | 2022-03-30 | 2022-07-29 | 阿里云计算有限公司 | 服务路由方法、装置、设备和存储介质 |
CN115002227A (zh) * | 2022-05-19 | 2022-09-02 | 青岛海尔科技有限公司 | 用户访问请求响应方法、存储介质及电子设备 |
CN115250233A (zh) * | 2022-09-22 | 2022-10-28 | 中邮消费金融有限公司 | 一种灰度路由控制方法、灰度路由组件及计算机设备 |
CN115499480A (zh) * | 2022-09-19 | 2022-12-20 | 深圳依时货拉拉科技有限公司 | 数据处理方法、电子设备以及存储介质 |
CN116319514A (zh) * | 2023-05-22 | 2023-06-23 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和相关装置 |
CN116594678A (zh) * | 2023-07-18 | 2023-08-15 | 太平金融科技服务(上海)有限公司 | 开发联调隔离方法、装置、计算机设备、存储介质 |
CN116860381A (zh) * | 2023-09-04 | 2023-10-10 | 厦门民航凯亚有限公司 | 一种可视化微服务灰度发布的方法 |
CN117170718A (zh) * | 2023-11-02 | 2023-12-05 | 绿城科技产业服务集团有限公司 | 基于微服务架构的灰度发布方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282468A1 (en) * | 2013-03-15 | 2014-09-18 | Microsoft Corporation | Local store data versioning |
CN105099988A (zh) * | 2014-04-24 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 用于支持灰度发布的方法、访问方法以及装置和*** |
WO2017071425A1 (zh) * | 2015-10-29 | 2017-05-04 | 腾讯科技(深圳)有限公司 | 版本更新方法及装置 |
CN109739552A (zh) * | 2019-01-04 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 微服务灰度发布方法、装置、计算机设备和存储介质 |
-
2020
- 2020-07-28 CN CN202010735313.7A patent/CN112000348A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282468A1 (en) * | 2013-03-15 | 2014-09-18 | Microsoft Corporation | Local store data versioning |
CN105099988A (zh) * | 2014-04-24 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 用于支持灰度发布的方法、访问方法以及装置和*** |
WO2017071425A1 (zh) * | 2015-10-29 | 2017-05-04 | 腾讯科技(深圳)有限公司 | 版本更新方法及装置 |
CN109739552A (zh) * | 2019-01-04 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 微服务灰度发布方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
杨俊伟;纪鑫;胡强新;: "基于微服务架构的电力云服务平台", 电力信息与通信技术, no. 01, 15 January 2017 (2017-01-15) * |
Cited By (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685287A (zh) * | 2020-11-30 | 2021-04-20 | 青岛海尔科技有限公司 | 产品数据的测试方法、装置、存储介质及电子装置 |
CN112685287B (zh) * | 2020-11-30 | 2023-11-28 | 青岛海尔科技有限公司 | 产品数据的测试方法、装置、存储介质及电子装置 |
CN112202929B (zh) * | 2020-12-01 | 2021-03-26 | 湖南新云网科技有限公司 | 一种微服务架构中的服务访问方法、装置、设备 |
CN112202929A (zh) * | 2020-12-01 | 2021-01-08 | 湖南新云网科技有限公司 | 一种微服务架构中的服务访问方法、装置、设备 |
CN112463251A (zh) * | 2020-12-03 | 2021-03-09 | 中国建设银行股份有限公司 | 一种uliweb框架配置热发布的方法和装置 |
CN112995269A (zh) * | 2020-12-10 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 数据处理方法、计算机设备以及可读存储介质 |
CN112995269B (zh) * | 2020-12-10 | 2022-01-11 | 腾讯科技(深圳)有限公司 | 数据处理方法、计算机设备以及可读存储介质 |
CN112506559A (zh) * | 2020-12-14 | 2021-03-16 | 招商局金融科技有限公司 | 基于网关的灰度发布方法、装置、电子设备及存储介质 |
CN112506559B (zh) * | 2020-12-14 | 2024-02-06 | 招商局金融科技有限公司 | 基于网关的灰度发布方法、装置、电子设备及存储介质 |
CN114650293A (zh) * | 2020-12-17 | 2022-06-21 | 中移(苏州)软件技术有限公司 | 一种流量分流的方法、装置、终端和计算机存储介质 |
CN114650293B (zh) * | 2020-12-17 | 2024-02-23 | 中移(苏州)软件技术有限公司 | 一种流量分流的方法、装置、终端和计算机存储介质 |
CN112632032A (zh) * | 2020-12-18 | 2021-04-09 | 华人运通(上海)云计算科技有限公司 | 一种数据迁移方法、装置、存储介质及终端设备 |
CN112737942A (zh) * | 2020-12-24 | 2021-04-30 | 深圳市彬讯科技有限公司 | 服务路由切换方法、装置、设备及介质 |
CN112737942B (zh) * | 2020-12-24 | 2022-06-03 | 土巴兔集团股份有限公司 | 服务路由切换方法、装置、设备及介质 |
CN112685075A (zh) * | 2020-12-31 | 2021-04-20 | 五八有限公司 | 灰度发布方法、装置、电子设备和计算机可读介质 |
CN113791799A (zh) * | 2021-01-06 | 2021-12-14 | 北京沃东天骏信息技术有限公司 | ***升级方法及装置、计算机可读存储介质、电子设备 |
CN112764765A (zh) * | 2021-01-21 | 2021-05-07 | 中信银行股份有限公司 | 一种应用灰度发布方法、***及计算机可读存储介质 |
CN112565469A (zh) * | 2021-02-23 | 2021-03-26 | 常州微亿智造科技有限公司 | 对微服务实现动态灰度策略的方法及微服务*** |
CN112905210B (zh) * | 2021-03-24 | 2023-09-15 | 青岛聚看云科技有限公司 | 服务器及灰度发布方法 |
CN112905210A (zh) * | 2021-03-24 | 2021-06-04 | 青岛聚看云科技有限公司 | 服务器及灰度发布方法 |
CN113518119A (zh) * | 2021-05-25 | 2021-10-19 | 深圳壹账通智能科技有限公司 | ABTest的服务分发方法、装置、设备及存储介质 |
CN113301161A (zh) * | 2021-05-28 | 2021-08-24 | 平安科技(深圳)有限公司 | 应用服务的无缝升级方法、装置、设备及存储介质 |
CN113301161B (zh) * | 2021-05-28 | 2023-02-03 | 平安科技(深圳)有限公司 | 应用服务的无缝升级方法、装置、设备及存储介质 |
CN113282602B (zh) * | 2021-06-18 | 2023-10-27 | 北京奇艺世纪科技有限公司 | 一种业务请求方法及装置 |
CN113282602A (zh) * | 2021-06-18 | 2021-08-20 | 北京奇艺世纪科技有限公司 | 一种业务请求方法及装置 |
CN113422732A (zh) * | 2021-06-22 | 2021-09-21 | 康键信息技术(深圳)有限公司 | 基于全站灰度的版本更新方法、装置、设备及存储介质 |
CN113377423A (zh) * | 2021-06-22 | 2021-09-10 | 京东方科技集团股份有限公司 | 提供服务的方法、装置及电子设备 |
WO2022267677A1 (zh) * | 2021-06-22 | 2022-12-29 | 康键信息技术(深圳)有限公司 | 基于全站灰度的版本更新方法、装置、设备及存储介质 |
CN113377423B (zh) * | 2021-06-22 | 2024-06-18 | 京东方科技集团股份有限公司 | 提供服务的方法、装置及电子设备 |
CN113452776A (zh) * | 2021-06-25 | 2021-09-28 | 中国工商银行股份有限公司 | PaaS平台服务调度方法、装置及PaaS平台 |
CN113452776B (zh) * | 2021-06-25 | 2022-12-09 | 中国工商银行股份有限公司 | PaaS平台服务调度方法、装置及PaaS平台 |
CN113254063A (zh) * | 2021-06-30 | 2021-08-13 | 四川新网银行股份有限公司 | 一种灰度验证过滤器及过滤方法 |
CN113254063B (zh) * | 2021-06-30 | 2021-09-21 | 四川新网银行股份有限公司 | 一种灰度验证过滤器及过滤方法 |
CN113489788A (zh) * | 2021-07-06 | 2021-10-08 | 广州华多网络科技有限公司 | 数据路由控制、数据分析处理方法及装置、设备、介质 |
CN113489788B (zh) * | 2021-07-06 | 2024-01-30 | 广州华多网络科技有限公司 | 数据路由控制、数据分析处理方法及装置、设备、介质 |
CN113641400A (zh) * | 2021-08-10 | 2021-11-12 | 广州鲁邦通智能科技有限公司 | 一种多版本服务共用微服务公共资源的方法、api网关和管理*** |
CN113676549A (zh) * | 2021-09-02 | 2021-11-19 | 京东科技信息技术有限公司 | 应用请求的分流方法及应用网关、电子设备、存储介质 |
CN113791805A (zh) * | 2021-09-17 | 2021-12-14 | 马上消费金融股份有限公司 | 微服务灰度发布方法及装置 |
CN113992559A (zh) * | 2021-11-01 | 2022-01-28 | 腾讯科技(深圳)有限公司 | 消息处理方法、装置、设备及计算机可读存储介质 |
CN113992559B (zh) * | 2021-11-01 | 2023-02-24 | 腾讯科技(深圳)有限公司 | 消息处理方法、装置、设备及计算机可读存储介质 |
CN114138325A (zh) * | 2021-11-24 | 2022-03-04 | 聚好看科技股份有限公司 | 一种灰度发布方法和装置 |
CN114153526A (zh) * | 2021-12-01 | 2022-03-08 | 北京百度网讯科技有限公司 | 基于代理的灰度配置方法、装置、电子设备和介质 |
CN114338763A (zh) * | 2021-12-20 | 2022-04-12 | 深圳Tcl新技术有限公司 | 微服务调用方法、装置、服务器与计算机可读存储介质 |
CN114338763B (zh) * | 2021-12-20 | 2024-01-19 | 深圳Tcl新技术有限公司 | 微服务调用方法、装置、服务器与计算机可读存储介质 |
CN114726919A (zh) * | 2022-03-22 | 2022-07-08 | 新华三大数据技术有限公司 | 灰度流量控制的方法、装置、计算机设备及存储介质 |
CN114726919B (zh) * | 2022-03-22 | 2024-02-13 | 新华三大数据技术有限公司 | 灰度流量控制的方法、装置、计算机设备及存储介质 |
CN114422440A (zh) * | 2022-03-28 | 2022-04-29 | 北京沃丰时代数据科技有限公司 | 灰度发布方法、装置、电子设备及存储介质 |
CN114827282A (zh) * | 2022-03-30 | 2022-07-29 | 阿里云计算有限公司 | 服务路由方法、装置、设备和存储介质 |
CN115002227A (zh) * | 2022-05-19 | 2022-09-02 | 青岛海尔科技有限公司 | 用户访问请求响应方法、存储介质及电子设备 |
CN115002227B (zh) * | 2022-05-19 | 2024-03-22 | 青岛海尔科技有限公司 | 用户访问请求响应方法、存储介质及电子设备 |
CN115499480A (zh) * | 2022-09-19 | 2022-12-20 | 深圳依时货拉拉科技有限公司 | 数据处理方法、电子设备以及存储介质 |
CN115250233A (zh) * | 2022-09-22 | 2022-10-28 | 中邮消费金融有限公司 | 一种灰度路由控制方法、灰度路由组件及计算机设备 |
CN115250233B (zh) * | 2022-09-22 | 2022-12-16 | 中邮消费金融有限公司 | 一种灰度路由控制方法、灰度路由组件及计算机设备 |
CN116319514A (zh) * | 2023-05-22 | 2023-06-23 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和相关装置 |
CN116319514B (zh) * | 2023-05-22 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和相关装置 |
CN116594678A (zh) * | 2023-07-18 | 2023-08-15 | 太平金融科技服务(上海)有限公司 | 开发联调隔离方法、装置、计算机设备、存储介质 |
CN116860381A (zh) * | 2023-09-04 | 2023-10-10 | 厦门民航凯亚有限公司 | 一种可视化微服务灰度发布的方法 |
CN116860381B (zh) * | 2023-09-04 | 2023-11-28 | 厦门民航凯亚有限公司 | 一种可视化微服务灰度发布的方法 |
CN117170718B (zh) * | 2023-11-02 | 2024-02-02 | 绿城科技产业服务集团有限公司 | 基于微服务架构的灰度发布方法、装置及电子设备 |
CN117170718A (zh) * | 2023-11-02 | 2023-12-05 | 绿城科技产业服务集团有限公司 | 基于微服务架构的灰度发布方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000348A (zh) | 服务灰度发布的控制方法、装置、计算机设备 | |
CN112118565B (zh) | 多租户服务灰度发布方法、装置、计算机设备和存储介质 | |
US10776171B2 (en) | Endpoint management system and virtual compute system | |
CN101571809B (zh) | 一种插件注册的实现方法及其装置 | |
US20040230670A1 (en) | Method and system for representing, configuring and deploying distributed applications | |
CN108492005B (zh) | 项目数据处理方法、装置、计算机设备和存储介质 | |
CN111090423B (zh) | 一种webhook框架***和实现主动调用、实现事件触发的方法 | |
CN110704177B (zh) | 计算任务处理方法、装置、计算机设备和存储介质 | |
CN103841134A (zh) | 基于api发送、接收信息的方法、装置及*** | |
CN110968331B (zh) | 应用程序运行的方法和装置 | |
CN112767133B (zh) | 业务决策方法及装置、存储介质、计算机设备 | |
US10606477B1 (en) | Intelligent keyboard | |
CN112767135B (zh) | 规则引擎的配置方法及装置、存储介质、计算机设备 | |
CN112433863A (zh) | 微服务调用方法、装置、终端设备以及存储介质 | |
CN113656087A (zh) | 小程序启动方法、装置、设备及存储介质 | |
US20210304068A1 (en) | Data processing system and data processing method | |
US20200310828A1 (en) | Method, function manager and arrangement for handling function calls | |
CN111694639A (zh) | 进程容器地址的更新方法、装置和电子设备 | |
CN113485830A (zh) | 一种电网监控***微服务自动扩容方法 | |
CN113360210A (zh) | 数据对账方法、装置、计算机设备和存储介质 | |
CN112232751A (zh) | 业务数据处理方法、装置、***、计算机设备和存储介质 | |
CN111913759A (zh) | 控制应用程序执行的方法、装置、计算设备和介质 | |
US12020022B2 (en) | In-band instantiation configuration for application workloads | |
CN115811481A (zh) | 一种交互服务测试方法、装置、计算机设备及存储介质 | |
CN113326052A (zh) | 业务组件的升级方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Country or region after: China Address after: Room 501, No. 55 Tiyu West Road, Tianhe District, Guangzhou City, Guangdong Province, 510665, self-made B103 Applicant after: Kingdee Medical Software Technology Co.,Ltd. Address before: Room 01-10, 20 / F, 21 Xingguo Road, Tianhe District, Guangzhou City, Guangdong Province Applicant before: KINGDEE MEDICAL SOFTWARE TECHNOLOGY Co.,Ltd. Country or region before: China |