CN115756806A - 一种产品服务迭代方法、装置、电子设备及存储介质 - Google Patents
一种产品服务迭代方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115756806A CN115756806A CN202211542152.5A CN202211542152A CN115756806A CN 115756806 A CN115756806 A CN 115756806A CN 202211542152 A CN202211542152 A CN 202211542152A CN 115756806 A CN115756806 A CN 115756806A
- Authority
- CN
- China
- Prior art keywords
- service
- cluster
- product
- product service
- address
- 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 112
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 230000008569 process Effects 0.000 claims abstract description 43
- 238000012804 iterative process Methods 0.000 claims abstract description 30
- 238000000605 extraction Methods 0.000 claims abstract description 9
- 238000004519 manufacturing process Methods 0.000 claims description 46
- 239000003999 initiator Substances 0.000 claims description 24
- 238000009826 distribution Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 7
- 230000003068 static effect Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012827 research and development Methods 0.000 description 5
- 238000005520 cutting process Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000033764 rhythmic process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例了公开一种产品服务迭代方法、装置、电子设备及存储介质。该方法包括:响应于产品服务调用请求,确定待调用的产品服务,其中,产品服务可被分别部署在至少两个服务器集群上;根据产品服务的切流配置,从各服务器集群中确定提服集群,其中,提服集群用于提供产品服务;将产品服务调用请求转发给部署在提服集群上的产品服务,以实现产品服务的调用过程及在停服集群上的迭代过程,其中,停服集群包括至少两个服务器集群中除提服集群之外的集群,停服集群停止提供产品服务。本发明实施例的技术方案,可通过产品服务维度的切流操作实现产品服务的迭代过程,从而保证了这一迭代过程的实现效率和成功率。
Description
技术领域
本发明实施例涉及计算机应用技术领域,尤其涉及一种产品服务迭代方法、装置、电子设备及存储介质。
背景技术
随着云计算技术的快速发展,软件即服务(Software-as-a-Service,SAAS)平台逐渐兴起。SAAS平台是一种通过网络提供产品服务的平台,其对于成本预算有限以及技术条件不足的中小企业来说,具有很强的吸引力。
为了保证产品服务的高可用,SAAS平台上的产品服务被部署在至少两个服务器集群上。在此基础上,为了保证产品服务给用户提供统一的使用体验,需要对各服务器集群上的产品服务分别实现迭代过程。目前,主要是通过平台维度的切流操作来实现上述迭代过程。
在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:难以保证产品服务的迭代过程的实现效率和成功率。
发明内容
本发明实施例提供了一种产品服务迭代方法、装置、电子设备及存储介质,解决了产品服务的迭代过程的实现效率和成功率难以保证的问题。
根据本发明的一方面,提供了一种产品服务迭代方法,可以包括:
响应于产品服务调用请求,确定待调用的产品服务,其中,产品服务可被分别部署在至少两个服务器集群上;
根据产品服务的切流配置,从各服务器集群中确定提服集群,其中,提服集群用于提供产品服务;
将产品服务调用请求转发给部署在提服集群上的产品服务,以实现产品服务的调用过程及在停服集群上的迭代过程,其中,停服集群是至少两个服务器集群中除提服集群之外的集群,停服集群停止提供产品服务。
根据本发明的另一方面,提供了一种产品服务迭代装置,可以包括:
产品服务确定模块,用于响应产品服务调用请求,确定待调用的产品服务,其中,产品服务被分别部署在至少两个服务器集群上;
提服集群确定模块,用于根据产品服务的切流配置,从各个服务器集群中确定提服集群,其中,提服集群用于提供产品服务;
产品服务迭代模块,用于将产品服务调用请求转发给部署在提服集群上的产品服务,以实现产品服务的调用过程以及在停服集群上的迭代过程,其中,停服集群是至少两个服务器集群中除提服集群之外的集群,停服集群停止提供产品服务。
根据本发明的另一方面,提供了一种电子设备,可以包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器执行时实现本发明任意实施例所提供的产品服务迭代方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令用于使处理器执行时实现本发明任意实施例所提供的产品服务迭代方法。
本发明实施例的技术方案,通过响应于产品服务调用请求,确定待调用的产品服务,为了保证该产品服务的高可用性,其被分别部署在至少两个服务器集群上;根据该产品服务的切流配置,从各服务器集群中确定用于提供该产品服务(即负责该产品服务的线上流量)的提服集群;将产品服务调用请求转发给部署在提服集群上的该产品服务,从而实现了该产品服务的调用过程,并且由于至少两个服务器集群中除提服集群之外的停服集群不再负责该产品服务的线上流量,从而可以在用户无感知的情况下,实现该产品服务在停服集群上的迭代过程。上述技术方案,通过产品服务维度的切流操作实现产品服务的迭代过程,从而保证了产品服务的迭代过程的实现效率和成功率。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或是重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的一种产品服务迭代方法的流程图;
图2是根据本发明实施例提供的再一种产品服务迭代方法的流程图;
图3是根据本发明实施例提供的另一种产品服务迭代方法的流程图;
图4是根据本发明实施例提供的另一种产品服务迭代方法中的可选示例的架构示意图;
图5是根据本发明实施例提供的一种产品服务迭代装置的结构框图;
图6是实现本发明实施例的产品服务迭代方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。“目标”、“原始”等的情况类似,在此不再赘述。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好地理解本发明实施例阐述的产品服务迭代方法如何保证产品服务的迭代过程的实现效率,下面先对背景技术中阐述的通过平台维度的切流操作实现的迭代过程进行示例性说明。示例性的,以SAAS平台为例,为了保障SAAS平台上的各服务产品为用户提供统一的使用体验,这里采用统一网关架构设计以规范化平台技术架构和设计风格。具体的,假设SAAS平台上接入有A产品服务、B产品服务、C产品服务以及网关服务,并且为了保证高可用,设置有主集群(即主服务器集群)以及备集群(即备服务器集群),那么这四个服务在这两个集群下均有部署。SAAS平台提供统一的平台域名(后简称为域名)(如www.xxx.com)作为入口给用户,以使用户通过浏览器访问该域名以调用SAAS平台上的产品服务。如,SAAS平台上的域名服务通过将域名解析到某集群的网关服务上,然后通过该网关服务将用户通过浏览器发送的产品服务调用请求转发到该集群下的相应的产品服务上,从而实现了该产品服务的调用过程。
需要说明的是,由于将域名解析到哪个集群上,这是可控的,因此可通过对域名进行不同集群的解析切换来完成服务产品的平滑上线。示例性的,以A产品服务为例,当前已经上线(即已经部署在主备集群上)的是1.0版本的A产品服务,现在需要上线2.0版本的A产品服务,那么可以通过如下步骤实现:
1、先将域名解析为主集群网关实例,此时备集群无任何生产流量,则对备集群下的A产品服务进行发布验证;
2、备集群下A产品服务发布验证完成后,将域名解析到备集群网关实例,此时主集群无任何生产流量,则对主集群下的A产品服务进行发布验证;
3、主集群下的A产品服务发布验证完成后,将域名同时解析到主备集群网关实例,以同时支撑A产品服务的线上流量。
由上可知,这是产品维度的切流操作(即通过将域名解析到不同集群网关实例来实现切流),即在实现主集群下的产品服务的迭代过程中,备集群无任何生产流量,反之亦然成立,从而可以在用户无感知情况下实现产品服务的迭代过程,即在允许用户正常应用某产品服务过程中,实现该产品服务的迭代过程。
需要说明的是,上述通过产品维度的切流操作完成产品服务的迭代过程的实现方案,在SAAS平台上接入的产品服务的数量有限并且各产品服务的迭代频率较低时,还是可行的。但是,当SAAS平台上接入有较多的产品服务和/或各产品服务的迭代频率较高时,上述实现方案容易导致SAAS平台的上线节奏一直高居不下,从而存在如下问题:
一方面,同一时间段内需要迭代的产品服务的数量较多,由于它们均需要通过域名解析切流,这意味着需要上线部署的每个产品服务均验证通过后才能进行主备集群的切流,那么当某个或某几个产品服务的发布验证过程出现问题并且迟迟无法解决时,这将导致其他上线部署的产品服务一直等待,从而导致上线部署时间不断增长,效率越来越低,即难以保证迭代过程的实现效率。
另一方面,每个产品服务的上线部署均依赖于域名解析切流,则解析切流前需要和每个产品服务确认在当前上线部署的那个集群中是否验证无误,显然,这不仅让域名解析切流成为瓶颈,同时也可能因为复杂的确认过程执行不到位而导致解析切流后的某个产品服务出现线上问题,从而引发重大线上事故,即难以保证产品服务的迭代过程在实现时的成功率。
为了解决上述两个问题,发明人在对现有技术进行了充分研究的基础上,提出了下述各实施例中阐述的产品服务迭代方法。
图1是本发明实施例中所提供的一种产品服务迭代方法的流程图。本实施例可适用于产品服务迭代的情况,尤其适用于通过产品服务维度的切流操作来实现产品服务迭代的情况。该方法可以由本发明实施例所提供的产品服务迭代装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在电子设备上,该电子设备可以是服务器(如网关服务器)或是用户终端。
参见图1,本发明实施例的方法具体包括如下步骤:
S110、响应于产品服务调用请求,确定待调用的产品服务,其中,该产品服务被分别部署在至少两个服务器集群上。
其中,产品服务调用请求可以是由用户终端发起的用于调用部署在服务器集群上的某产品服务的请求,该产品服务即为待调用的产品服务,如查询服务、保存服务或是修改服务等。需要说明的是,为了保证该产品服务的高可用性,其可以预先被分别部署在至少两个服务器集群上,上述产品服务调用请求只是请求调用该产品服务,不会指定调用部署在某个服务器集群上的该产品服务。
在实际应用中,可选的,上述产品服务调用请求可以由网关服务来响应,该网关服务可以是部署在至少两个服务器集群之外的服务器(或是服务器集群)上的服务,也可以是分别部署在至少两个服务器集群上的服务,在此未做具体限定。当该网关服务分别部署在至少两个服务器集群上时,最终由哪个服务器集群来响应该产品服务调用请求,或是说由哪个服务器集群接收到该产品服务调用请求,这可以由预先设定的负载均衡算法确定。
S120、根据产品服务的切流配置,从各服务器集群中确定提服集群,其中,提服集群用于提供产品服务。
其中,切流配置可以是预先为该产品服务设置的用于确定由至少两个服务器集群中的哪个或是哪几个服务器集群负责线上流量(即提供该产品服务)的配置,上述线上流量也可称为生产流量。因此,可以根据该切流配置从各服务器集群中确定提服集群,即用于提供该产品服务的服务器集群。
S130、将产品服务调用请求转发给部署在提服集群上的产品服务,以实现产品服务的调用过程及在停服集群上的迭代过程,其中,停服集群是至少两个服务器集群中除提服集群之外的集群,停服集群停止提供产品服务。
其中,由于提服集群是负责该产品服务的线上流量的服务器集群,因此可将接收到的产品服务调用请求转发给部署在该提服集群上的该产品服务,从而实现该产品服务的调用过程。示例性的,由于每个产品服务对外提供的接口都是唯一的,因此可以通过该产品服务对应的接口将该产品服务调用请求转发给部署在该提服集群上的该产品服务上。需要说明的是,在这样的切流配置下,每个请求调用该产品服务的产品服务调用请求都会被转发到该提服集群上,这意味着至少两个服务器集群中除了提服集群之外的停服集群无需再负责该产品服务的线上流量,即该停服集群可理解为停止提供该产品服务的服务器集群,从而可以在该停服集群上实现该产品服务的迭代过程。
由此可知,上述技术方案是通过产品服务维度的切流操作来实现产品服务的迭代过程,即在迭代某产品服务时,只将该产品服务的全部线上流量均切换到该产品服务的提服集群上,至于其余的产品服务的线上流量会被切换到哪个服务器集群上,这与它们各自的切流配置有关,即不会统一将全部产品服务的线上流量均切换到该提服集群上。这样一来,即使于同一时间段内有多个产品服务存在迭代需求,也不会出现因为需要等待这些产品服务均在某服务器集群上发布验证通过后再切换至另一服务器集群而带来的迭代过程的实现效率较低、及因为复杂的确认过程执行不到位而带来的迭代失败的问题,从而保证了任一产品服务的迭代过程的实现效率和成功率。
为了更加形象化地理解上述通过产品服务维度的切流操作来实现产品服务的迭代过程,下面结合切流配置的设置示例,对其进行示例性说明。研发测试人员在需要对已上线部署的某产品服务进行迭代(即版本更新)时,可以在已开发完成的产品服务切流平台上一键设置该产品服务的切流配置,该切流配置可以通过appType:prd这样的映射关系进行表示,其中appType可以表示该产品服务的服务标识(即通过服务标识来表示产品服务),prd可以表示相应的提服集群的集群标识(即通过集群标识来表示提服集群)。需要说明的是,同一时间段内可能有多个产品服务均存在迭代需求,这些产品服务分别对应的提服集群可能相同或是不同,这正是基于产品服务维度实现切流操作的直观体现。示例性的,假设任一产品服务均被分别部署在两个服务器集群prd1和prd2上,针对同一时间段内存在迭代需求的三个产品服务appType1、appType2以及appType3,研发测试人员为它们设置的切流配置分别是appType1:prd1、appType2:prd1以及appType3:prd2,这意味着由prd1负责appType1和appType2的线上流量,并且由prd2负责appType3的线上流量,那么研发测试人员可以在未负责appType1和appType2的线上流量的prd2上来实现新版本的appType1和appType2的上线部署,并且在未负责appType3的线上流量的prd1上实现新版本的appType3的上线部署。这里以appType2为例,当该新版本的appType2在prd2上发布验证通过后,研发测试人员可以将appType2:prd1修改为appType2:prd2,从而由prd2负责appType2的线上流量,以在prd1上实现该新版本的appType2的上线部署。appType1和appType3的切流过程类似,在此不再赘述。
由上可知,相较于通过平台维度的切流操作实现的产品服务的迭代过程,上述技术方案无需依赖于域名解析,从而降低了域名切流解析成本;隔离了各产品服务之间的切流影响,可以根据迭代需求随时进行切流上线,从而减少了统一切流带来的误操作风险,并且提高了迭代过程的实现效率;将切流操作从域名服务下沉到网关服务,网关服务无需再根据产品服务的上线节奏来回切流。
本发明实施例的技术方案,通过响应于产品服务调用请求,确定待调用的产品服务,为了保证该产品服务的高可用性,其被分别部署在至少两个服务器集群上;根据该产品服务的切流配置,从各服务器集群中确定用于提供该产品服务(即负责该产品服务的线上流量)的提服集群;将产品服务调用请求转发给部署在提服集群上的该产品服务,从而实现了该产品服务的调用过程,并且由于至少两个服务器集群中除提服集群之外的停服集群不再负责该产品服务的线上流量,从而可以在用户无感知的情况下,实现该产品服务在停服集群上的迭代过程。上述技术方案,通过产品服务维度的切流操作实现产品服务的迭代过程,从而保证了该迭代过程的实现效率和成功率。
一种可选的技术方案,确定待调用的产品服务,可包括:从产品服务调用请求中获取到待调用的产品服务的服务标识,并根据服务标识确定产品服务;上述产品服务迭代方法,还可包括:获取预先配置的切流配置集合,并从切流配置集合中得到切流配置,该切流配置表示服务标识与提服集群的集群标识之间的映射关系。其中,服务标识可以理解为产品服务的唯一标识,因此根据该服务标识可以唯一确定出该产品服务。切流配置集合可以是预先设置的包含有多条候选配置的集合,由于每条候选配置均可以表示出某服务标识与某服务器集群的集群标识之间的映射关系,因此可以从该切流配置集合中得到与该服务标识的映射关系有关的切流配置,从而达到了切流配置的快速确定的效果。
另一种可选的技术方案,上述产品服务迭代方法可应用于网关服务,网关服务被分别部署在每个服务器集群上;在此基础上,上述产品服务迭代方法,还可以包括:如果未获取得到切流配置,则将接收到产品服务调用请求的网关服务所在的服务器集群,作为提服集群。其中,在实际应用中,相关人员可以只为存在迭代需求的产品服务设置相应的切流配置,因为无需迭代的产品服务对应的产品服务调用请求,可以被任一服务器集群进行处理,这就好比未分流状态,该产品服务调用请求落入哪个服务器集群,则可以直接由该服务器集群进行处理。换言之,部署在某服务器集群上的网关服务在接收到产品服务调用请求后,如果未获取到请求调用的产品服务的切流配置,则可以直接自身所在的服务器集群,作为提服集群,从而保证了存在或未存在迭代需求的产品服务对应的产品服务调用请求的有效响应。
另一种可选的技术方案,上述产品服务迭代方法,还可以包括:定时获取切流配置,并根据定时获取到的切流配置对存储在缓存中的切流配置进行更新;相应的,在确定待调用的产品服务之后,上述产品服务迭代方法,还可以包括:从缓存中获取切流配置。其中,在产品服务迭代过程中,为了不影响用户对于存在迭代需求的产品服务的正常应用,相关人员通常先在某服务器集群上进行该产品服务的上线部署,然后切换到另一服务器集群上进行该产品服务的上线部署,这意味着该产品服务的切流配置并非是固定不变。因此,可以定时获取切流配置,并基于定时获取到的切流配置对存储在缓存中的切流配置进行更新,即对历史获取的切流配置进行更新,从而保证后续从缓存中得到的切流配置是最新的切流配置,进而保证避免出现将该服务产品的产品服务调用请求转发到正在上线部署该产品服务的服务器集群上,由此实现了在用户无感知的情况下,完成该产品服务在各服务器集群上的迭代过程。在此基础上,可选的,上述的定时获取过程可以理解为每隔预设时长(如20秒)获取一次,也可以理解为在各预设时间点上获取一次,等等,在此未做具体限定。再可选的,还可以基于上述技术方案实现任一产品服务的切流配置的定时同步,并非局限于存在迭代需求和/或调用需求的产品服务的定时同步,从而保证在迭代任一产品服务时,都可以从缓存中获取到其最新的切流配置。
在介绍本发明实施例之前,先对本发明实施例的应用场景进行示例性说明。产品服务中经常涉及到一些很少变化的静态资源,如js文件或是CSS文件等,这些静态资源可以被直接存储在产品服务中;也可以被存储到某内容分发网络(Content Delivery Network,CDN)节点中,这样一来,在调用产品服务时,可以将该产品服务的静态资源所在的CDN节点的地址直接返回给用户终端,而无需返回静态资源,从而加快了用户终端对于这些静态资源的获取速度。针对第二种情况,各产品服务的静态资源所在的CDN节点的地址可以被存储到网关服务中,但是,这种通过网关服务维护地址的方式增加了产品服务和网关服务之间的耦合性,从而导致独立的产品服务失去了完整闭环能力;除此外,虽然静态资源很少变化,但是终究存在变化的可能,这意味着届时需对存储在网关服务中的地址进行修改并发布,当这种操作过于频繁时,容易降低平台的整体稳定性。为了解决上述问题,提出了下述实施例中的产品服务迭代方法。
图2是本发明实施例中提供的再一种产品服务迭代方法的流程图。本实施例以上述各技术方案为基础进行优化。本实施例中,可选的,产品服务的生产资源被存储在第一内容分发网络节点上,且第一内容分发网络节点的第一地址被配置在产品服务内;在从各服务器集群中确定提服集群之后,上述产品服务迭代方法,还可以包括:从部署在提服集群上的产品服务中获取到第一地址;将第一地址返回给产品服务调用请求的发起方,以使发起方从与接收到的第一地址对应的第一内容分发网络节点上获取到生产资源,并对生产资源进行加载和渲染。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图2,本实施例的方法具体可以包括如下步骤:
S210、响应于产品服务调用请求,确定待调用的产品服务,其中,该产品服务被分别部署在至少两个服务器集群上。
S220、根据产品服务的切流配置,从各服务器集群中确定提服集群,其中,提服集群用于提供产品服务。
S230、产品服务的生产资源被存储在第一内容分发网络节点上,并且第一内容分发网络节点的第一地址被配置在产品服务内,从部署在提服集群上的产品服务中获取到第一地址。
其中,生产资源可以理解为某产品服务的在线上正式应用的静态资源,其亦可被称为正式资源。将该生产资源存储在第一CDN节点上,并且将该第一CDN节点的第一地址配置在该产品服务内。换言之,每个产品服务分别对应的第一地址均由该产品服务自身进行维护。在此基础上,针对待调用的产品服务,可以从部署在提服集群上的该产品服务内获取到相应的第一地址。在实际应用中,可选的,该第一地址可以通过资源加载接口获取得到。
S240、将第一地址返回给产品服务调用请求的发起方,以使发起方从接收到的第一地址对应的第一内容分发网络节点上获取到生产资源,并对生产资源进行加载和渲染。
其中,发起方可以是发起产品服务调用请求的对象,如上文中举例说明的用户终端。将第一地址返回给该发起方,以使该发起方从接收到的第一地址对应的第一CDN节点上动态拉取到生产资源,从而实现该生产资源的加载与渲染。
需要说明的是,当静态资源发生变更时,也可以基于上述各技术方案阐述的产品服务迭代方法实现该静态资源的迭代过程。具体的,相关人员除了设置该产品服务的切流配置以得到提服集群之外,还可以将部署在停服集群上的该产品服务内配置的第一地址修改为第二地址,该第二地址对应的第二CDN节点上存储有灰度资源(即更新后的生产资源)。由此,类似产品服务的发布验证,可以对该灰度资源进行发布验证,从而实现该静态资源的迭代过程。
S250、将产品服务调用请求转发给部署在提服集群上的产品服务,以实现产品服务的调用过程及在停服集群上的迭代过程,其中,停服集群是至少两个服务器集群中除提服集群之外的集群,停服集群停止提供产品服务。
需要说明的是,S230和S250可以串行执行(如在S230执行完毕后,执行S250,或是在S250执行完毕后,执行S230)或是并行执行(即S230和S250的执行过程互不干扰),在此未做具体限定。
本发明实施例的技术方案,通过生产资源的动态加载机制,将该生产资源拆分到产品服务中进行维护,即将地址配置由网关服务下沉到产品服务,由此消除了产品服务对网关服务的依赖,从而实现了产品服务的独立闭环开发部署;并且,网关服务无需再跟随着产品服务的上线节奏配置发布,由此减少了网关服务日常上线人力投入的同时,提升了平台的整体稳定性。
在此基础上,一可选的技术方案,产品服务的灰度资源被存储在第二内容分发网络节点上,并且第二内容分发网络节点的第二地址被配置在产品服务内,灰度资源是更新后的生产资源;从部署在提服集群上的产品服务中获取到第一地址,可以包括:如果未从产品服务调用请求中获取到灰度资源请求参数,则从部署在提服集群上的产品服务中获取到第一地址;在从各服务器集群中确定提服集群之后,上述产品服务迭代方法,还可包括:如果获取到灰度资源请求参数,则从部署在提服集群上的产品服务中获取到第二地址;将第二地址返回给发起方,以使发起方从与接收到的第二地址对应的第二内容分发网络节点上获取到灰度资源,并对灰度资源进行加载和渲染。
其中,灰度资源可以理解为更新后的生产资源,即待发布验证的静态资源。类似于生产资源,将该灰度资源存储在第二CDN节点上,并且将该第二CDN节点的第二地址配置在该产品服务内。换言之,如果某个产品服务对应有第二地址,那么该第二地址由该产品服务自身进行维护。需要说明的是,通常情况下,第一地址和第二地址是不同的地址,即第一CDN节点和第二CDN节点是不同的CDN节点,这是因为如果二者相同,即灰度资源覆盖了生产资源,那么用户会直接应用到还未验证通过的灰度资源,从而容易引发线上事故。
除上文中阐述的通过产品服务维度的切流操作实现的静态资源的迭代过程,这里给出另一种实现静态资源的迭代过程的可选方案。具体的,为了区分用户发起的产品服务调用请求与相关人员(如研发测试人员)发起的产品服务调用请求,该相关人员可以在产品服务调用请求中额外增加了灰度资源请求参数grayTag,即表示本次请求的是灰度资源的参数。这样一来,在接收到产品服务调用请求后,可以先确定其中是否包含该灰度资源请求参数。如果未包含,这说明是用户发起的,那么可以从部署在提服集群上的产品服务内获取第一地址。如果包含,这说明是相关人员发起的,则可以从部署在提服集群上的产品服务内获取第二地址,以便将该第二地址返回给发起方(如被相关人员操作的用户终端),以使该发起方从接收到的第二地址对应的第二CDN节点上获取到灰度资源,从而实现了该灰度资源的加载与渲染。上述技术方案,通过判断是否从接收到的产品服务调用请求获取到灰度资源请求参数,由此确定是将第一地址还是第二地址返回给发起方的,从而既能保证用户对于产品服务的正常应用,又能保证相对人员发布验证灰度资源,这是一种无需切流操作即可实现的静态资源的迭代过程,应用便捷性更高。
在此基础上,可选的,上述产品服务迭代方法,还可以包括:响应于地址覆盖指令,基于第二地址覆盖第一地址,并删除第二地址。也就是说,在灰度资源发布验证通过后,基于产品服务内配置的第二地址覆盖掉产品服务内配置的第一地址,从而保证用户在调用产品服务时应用的是更新后的线上资源(即灰度资源);并且,删除产品服务内配置的第二地址。
图3是本发明实施例中提供的另一种产品服务迭代方法的流程图。本实施例以上述各技术方案为基础进行优化。本实施例中,可选的,该产品服务迭代方法应用于网关服务,该网关服务可被分别部署在每个服务器集群上;而且,产品服务的生产资源被存储在第一CDN节点上,产品服务的灰度资源被存储在第二CDN节点上,该灰度资源是更新后的生产资源,并且该第一CDN节点的第一地址和该第二CDN节点的第二地址均被配置在产品服务内。其中,与上述各实施例相同或是相应的术语的解释在此不再赘述。
参见图3,本实施例的方法具体可以包括如下步骤:
S3010、响应于产品服务调用请求,从产品服务调用请求中获取到待调用的产品服务的服务标识,并根据服务标识确定产品服务,其中,产品服务被分别部署在至少两个服务器集群上。
其中,每个服务器集群上既部署有产品服务,又部署有网关服务。部署在任一服务器集群上的网关服务接收到产品服务调用请求后,响应于该产品服务调用请求,从中获取到待调用的产品服务的服务标识,进而确定产品服务。
S3020、定时获取切流配置集合,并根据定时获取到的切流配置集合对存储在缓存中的切流配置集合进行更新。
需要说明的是,本步骤是定时执行步骤,即其与其余步骤的先后执行顺序与实际情况有关,这里未进行任何限定。
S3030、从缓存中获取切流配置集合。
S3040、如果从切流配置集合中得到产品服务的切流配置,则根据切流配置从各服务器集群中确定提服集群,其中,切流配置表示服务标识与提服集群的集群标识之间的映射关系。
S3050、如果未从切流配置集合中得到切流配置,则将接收到产品服务调用请求的网关服务所在的服务器集群,作为提服集群,其中,提服集群用于提供产品服务。
S3060、如果未从产品服务调用请求中获取到灰度资源请求参数,则从部署在提服集群上的产品服务中获取到第一地址。
S3070、将第一地址返回给产品服务调用请求的发起方,以使发起方从接收到的第一地址对应的第一CDN节点上获取到生产资源,并加载和渲染生产资源。
S3080、如果获取到灰度资源请求参数,则从部署在提服集群上的产品服务中获取到第二地址。
S3090、将第二地址返回给发起方,以使发起方从接收到的第二地址对应的第二CDN节点上获取到灰度资源,并对灰度资源进行加载和渲染。
S3100、响应于地址覆盖指令,基于第二地址覆盖第一地址,并对第二地址进行删除处理,以实现生产资源的迭代过程。
S3110、将产品服务调用请求转发给部署在提服集群上的产品服务,以实现产品服务的调用过程及在停服集群上的迭代过程,其中,停服集群是至少两个服务器集群中除提服集群之外的集群,停服集群停止提供产品服务。
需要说明的是,以S3060-S3070分支为例(S3080-S3090的情况类似),该分支与S3110的执行先后顺序可先可后,也可以并行执行,在此未做具体限定。
本发明实施例的技术方案,通过将切流操作从域名服务下沉到网关服务,实现了产品服务维度的切流操作,从而保证了产品服务的迭代过程的实现效率和成功率;除此外,通过将地址配置从网关服务下沉到产品服务,由此实现了产品服务的独立闭环开发部署,并且提升了平台的整体稳定性。
为了更好地理解上述技术方案,下面结合具体示例,对其进行示例性说明。示例性的,参见图4,这里仍以上述示例中的SAAS平台为例,展示出了产品服务维度的切流操作。具体的,
1、引入产品服务切流平台,支持研发测试人员在该产品服务切流平台上为存在迭代需求的产品服务设置切流配置,得到切流配置集合,该切流配置集合可以被产品服务切流服务存储到数据库中;
2、部署在各集群内的网关服务分别定时拉取切流配置集合,并将拉取到的切流配置集合存储在网关服务的本地缓存中,由此实现切流配置集合的同步;
3、用户通过浏览器访问www.xxx.com之后,该平台基于均衡负载算法将相应的产品服务调用请求传递到部署在某集群(如主集群或备集群)下的网关服务,进而由该网关服务执行如下步骤:如果根据接收到的产品服务调用请求中的appType从存储在本地缓存中的切流配置集合中得到切流配置,则可根据该切流配置确定将主集群还是备集群作为提服集群;否则,这说明该appType对应的产品服务(这里以A产品服务为例)并未存在迭代需求,则可将该网关服务所在的集群作为提服集群;
4、该网关服务通过A产品服务对外提供的接口,将产品服务调用请求转发到部署在该提服集群上的A产品服务上,从而实现了A产品服务的调用过程以及在停服集群上的迭代过程,以此实现了A产品服务的动态切流。
在此基础上,如果A产品服务的某些静态资源存储在CDN节点上,则可通过下述步骤实现该静态资源的切流过程。具体的,
1、将该静态资源对应的生产资源所在的第一CDN节点的第一地址及对应的灰度资源所在的第二CDN节点的第二地址均配置在A产品服务中;
2、该网关服务确定接收到的产品服务调用请求中是否包含grayTag,如果包含,则基于资源加载接口从A产品服务中获取到第一地址,并将该第一地址返回给浏览器,以使浏览器从接收到的第一地址对应的第一CDN节点上获取到生产资源,并对该生产资源进行加载和渲染,从而用户可以浏览到该生产资源;否则,基于该资源加载接口从A产品服务中获取到第二地址,并将该第二地址返回给浏览器,以使浏览器从接收到的第二地址对应的第二CDN节点上获取到灰度资源,并加载和渲染该灰度资源,从而研发测试人员可以验证该灰度资源;
3、在验证完成后,可以基于A产品服务内配置的第二地址覆盖第一地址,从而完成静态资源的正式发布。
图5为本发明实施例所提供的产品服务迭代装置的结构框图,该装置用于执行上述任意实施例所提供的产品服务迭代方法。该装置与上述各实施例的产品服务迭代方法属于同一个发明构思,在产品服务迭代装置的实施例中未详尽描述的细节内容,可以参考上述产品服务迭代方法中的实施例。参见图5,该装置具体可包括:产品服务确定模块410、提服集群确定模块420和产品服务迭代模块430。其中,
产品服务确定模块410,用于响应于产品服务调用请求,确定待调用的产品服务,其中,产品服务被分别部署在至少两个服务器集群上;
提服集群确定模块420,用于根据产品服务的切流配置,从各服务器集群中确定提服集群,其中,提服集群用于提供产品服务;
产品服务迭代模块430,用于将产品服务调用请求转发给部署在提服集群上的产品服务,以实现产品服务的调用过程及在停服集群上的迭代过程,其中,停服集群是至少两个服务器集群中除提服集群之外的集群,停服集群停止提供产品服务。
可选的,产品服务确定模块410,可以包括:
产品服务确定单元,用于从产品服务调用请求中获取到待调用的产品服务的服务标识,并根据服务标识确定产品服务;
上述产品服务迭代装置,还可以包括:
切流配置得到模块,用于获取预先配置的切流配置集合,从切流配置集合中得到切流配置,其中,切流配置表示服务标识与提服集群的集群标识之间的映射关系。
可选的,上述产品服务迭代装置,配置于网关服务,网关服务被分别部署在每个服务器集群上;
上述产品服务迭代装置,还可以包括:
提服集群得到模块,用于如果未获取得到切流配置,则将接收到产品服务调用请求的网关服务所在的服务器集群,作为提服集群。
可选的,上述产品服务迭代装置,还可以包括:
切流配置更新模块,用于定时获取切流配置,根据定时获取到的切流配置对存储在缓存中的切流配置进行更新;
切流配置获取模块,用于在确定待调用的产品服务后,从缓存中获取切流配置。
可选的,产品服务的生产资源被存储在第一内容分发网络节点上,且第一内容分发网络节点的第一地址被配置在产品服务内;
上述产品服务迭代装置,还可以包括:
第一地址获取模块,用于在从各服务器集群中确定提服集群之后,从部署在提服集群上的产品服务中获取到第一地址;
生产资源渲染模块,用于将第一地址返回给产品服务调用请求的发起方,以使发起方从接收的第一地址对应的第一内容分发网络节点上获取到生产资源,并对生产资源进行加载和渲染。
在此基础上,可选的,产品服务的灰度资源可被存储在第二内容分发网络节点上,并且第二内容分发网络节点的第二地址可被配置在产品服务内,灰度资源是更新后的生产资源;
第一地址获取模块,可以包括:
第一地址获取单元,用于若未从产品服务调用请求中获取到灰度资源请求参数,则从部署在提服集群上的产品服务中获取到第一地址;
上述产品服务迭代装置,还可以包括:
第二地址获取模块,用于在从各服务器集群中确定提服集群之后,若获取到灰度资源请求参数,则从部署在提服集群上的产品服务中获取到第二地址;
灰度资源渲染模块,用于将第二地址返回给发起方,以使发起方从接收到的第二地址对应的第二内容分发网络节点上获取到灰度资源,对灰度资源进行加载和渲染。
在此基础上,可选的,上述产品服务迭代装置,还可以包括:
第二地址删除模块,用于响应地址覆盖指令,基于第二地址覆盖第一地址,并删除第二地址。
本发明实施例所提供的产品服务迭代装置,通过产品服务确定模块响应于产品服务调用请求,确定待调用的产品服务,为了保证该产品服务的高可用性,其可被分别部署在至少两个服务器集群上;通过提服集群确定模块根据该产品服务的切流配置,从各服务器集群中确定用于提供该产品服务(即负责该产品服务的线上流量)的提服集群;通过产品服务迭代模块将产品服务调用请求转发给部署在提服集群上的该产品服务,从而实现了该产品服务的调用过程,并且由于至少两个服务器集群中除提服集群之外的停服集群不再负责该产品服务的线上流量,从而可以在用户无感知的情况下,实现该产品服务在停服集群上的迭代过程。上述装置,通过产品服务维度的切流操作来实现产品服务的迭代过程,从而保证了该迭代过程的实现效率和成功率。
本发明实施例所提供的产品服务迭代装置可执行本发明任意实施例所提供的产品服务迭代方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述产品服务迭代装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
图6示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如产品服务迭代方法。
在一些实施例中,产品服务迭代方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的产品服务迭代方法的一个或多个步骤。备选地,在其他实施例中,处理器11可通过其他任何适当的方式(例如,借助于固件)而被配置为执行产品服务迭代方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、以及至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、以及该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或是其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行并且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的***和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种产品服务迭代方法,其特征在于,包括:
响应于产品服务调用请求,确定待调用的产品服务,其中,所述产品服务被分别部署在至少两个服务器集群上;
根据所述产品服务的切流配置,从各所述服务器集群中确定提服集群,其中,所述提服集群用于提供所述产品服务;
将所述产品服务调用请求转发给部署在所述提服集群上的所述产品服务,以实现所述产品服务的调用过程及在停服集群上的迭代过程,其中,所述停服集群是所述至少两个服务器集群中除所述提服集群之外的集群,所述停服集群停止提供所述产品服务。
2.根据权利要求1所述的方法,其特征在于,所述确定待调用的产品服务,包括:
从所述产品服务调用请求中获取到待调用的产品服务的服务标识,并根据所述服务标识确定所述产品服务;
所述方法还包括:
获取预先配置的切流配置集合,从所述切流配置集合中得到所述切流配置,其中,所述切流配置表示所述服务标识与所述提服集群的集群标识之间的映射关系。
3.根据权利要求1所述的方法,其特征在于,应用于网关服务,所述网关服务被分别部署在每个所述服务器集群上;
所述方法还包括:
如果未获取得到所述切流配置,则将接收到所述产品服务调用请求的所述网关服务所在的所述服务器集群,作为所述提服集群。
4.根据权利要求1所述的方法,其特征在于,还包括:
定时获取所述切流配置,并根据定时获取到的所述切流配置对存储在缓存中的所述切流配置进行更新;
在所述确定待调用的产品服务之后,所述方法还包括:
从所述缓存中获取所述切流配置。
5.根据权利要求1所述的方法,其特征在于,所述产品服务的生产资源被存储在第一内容分发网络节点上,并且所述第一内容分发网络节点的第一地址被配置在所述产品服务内;
在所述从各所述服务器集群中确定提服集群之后,所述方法还包括:
从部署在所述提服集群上的所述产品服务中获取到所述第一地址;
将所述第一地址返回给所述产品服务调用请求的发起方,以使所述发起方从接收到的所述第一地址对应的所述第一内容分发网络节点上获取到所述生产资源,并对所述生产资源进行加载和渲染。
6.根据权利要求5所述的方法,其特征在于,所述产品服务的灰度资源被存储在第二内容分发网络节点上,并且所述第二内容分发网络节点的第二地址被配置在所述产品服务内,所述灰度资源是更新后的所述生产资源;
所述从部署在所述提服集群上的所述产品服务中获取到所述第一地址包括:
如果未从所述产品服务调用请求中获取到灰度资源请求参数,则从部署在所述提服集群上的所述产品服务中获取到所述第一地址;
在所述从各所述服务器集群中确定提服集群之后,所述方法还包括:
若获取到所述灰度资源请求参数,则从部署在所述提服集群上的所述产品服务中获取到所述第二地址;
将所述第二地址返回给所述发起方,以使所述发起方从接收到的所述第二地址对应的所述第二内容分发网络节点上获取到所述灰度资源,并对所述灰度资源进行加载和渲染。
7.根据权利要求6所述的方法,其特征在于,还包括:
响应于地址覆盖指令,基于所述第二地址覆盖所述第一地址,并删除所述第二地址,以实现所述生产资源的迭代过程。
8.一种产品服务迭代装置,其特征在于,包括:
产品服务确定模块,用于响应产品服务调用请求,确定待调用的产品服务,其中,所述产品服务被分别部署在至少两个服务器集群上;
提服集群确定模块,用于根据所述产品服务的切流配置,从各所述服务器集群中确定提服集群,其中,所述提服集群用于提供所述产品服务;
产品服务迭代模块,用于将所述产品服务调用请求转发给部署在所述提服集群上的所述产品服务,以实现所述产品服务的调用过程以及在停服集群上的迭代过程,其中,所述停服集群是所述至少两个服务器集群中除所述提服集群之外的集群,所述停服集群停止提供所述产品服务。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-7中任一项所述的产品服务迭代方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现如权利要求1-7中任一所述的产品服务迭代方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211542152.5A CN115756806A (zh) | 2022-12-02 | 2022-12-02 | 一种产品服务迭代方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211542152.5A CN115756806A (zh) | 2022-12-02 | 2022-12-02 | 一种产品服务迭代方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115756806A true CN115756806A (zh) | 2023-03-07 |
Family
ID=85343051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211542152.5A Pending CN115756806A (zh) | 2022-12-02 | 2022-12-02 | 一种产品服务迭代方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115756806A (zh) |
-
2022
- 2022-12-02 CN CN202211542152.5A patent/CN115756806A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109245908B (zh) | 一种主从集群切换的方法和装置 | |
CN111460129A (zh) | 标识生成的方法、装置、电子设备和存储介质 | |
CN115840956A (zh) | 一种文件处理方法、装置、服务器及介质 | |
CN112671892B (zh) | 数据传输方法、装置、电子设备及介质 | |
CN113541987A (zh) | 一种更新配置数据的方法和装置 | |
CN117149248A (zh) | 微前端构建方法、装置、设备及存储介质 | |
CN116545905A (zh) | 一种服务健康检测方法、装置、电子设备及存储介质 | |
CN112052152A (zh) | 一种模拟测试的方法和装置 | |
CN115756806A (zh) | 一种产品服务迭代方法、装置、电子设备及存储介质 | |
CN113076343B (zh) | 数据查询方法、装置、设备及存储介质 | |
CN114896317A (zh) | 一种数据结构转换方法、装置、电子设备及存储介质 | |
CN114070889A (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN112965836A (zh) | 服务控制方法、装置、电子设备及可读存储介质 | |
CN113360689A (zh) | 图像检索***、方法、相关装置及计算机程序产品 | |
CN113220576B (zh) | 测试环境的管理方法、装置、设备以及存储介质 | |
CN116668532A (zh) | 一种数据通信方法、装置、电子设备及存储介质 | |
CN116775171A (zh) | 一种架构切换方法、装置、电子设备及存储介质 | |
CN114647634A (zh) | 创建数据库的方法、操作数据库的方法和装置 | |
CN117298599A (zh) | 一种游戏版本调度方法、***、设备及存储介质 | |
CN117609161A (zh) | 基于kubernetes的文件管理方法、装置、电子设备和存储介质 | |
CN117255100A (zh) | 一种数据同步方法、装置、电子设备及可读存储介质 | |
CN114896322A (zh) | 一种基于json配置化数据转换方法、装置、设备及介质 | |
CN115665240A (zh) | 代理服务添加方法、装置、电子设备以及存储介质 | |
CN115118787A (zh) | 一种服务控制方法、***、存储介质及电子设备 | |
CN117234751A (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 |