CN113596157A - 一种基于SpringCloud的联盟链无感发布方法 - Google Patents
一种基于SpringCloud的联盟链无感发布方法 Download PDFInfo
- Publication number
- CN113596157A CN113596157A CN202110867590.8A CN202110867590A CN113596157A CN 113596157 A CN113596157 A CN 113596157A CN 202110867590 A CN202110867590 A CN 202110867590A CN 113596157 A CN113596157 A CN 113596157A
- Authority
- CN
- China
- Prior art keywords
- eureka
- service
- server
- servers
- fixed information
- 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
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及一种基于SpringCloud的联盟链无感发布方法,Eureka服务注册中心中至少2个Eureka服务器分属联盟链中不同主体;服务以固定信息注册到Eureka服务注册中心;对更新的服务,联盟链中Eureka服务器竞争,将服务基于固定信息注册到胜出的、暂时对外停止服务Eureka服务器上并对外暴露固定信息,联盟链中活动的Eureka服务器竞争,请求端基于固定信息在胜出的Eureka服务器请求服务、平稳过渡。本发明减少对应研发人员修复数据的工作量,对联盟链中的Eureka服务器提出更高要求,基于计分、给予服务使用者更好的用户体验,对于服务发布方来说,可以达到无感发布。
Description
技术领域
本发明涉及电数字数据处理的技术领域,特别涉及一种基于SpringCloud的联盟链无感发布方法。
背景技术
停机维护是指网络服务的提供商,如网络游戏、博客等为了维护服务器的数据或对硬件作出变更,而必须完全关闭服务器或停止服务器的数据变化进行操作的行为。
随着人们生活要求的提高,对使用软件的性能、平稳的要求也越来越高,虽然在停机维护之前服务商一般会发布公告、提示停机维护的时间段,以提醒用户做好相应准备,然而停机维护期间用户确实无法使用服务商所提供的服务,用户对于软件的停机维护更新现象也确实越来越反感。
事实上,对于软件的平滑切换升级,领域内已经有一些实现方式,如nginx切换流量、金丝雀灰度发布等,然而,这些对于SpringCloud的成熟框架,在服务在发布更新将旧服务下线、Eureka还未进行健康检测的时间间隙内,服务依然处于上线状态,可能有流量进入该服务,大概率会导致此部分流量的异常。
发明内容
本发明解决了现有技术中存在的问题,提供了一种优化的基于SpringCloud的联盟链无感发布方法。
本发明所采用的技术方案是,一种基于SpringCloud的联盟链无感发布方法,
所述SpringCloud的Eureka服务注册中心包括至少2个Eureka服务器;所有的Eureka服务器分属于联盟链中不同的主体;
任一服务以固定信息注册到Eureka服务注册中心;
对任一更新的服务,联盟链中所有的Eureka服务器竞争,Eureka服务器A胜出,将服务基于固定信息注册到Eureka服务注册中心的Eureka服务器A上并对外暴露所述固定信息,注册过程中,Eureka服务器A对外停止服务;
请求端基于固定信息遍历Eureka服务注册中心,联盟链中活动的Eureka服务器竞争,Eureka服务器B胜出,请求端向Eureka服务器B请求服务。
优选地,所述Eureka服务注册中心中,联盟链的成员为其持有的Eureka服务器进行注册,Eureka服务注册中心分配任一Eureka服务器初始的权重系数。
优选地,任一Eureka服务器在每次被调用后,由联盟链的成员节点对其进行打分,基于打分对所述Eureka服务器的权重系数进行调整。
优选地,所述打分为表决制;联盟链的成员节点对Eureka服务器的调用表现进行举手表决,每预设次数的否决对Eureka服务器的权重系数进行降低,每预设次数的赞同对Eureka服务器初始的权重系数进行增加。
优选地,新服务注册在Eureka服务器时,联盟链中所有的Eureka服务器竞争,以权重由高到低进行选择。
优选地,请求端请求服务时,联盟链中所有的Eureka服务器竞争,以权重由高到低进行请求。
优选地,所述Eureka服务器A在注册新服务时对外停止服务;注册完毕后开启;
Eureka服务器A以权重由高到低与Eureka服务注册中心中的其他Eureka服务器进行匹配,若Eureka服务器B中相同的固定信息的服务与已注册的新服务不同,则Eureka服务器B对外停止服务,Eureka服务器A和Eureka服务器B同步此固定信息对应的新服务。
优选地,所述固定信息为服务提供方的主机名。
优选地,所述固定信息还包括服务提供方的端口。
优选地,所述请求端请求服务时,由代理服务LVS进行代理转发。
本发明涉及一种优化的基于SpringCloud的联盟链无感发布方法,在SpringCloud的Eureka服务注册中心包括至少2个Eureka服务器且所有的Eureka服务器分属于联盟链中不同的主体;所有的Eureka服务器同步信息;服务以固定信息注册到Eureka服务注册中心;基于此,对任一更新的服务,联盟链中所有的Eureka服务器竞争,Eureka服务器A胜出,将服务基于固定信息注册到Eureka服务注册中心的Eureka服务器A上并对外暴露所述固定信息,注册过程中,Eureka服务器A对外停止服务,而请求端可以基于固定信息遍历Eureka服务注册中心,联盟链中活动的Eureka服务器竞争,Eureka服务器B胜出,就可以请求服务、平稳过渡。
本发明一则解决了在服务更新发布时候请求异常的情况,避免了因此可能造成的异常数据,减少对应研发人员修复数据的工作量,二则对联盟链中的Eureka服务器提出更高的要求,基于计分、给予服务的使用者更好的用户体验,对于服务发布方来说,也可以达到无感发布。
具体实施方式
下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。
本发明涉及一种基于SpringCloud的联盟链无感发布方法,所述SpringCloud的Eureka服务注册中心包括至少2个Eureka服务器;所有的Eureka服务器分属于联盟链中不同的主体;
任一服务以固定信息注册到Eureka服务注册中心;
对任一更新的服务,联盟链中所有的Eureka服务器竞争,Eureka服务器A胜出,将服务基于固定信息注册到Eureka服务注册中心的Eureka服务器A上并对外暴露所述固定信息,注册过程中,Eureka服务器A对外停止服务;
请求端基于固定信息遍历Eureka服务注册中心,联盟链中活动的Eureka服务器竞争,Eureka服务器B胜出,请求端向Eureka服务器B请求服务。
所述Eureka服务注册中心中,联盟链的成员为其持有的Eureka服务器进行注册,Eureka服务注册中心分配任一Eureka服务器初始的权重系数。
任一Eureka服务器在每次被调用后,由联盟链的成员节点对其进行打分,基于打分对所述Eureka服务器的权重系数进行调整。
所述打分为表决制;联盟链的成员节点对Eureka服务器的调用表现进行举手表决,每预设次数的否决对Eureka服务器的权重系数进行降低,每预设次数的赞同对Eureka服务器初始的权重系数进行增加。
本发明中,Eureka服务注册中心面向联盟链的所有成员进行开放,联盟链的成员可以将其Eureka服务器注册在Eureka服务注册中心,进而一方面可以达到Eureka服务器被充分应用的目的,另一方面在联盟链的所有成员中可以达成互相的制约、互相的竞争,最终使得联盟链中的Eureka服务器达到更好的使用。
本发明中,当一个Eureka服务器进行新注册后,首先将被分配到初始的权重系数,一般来说为了保证一个新的Eureka服务器被充分调用,会将其权重系统分配在最高水平;每一次被调用后,成员节点对Eureka服务器进行打分,以表决制的形式,赞同为1,否决为0,当赞同的次数到达某个预设值时,则表示这个Eureka服务器可以受到所有成员的认可,此时对其权重系数进行上调,反之则下调;这里的预设值/预设次数基于联盟链的成员数量而定。
本发明中,经常被调用的Eureka服务器显然可以获得更多的流量,对于其对应的联盟链成员来说可以获得更多的有效数据;同时基于联盟链的本质,这种表决是所有成员同步知晓的,避免了作弊的情况,进而对于每个Eureka服务器的权重系数的调节真实有效。
新服务注册在Eureka服务器时,联盟链中所有的Eureka服务器竞争,以权重由高到低进行选择。
请求端请求服务时,联盟链中所有的Eureka服务器竞争,以权重由高到低进行请求。
所述Eureka服务器A在注册新服务时对外停止服务;注册完毕后开启;
Eureka服务器A以权重由高到低与Eureka服务注册中心中的其他Eureka服务器进行匹配,若Eureka服务器B中相同的固定信息的服务与已注册的新服务不同,则Eureka服务器B对外停止服务,Eureka服务器A和Eureka服务器B同步此固定信息对应的新服务。
所述固定信息为服务提供方的主机名。
所述固定信息还包括服务提供方的端口。
所述请求端请求服务时,由代理服务LVS进行代理转发。
本发明中,当需要进行服务注册时,通过固定信息,以hostName为例,将服务注册到Eureka服务注册中心,即服务注册到Eureka服务注册中心之后的暴露地址是hostName,而不是具体的IP,那么在需要远程调用该服务时,可以通过Eureka服务注册中心找到该服务,获取该服务对外暴露的hostName,通过hostName进行请求。
本发明中,当需要进行节点调用且又处于发布阶段时,由于Eureka服务注册中心内所有的Eureka服务器同步,这表示了服务在进行升级切换时,即使在某个服务节点已经对外停止、Eureka还未开始检测的短暂时间内,在进行请求时,请求会先到达中间搭建的代理服务LVS ,如nginx之类的代理服务处,由LVS进行代理转发,由于代理的作用会转发到依然目前存活的节点上,只要有一个是存活的,系统就可以正常运行,也就是说,通过其他Eureka服务器上老的注册服务使系统正常运行。
本发明中,基于这种无感发布方法,在Eureka服务注册中心应当包括至少2个Eureka服务器,且所有的Eureka服务器实时同步。
本发明中,在实际应用中,对不同的Eureka服务器作为节点分配权重,对整个方法的实现更为有利,包括在新服务注册阶段、请求端请求服务阶段以及同步阶段,均应当优先处理高权重节点的Eureka服务器;同时引入竞争机制,保证了有效的、高配置的Eureka服务器可以被优先利用。
本发明中,在LVS代理服务配置中,当服务有多节点时,需要将每个节点的实际IP地址都设置到代理服务中。
Claims (10)
1.一种基于SpringCloud的联盟链无感发布方法,其特征在于:
所述SpringCloud的Eureka服务注册中心包括至少2个Eureka服务器;所有的Eureka服务器分属于联盟链中不同的主体;
任一服务以固定信息注册到Eureka服务注册中心;
对任一更新的服务,联盟链中所有的Eureka服务器竞争,Eureka服务器A胜出,将服务基于固定信息注册到Eureka服务注册中心的Eureka服务器A上并对外暴露所述固定信息,注册过程中,Eureka服务器A对外停止服务;
请求端基于固定信息遍历Eureka服务注册中心,联盟链中活动的Eureka服务器竞争,Eureka服务器B胜出,请求端向Eureka服务器B请求服务。
2.根据权利要求1所述的一种基于SpringCloud的联盟链无感发布方法,其特征在于:所述Eureka服务注册中心中,联盟链的成员为其持有的Eureka服务器进行注册,Eureka服务注册中心分配任一Eureka服务器初始的权重系数。
3.根据权利要求2所述的一种基于SpringCloud的联盟链无感发布方法,其特征在于:任一Eureka服务器在每次被调用后,由联盟链的成员节点对其进行打分,基于打分对所述Eureka服务器的权重系数进行调整。
4.根据权利要求3所述的一种基于SpringCloud的联盟链无感发布方法,其特征在于:所述打分为表决制;联盟链的成员节点对Eureka服务器的调用表现进行举手表决,每预设次数的否决对Eureka服务器的权重系数进行降低,每预设次数的赞同对Eureka服务器初始的权重系数进行增加。
5.根据权利要求3所述的一种基于SpringCloud的联盟链无感发布方法,其特征在于:新服务注册在Eureka服务器时,联盟链中所有的Eureka服务器竞争,以权重由高到低进行选择。
6.根据权利要求3所述的一种基于SpringCloud的联盟链无感发布方法,其特征在于:请求端请求服务时,联盟链中所有的Eureka服务器竞争,以权重由高到低进行请求。
7.根据权利要求2或3所述的一种基于SpringCloud的联盟链无感发布方法,其特征在于:所述Eureka服务器A在注册新服务时对外停止服务;注册完毕后开启;
Eureka服务器A以权重由高到低与Eureka服务注册中心中的其他Eureka服务器进行匹配,若Eureka服务器B中相同的固定信息的服务与已注册的新服务不同,则Eureka服务器B对外停止服务,Eureka服务器A和Eureka服务器B同步此固定信息对应的新服务。
8.根据权利要求1所述的一种基于SpringCloud的联盟链无感发布方法,其特征在于:所述固定信息为服务提供方的主机名。
9.根据权利要求7所述的一种基于SpringCloud的联盟链无感发布方法,其特征在于:所述固定信息还包括服务提供方的端口。
10.根据权利要求1所述的一种基于SpringCloud的联盟链无感发布方法,其特征在于:所述请求端请求服务时,由代理服务LVS进行代理转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110867590.8A CN113596157A (zh) | 2021-07-30 | 2021-07-30 | 一种基于SpringCloud的联盟链无感发布方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110867590.8A CN113596157A (zh) | 2021-07-30 | 2021-07-30 | 一种基于SpringCloud的联盟链无感发布方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113596157A true CN113596157A (zh) | 2021-11-02 |
Family
ID=78252165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110867590.8A Pending CN113596157A (zh) | 2021-07-30 | 2021-07-30 | 一种基于SpringCloud的联盟链无感发布方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113596157A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791337A (zh) * | 2014-12-19 | 2016-07-20 | 华为数字技术(苏州)有限公司 | 一种升级方法、设备及集群系统 |
CN105915655A (zh) * | 2016-06-30 | 2016-08-31 | 上海智臻智能网络科技股份有限公司 | 网络代理方法和代理系统 |
WO2016171527A1 (ko) * | 2015-04-23 | 2016-10-27 | 엘지전자 주식회사 | 무선 통신 시스템에서 nan 프록시 서버에 등록을 수행하는 방법 및 장치 |
CN106850746A (zh) * | 2016-12-23 | 2017-06-13 | 微梦创科网络科技(中国)有限公司 | 服务平滑升级的方法及装置 |
CN108268271A (zh) * | 2016-12-29 | 2018-07-10 | 华为技术服务有限公司 | 微服务的升级方法与升级装置 |
US20180205800A1 (en) * | 2015-07-10 | 2018-07-19 | Lg Electronics Inc. | Method for updating proxy service in wireless communication system and device therefor |
CN109814905A (zh) * | 2019-01-17 | 2019-05-28 | 上海边界智能科技有限公司 | 一种基于区块链的软件升级方法及装置 |
CN110311820A (zh) * | 2019-07-05 | 2019-10-08 | 山东云缦智能科技有限公司 | 一种不中断服务的微服务集群升级方法 |
CN111240732A (zh) * | 2020-01-17 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 分布式微服务的发布方法、装置、设备及存储介质 |
CN111277544A (zh) * | 2018-12-05 | 2020-06-12 | 中国电信股份有限公司 | 通信方法、系统和相关设备 |
US20200379875A1 (en) * | 2019-05-29 | 2020-12-03 | Microsoft Technology Licensing, Llc | Software regression recovery via automated detection of problem change lists |
CN112073240A (zh) * | 2020-09-04 | 2020-12-11 | 上海浦东发展银行股份有限公司 | 一种基于注册中心组件的蓝绿部署系统、方法及存储介质 |
WO2021051623A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 基于微服务框架的灰度发布方法、装置和计算机设备 |
-
2021
- 2021-07-30 CN CN202110867590.8A patent/CN113596157A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791337A (zh) * | 2014-12-19 | 2016-07-20 | 华为数字技术(苏州)有限公司 | 一种升级方法、设备及集群系统 |
WO2016171527A1 (ko) * | 2015-04-23 | 2016-10-27 | 엘지전자 주식회사 | 무선 통신 시스템에서 nan 프록시 서버에 등록을 수행하는 방법 및 장치 |
US20180205800A1 (en) * | 2015-07-10 | 2018-07-19 | Lg Electronics Inc. | Method for updating proxy service in wireless communication system and device therefor |
CN105915655A (zh) * | 2016-06-30 | 2016-08-31 | 上海智臻智能网络科技股份有限公司 | 网络代理方法和代理系统 |
CN106850746A (zh) * | 2016-12-23 | 2017-06-13 | 微梦创科网络科技(中国)有限公司 | 服务平滑升级的方法及装置 |
CN108268271A (zh) * | 2016-12-29 | 2018-07-10 | 华为技术服务有限公司 | 微服务的升级方法与升级装置 |
CN111277544A (zh) * | 2018-12-05 | 2020-06-12 | 中国电信股份有限公司 | 通信方法、系统和相关设备 |
CN109814905A (zh) * | 2019-01-17 | 2019-05-28 | 上海边界智能科技有限公司 | 一种基于区块链的软件升级方法及装置 |
US20200379875A1 (en) * | 2019-05-29 | 2020-12-03 | Microsoft Technology Licensing, Llc | Software regression recovery via automated detection of problem change lists |
CN110311820A (zh) * | 2019-07-05 | 2019-10-08 | 山东云缦智能科技有限公司 | 一种不中断服务的微服务集群升级方法 |
WO2021051623A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 基于微服务框架的灰度发布方法、装置和计算机设备 |
CN111240732A (zh) * | 2020-01-17 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 分布式微服务的发布方法、装置、设备及存储介质 |
CN112073240A (zh) * | 2020-09-04 | 2020-12-11 | 上海浦东发展银行股份有限公司 | 一种基于注册中心组件的蓝绿部署系统、方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850746B (zh) | 服务平滑升级的方法及装置 | |
US8521853B2 (en) | Apparatus and method for server network management to provide zero planned retrofit downtime | |
US10027580B2 (en) | Methods, systems, and computer readable media for performing stateful diameter routing with diameter routing agents that use different mechanisms to achieve stateful routing | |
WO2021104101A1 (zh) | 游戏服务器架构 | |
US20120315996A1 (en) | System for managing ip addresses in a network gaming environment | |
CN102035864B (zh) | 一种开放式服务的实现方法及系统 | |
CN103220165B (zh) | 一种服务器主动宕机的处理方法和装置 | |
CN102594876A (zh) | 游戏实时数据和更新数据的混合加速方法和系统 | |
WO1995031072A2 (en) | An improved modem to support multiple site call conferenced data communications | |
US20050198294A1 (en) | Sharing of NAS information between PoPs | |
CN100534056C (zh) | 一种在网络游戏中用户登录的方法及系统 | |
US8930547B2 (en) | Techniques for achieving storage and network isolation in a cloud storage environment | |
CN108057241A (zh) | 一种竞技类型游戏服务器系统及其交互方法 | |
CN101795295A (zh) | 一种基于点对点技术的局域网病毒库升级系统和方法 | |
CN106874267A (zh) | 一种异步实现发票实时上传的方法 | |
CN108306942A (zh) | 多用户同时直播的通信方法、存储介质、电子设备及系统 | |
CN109621408A (zh) | 一种游戏服务器场景进程负载均衡方法 | |
CN101330510A (zh) | 下发目录树数据的方法、系统和服务器,以及一种客户端 | |
CN113596157A (zh) | 一种基于SpringCloud的联盟链无感发布方法 | |
CN103596202B (zh) | 虚拟hss及其实现方法 | |
CN110099128B (zh) | 一种认证数据同步方法及装置 | |
CN103581197B (zh) | 跨服务器实现团队数据处理的方法和系统 | |
US20020116497A1 (en) | Method for managing PC to PC audio communications | |
CN105978746B (zh) | 游戏服务器集群系统及提高游戏空间服务方法 | |
CN103703745A (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 |