CN110311820A - 一种不中断服务的微服务集群升级方法 - Google Patents
一种不中断服务的微服务集群升级方法 Download PDFInfo
- Publication number
- CN110311820A CN110311820A CN201910602733.5A CN201910602733A CN110311820A CN 110311820 A CN110311820 A CN 110311820A CN 201910602733 A CN201910602733 A CN 201910602733A CN 110311820 A CN110311820 A CN 110311820A
- Authority
- CN
- China
- Prior art keywords
- service instance
- service
- user
- micro services
- gateway
- 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
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种不中断服务的微服务集群升级方法,涉及数据升级技术领域;对微服务集群中微服务的服务实例分组,服务实例上报自身的访问地址和所属分组到注册中心,网关接收用户请求的同时,获取注册中心中服务实例的访问地址和所属分组,网关配置路由请求到用户指定分组的服务实例,同时停止其他分组的服务实例,启动其他分组的服务实例升级,其他分组服务实例升级完成,网关配置路由到其他分组服务实例,停止用户指定分组的服务实例,启动用户指定分组的服务实例升级,用户指定分组的服务实例升级完成,网关恢复同时路由到所有服务实例。
Description
技术领域
本发明公开一种不中断服务的微服务集群升级方法,涉及数据升级技术领域。
背景技术
随着微服务架构风格的普及,越来越多的系统转变为微服务架构。系统升级方式有以下情况:
直接停止整个集群的运行,然后重新部署升级,该方式容易导致所有用户请求中断,在一些可用性要求较高的场景如银证转账场景中,该升级方式带来较大影响,给用户带来巨大的经济损失;
停止部分服务实例,再部署新版本进行替换,重复步骤,直到所有服务实例变为新版本。该方式仍然会导致部分用户请求中断,并且升级过程中,如果用户的同类请求被负载到不同版本的服务实例上,用户的同类请求处理结果容易导致不一致的情况发生,如页面的呈现结果,在页面升级之后可能会反复出现不一致的情况;
以上情况严重影响用户体验,不利于微服务架构的发展。
本发明一种不中断服务的微服务集群升级方法,适用于具备注册中心和网关的微服务环境中的各类应用及服务的升级,较多应用于线上系统的升级部署,可在不中断后端对外服务输出的情况下,进行服务的版本升级,提升用户体验,有利于微服务架构的发展。
发明内容
本发明针对现有技术的问题,提供一种不中断服务的微服务集群升级方法,适用于具备注册中心和网关的微服务环境中的各类应用及服务的升级,较多应用于线上系统的升级部署,可在不中断后端对外服务输出的情况下,进行服务的版本升级。
本发明提出的具体方案是:
一种不中断服务的微服务集群升级方法:
对微服务集群中微服务的服务实例分组,
服务实例上报自身的访问地址和所属分组到注册中心,
网关接收用户请求的同时,获取注册中心中服务实例的访问地址和所属分组,网关配置路由请求到用户指定分组的服务实例,同时停止其他分组的服务实例,启动其他分组的服务实例升级,
其他分组服务实例升级完成,网关配置路由到其他分组服务实例,停止用户指定分组的服务实例,启动用户指定分组的服务实例升级,
用户指定分组的服务实例升级完成,网关恢复同时路由到所有服务实例。
所述的方法中将微服务集群中微服务的服务实例至少分为两组。
所述的方法中服务实例每隔一段时间上报一次自身的访问地址和所属分组到注册中心。
所述的方法中网关根据路由分组规则配置当前的路由分组到的服务实例接收用户请求,其他服务实例不接收用户请求。
一种不中断服务的微服务集群升级系统,包括微服务集群、网关和注册中心,
微服务集群中微服务的服务实例进行分组,服务实例上报自身的访问地址和所属分组到注册中心,
网关接收用户请求的同时,获取注册中心中服务实例的访问地址和所属分组,网关配置路由请求到用户指定分组的服务实例,同时停止其他分组的服务实例,启动其他分组的服务实例升级,
其他分组服务实例升级完成,网关配置路由到其他分组服务实例,停止用户指定分组的服务实例,启动用户指定分组的服务实例升级,
用户指定分组的服务实例升级完成,网关恢复同时路由到所有服务实例。
所述的系统中微服务集群中微服务的服务实例至少分为两组。
所述的系统中服务实例每隔一段时间上报一次自身的访问地址和所属分组到注册中心。
所述的系统中网关根据路由分组规则配置当前的路由分组到的服务实例接收用户请求,其他服务实例不接收用户请求。
本发明的有益之处是:
本发明提供一种不中断服务的微服务集群升级方法:
对微服务集群中微服务的服务实例分组,服务实例上报自身的访问地址和所属分组到注册中心,网关接收用户请求的同时,获取注册中心中服务实例的访问地址和所属分组,网关配置路由请求到用户指定分组的服务实例,同时停止其他分组的服务实例,启动其他分组的服务实例升级,其他分组服务实例升级完成,网关配置路由到其他分组服务实例,停止用户指定分组的服务实例,启动用户指定分组的服务实例升级,用户指定分组的服务实例升级完成,网关恢复同时路由到所有服务实例;本发明方法根据服务实例和网关的路由规则来调整网关的路由结果,保证用户的请求抵达正确的服务实例,在不中断后端对外服务输出的情况下,进行微服务的版本升级替换,提升用户体验,有利于微服务架构的发展。
附图说明
图1是本发明方法流程示意图;
图2是系统结构示意图。
具体实施方式
本发明提供一种不中断服务的微服务集群升级方法:
对微服务集群中微服务的服务实例分组,
服务实例上报自身的访问地址和所属分组到注册中心,
网关接收用户请求的同时,获取注册中心中服务实例的访问地址和所属分组,网关配置路由请求到用户指定分组的服务实例,同时停止其他分组的服务实例,启动其他分组的服务实例升级,
其他分组服务实例升级完成,网关配置路由到其他分组服务实例,停止用户指定分组的服务实例,启动用户指定分组的服务实例升级,
用户指定分组的服务实例升级完成,网关恢复同时路由到所有服务实例。
同时提供与上述方法相对应的一种不中断服务的微服务集群升级系统。
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
利用本发明方法,对某一微服务集群进行升级,具体过程为:
对微服务集群中微服务的服务实例进行分组,其中集群中的服务实例,是最终对外提供业务服务的程序,每种微服务可能有多个实例,本次实施中将服务实例分为两组,在参考图2中呈现为A组和B组,服务实例中配置有当前服务实例所属的分组,
服务实例可每隔一分钟上报一次自身的访问地址和所属分组到注册中心,注册中心负责接收和保存微服务实例上报的信息,并在网关主动获取时提供这些信息;
网关直接处理用户请求,网关接收用户请求的同时,将用户的请求,路由到正确的服务实例,由服务实例去处理,网关获取注册中心中服务实例的访问地址和所属分组,网关根据路由分组规则配置当前的路由分组到的用户请求的服务实例,例如用户请求的服务实例是A组,当前网关配置的是A组,则将请求路由到A组的服务实例,B组的服务实例并不会接收到请求,停止B组微服务实例的运行,并更新到新版本的程序进行B组服务实例升级,B组服务实例升级完成,网关配置路由到B组服务实例,停止A组的服务实例,启动A组服务实例数量相当的新版本进行服务实例升级,A组升级完成,网关恢复同时路由到A组和B组服务实例。
保证被路由到的服务实例分组永远处于运行状态,从而不中断用户请求响应。
利用本发明系统进行某一微服务集群进行升级时,本发明系统包括网关、注册中心、微服务集群,服务实例即集群中的服务实例,是最终对外提供业务服务的程序,每种微服务可能有多个实例,本次实施中分为两组,在图2中呈现为A组和B组,服务实例中配置有当前服务实例所属的分组,
服务实例可每隔一分钟上报一次自身的访问地址和所属分组到注册中心,注册中心负责接收和保存微服务实例上报的信息,并在网关主动获取时提供这些信息;
网关直接处理用户请求,网关接收用户请求的同时,将用户的请求,路由到正确的服务实例,由服务实例去处理,网关获取注册中心中服务实例的访问地址和所属分组,网关根据路由分组规则配置当前的路由分组到的用户请求的服务实例,例如用户请求的服务实例是A组,当前网关配置的是A组,则将请求路由到A组的服务实例,B组的服务实例并不会接收到请求,停止B组微服务实例的运行,并更新到新版本的程序进行B组服务实例升级,B组服务实例升级完成,网关配置路由到B组服务实例,停止A组的服务实例,启动A组服务实例数量相当的新版本进行服务实例升级,A组升级完成,网关恢复同时路由到A组和B组服务实例。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (8)
1.一种不中断服务的微服务集群升级方法,其特征是
对微服务集群中微服务的服务实例分组,
服务实例上报自身的访问地址和所属分组到注册中心,
网关接收用户请求的同时,获取注册中心中服务实例的访问地址和所属分组,网关配置路由请求到用户指定分组的服务实例,同时停止其他分组的服务实例,启动其他分组的服务实例升级,
其他分组服务实例升级完成,网关配置路由到其他分组服务实例,停止用户指定分组的服务实例,启动用户指定分组的服务实例升级,
用户指定分组的服务实例升级完成,网关恢复同时路由到所有服务实例。
2.根据权利要求1所述的方法,其特征是将微服务集群中微服务的服务实例至少分为两组。
3.根据权利要求1或2所述的方法,其特征是服务实例每隔一段时间上报一次自身的访问地址和所属分组到注册中心。
4.根据权利要求3所述的方法,其特征是网关根据路由分组规则配置当前的路由分组到的服务实例接收用户请求,其他服务实例不接收用户请求。
5.一种不中断服务的微服务集群升级系统,其特征是包括微服务集群、网关和注册中心,
微服务集群中微服务的服务实例进行分组,服务实例上报自身的访问地址和所属分组到注册中心,
网关接收用户请求的同时,获取注册中心中服务实例的访问地址和所属分组,网关配置路由请求到用户指定分组的服务实例,同时停止其他分组的服务实例,启动其他分组的服务实例升级,
其他分组服务实例升级完成,网关配置路由到其他分组服务实例,停止用户指定分组的服务实例,启动用户指定分组的服务实例升级,
用户指定分组的服务实例升级完成,网关恢复同时路由到所有服务实例。
6.根据权利要求5所述的系统,其特征是微服务集群中微服务的服务实例至少分为两组。
7.根据权利要求5或6所述的系统,其特征是服务实例每隔一段时间上报一次自身的访问地址和所属分组到注册中心。
8.根据权利要求7所述的系统,其特征是网关根据路由分组规则配置当前的路由分组到的服务实例接收用户请求,其他服务实例不接收用户请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910602733.5A CN110311820A (zh) | 2019-07-05 | 2019-07-05 | 一种不中断服务的微服务集群升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910602733.5A CN110311820A (zh) | 2019-07-05 | 2019-07-05 | 一种不中断服务的微服务集群升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110311820A true CN110311820A (zh) | 2019-10-08 |
Family
ID=68077998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910602733.5A Pending CN110311820A (zh) | 2019-07-05 | 2019-07-05 | 一种不中断服务的微服务集群升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110311820A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131397A (zh) * | 2019-12-02 | 2020-05-08 | 北京海益同展信息科技有限公司 | 应用管理方法及系统、网关平台、服务端、存储介质 |
CN111741102A (zh) * | 2020-06-18 | 2020-10-02 | 中国银行股份有限公司 | 分布式微服务应用的升级方法及装置 |
CN111913732A (zh) * | 2020-08-28 | 2020-11-10 | 平安国际智慧城市科技股份有限公司 | 一种服务更新方法、装置及管理服务器、存储介质 |
CN112073240A (zh) * | 2020-09-04 | 2020-12-11 | 上海浦东发展银行股份有限公司 | 一种基于注册中心组件的蓝绿部署系统、方法及存储介质 |
CN112202929A (zh) * | 2020-12-01 | 2021-01-08 | 湖南新云网科技有限公司 | 一种微服务架构中的服务访问方法、装置、设备 |
CN113596157A (zh) * | 2021-07-30 | 2021-11-02 | 绿漫科技有限公司 | 一种基于SpringCloud的联盟链无感发布方法 |
CN113703789A (zh) * | 2021-08-04 | 2021-11-26 | 德邦证券股份有限公司 | 部署微服务程序的方法、装置以及存储介质 |
CN114553693A (zh) * | 2022-02-21 | 2022-05-27 | 上海哔哩哔哩科技有限公司 | 网关升级方法及装置 |
CN114640586A (zh) * | 2022-05-19 | 2022-06-17 | 飞狐信息技术(天津)有限公司 | 集群的版本升级方法、装置、存储介质及设备 |
CN115202704A (zh) * | 2022-06-07 | 2022-10-18 | 珠海金智维信息科技有限公司 | Rpa应用程序的快速功能扩展方法、装置和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107589951A (zh) * | 2016-07-05 | 2018-01-16 | 北京金山云网络技术有限公司 | 一种集群升级方法及装置 |
CN108268271A (zh) * | 2016-12-29 | 2018-07-10 | 华为技术服务有限公司 | 微服务的升级方法与升级装置 |
US20180309802A1 (en) * | 2017-04-25 | 2018-10-25 | General Electric Company | Infinite micro-services architecture |
US20180321996A1 (en) * | 2017-05-04 | 2018-11-08 | Microsoft Technology Licensing, Llc | Micro- service framework derived from third-party apps |
CN109062599A (zh) * | 2018-09-11 | 2018-12-21 | 郑州云海信息技术有限公司 | 微服务架构下代码更新的管理方法和装置 |
CN109729136A (zh) * | 2018-05-14 | 2019-05-07 | 网联清算有限公司 | 代理服务器发布方法和发布服务器 |
-
2019
- 2019-07-05 CN CN201910602733.5A patent/CN110311820A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107589951A (zh) * | 2016-07-05 | 2018-01-16 | 北京金山云网络技术有限公司 | 一种集群升级方法及装置 |
CN108268271A (zh) * | 2016-12-29 | 2018-07-10 | 华为技术服务有限公司 | 微服务的升级方法与升级装置 |
US20180309802A1 (en) * | 2017-04-25 | 2018-10-25 | General Electric Company | Infinite micro-services architecture |
US20180321996A1 (en) * | 2017-05-04 | 2018-11-08 | Microsoft Technology Licensing, Llc | Micro- service framework derived from third-party apps |
CN109729136A (zh) * | 2018-05-14 | 2019-05-07 | 网联清算有限公司 | 代理服务器发布方法和发布服务器 |
CN109062599A (zh) * | 2018-09-11 | 2018-12-21 | 郑州云海信息技术有限公司 | 微服务架构下代码更新的管理方法和装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131397A (zh) * | 2019-12-02 | 2020-05-08 | 北京海益同展信息科技有限公司 | 应用管理方法及系统、网关平台、服务端、存储介质 |
CN111131397B (zh) * | 2019-12-02 | 2022-09-30 | 京东科技信息技术有限公司 | 应用管理方法及系统、网关平台、服务端、存储介质 |
CN111741102B (zh) * | 2020-06-18 | 2022-10-18 | 中国银行股份有限公司 | 分布式微服务应用的升级方法及装置 |
CN111741102A (zh) * | 2020-06-18 | 2020-10-02 | 中国银行股份有限公司 | 分布式微服务应用的升级方法及装置 |
CN111913732A (zh) * | 2020-08-28 | 2020-11-10 | 平安国际智慧城市科技股份有限公司 | 一种服务更新方法、装置及管理服务器、存储介质 |
CN112073240A (zh) * | 2020-09-04 | 2020-12-11 | 上海浦东发展银行股份有限公司 | 一种基于注册中心组件的蓝绿部署系统、方法及存储介质 |
CN112073240B (zh) * | 2020-09-04 | 2023-02-07 | 上海浦东发展银行股份有限公司 | 一种基于注册中心组件的蓝绿部署系统、方法及存储介质 |
CN112202929A (zh) * | 2020-12-01 | 2021-01-08 | 湖南新云网科技有限公司 | 一种微服务架构中的服务访问方法、装置、设备 |
CN112202929B (zh) * | 2020-12-01 | 2021-03-26 | 湖南新云网科技有限公司 | 一种微服务架构中的服务访问方法、装置、设备 |
CN113596157A (zh) * | 2021-07-30 | 2021-11-02 | 绿漫科技有限公司 | 一种基于SpringCloud的联盟链无感发布方法 |
CN113703789A (zh) * | 2021-08-04 | 2021-11-26 | 德邦证券股份有限公司 | 部署微服务程序的方法、装置以及存储介质 |
CN114553693A (zh) * | 2022-02-21 | 2022-05-27 | 上海哔哩哔哩科技有限公司 | 网关升级方法及装置 |
CN114553693B (zh) * | 2022-02-21 | 2024-03-26 | 上海哔哩哔哩科技有限公司 | 网关升级方法及装置 |
CN114640586B (zh) * | 2022-05-19 | 2023-01-06 | 飞狐信息技术(天津)有限公司 | 集群的版本升级方法、装置、存储介质及设备 |
CN114640586A (zh) * | 2022-05-19 | 2022-06-17 | 飞狐信息技术(天津)有限公司 | 集群的版本升级方法、装置、存储介质及设备 |
CN115202704A (zh) * | 2022-06-07 | 2022-10-18 | 珠海金智维信息科技有限公司 | Rpa应用程序的快速功能扩展方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110311820A (zh) | 一种不中断服务的微服务集群升级方法 | |
AU2006233221B2 (en) | Message sequencing and data translation architecture for telecommunication services | |
CN103927314B (zh) | 一种数据批量处理的方法和装置 | |
CN100517226C (zh) | 一种实现数据升级的方法、系统和升级客户端 | |
EP2835938A1 (en) | Message publishing and subscribing method and apparatus | |
CN109582289B (zh) | 规则引擎中规则流的处理方法、系统、存储介质和处理器 | |
EP1780983A1 (en) | Service broker integration layer for supporting telecommunication client service requests | |
CN110062022A (zh) | 一种服务端灰度部署应用系统api更新的方法 | |
CN110727738B (zh) | 基于数据分片的全局路由系统、电子设备及存储介质 | |
CN107015989A (zh) | 数据处理方法和装置 | |
CN103139157A (zh) | 一种基于socket的网络通信方法、装置及系统 | |
CN113840249B (zh) | 区分计费话单的方法、计费网关和系统 | |
EP2811437A1 (en) | Computer system, computer-implemented method and computer program product for sequencing incoming messages for processing at an application | |
CN109753300A (zh) | 一种算法升级方法、计算任务发送方法及相关产品 | |
CN105573757B (zh) | Android系统的语言更新方法及装置 | |
CN101789962A (zh) | 分布式系统中交换服务的方法、装置和系统 | |
JP2017054411A (ja) | Api変換アダプタ、api変換システム、及びapi変換プログラム | |
CN105656643A (zh) | 一种基于网络配置协议进行兼容管理的方法及设备 | |
CN109783248A (zh) | 数据访问方法、装置、计算机设备以及存储介质 | |
CN105763616A (zh) | 资源下载方法及装置 | |
CN102170476B (zh) | 一种基于云节点自主学习的云计算方法和装置 | |
CN102739562B (zh) | 一种收藏信息的发送方法及设备 | |
CN106462421B (zh) | 电信设备以及用于更新电信设备中的软件的方法 | |
CN106506647A (zh) | 一种客户端具有数据备份装置的智慧社区云存储系统 | |
JP2018025860A (ja) | データ分離評価装置、データ分離評価方法およびデータ分離評価プログラム |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191008 |