CN113596157A - 一种基于SpringCloud的联盟链无感发布方法 - Google Patents

一种基于SpringCloud的联盟链无感发布方法 Download PDF

Info

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
Application number
CN202110867590.8A
Other languages
English (en)
Inventor
吴志华
陆昕
鲍碧波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Green Man Technology Co ltd
Original Assignee
Green Man Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Green Man Technology Co ltd filed Critical Green Man Technology Co ltd
Priority to CN202110867590.8A priority Critical patent/CN113596157A/zh
Publication of CN113596157A publication Critical patent/CN113596157A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server 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的联盟链无感发布方法
技术领域
本发明涉及电数字数据处理的技术领域,特别涉及一种基于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进行代理转发。
CN202110867590.8A 2021-07-30 2021-07-30 一种基于SpringCloud的联盟链无感发布方法 Pending CN113596157A (zh)

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)

* Cited by examiner, † Cited by third party
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 平安科技(深圳)有限公司 基于微服务框架的灰度发布方法、装置和计算机设备

Patent Citations (13)

* Cited by examiner, † Cited by third party
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