CN105245603B - 集群服务器控制方法及*** - Google Patents
集群服务器控制方法及*** Download PDFInfo
- Publication number
- CN105245603B CN105245603B CN201510671787.9A CN201510671787A CN105245603B CN 105245603 B CN105245603 B CN 105245603B CN 201510671787 A CN201510671787 A CN 201510671787A CN 105245603 B CN105245603 B CN 105245603B
- Authority
- CN
- China
- Prior art keywords
- server
- cluster
- zookeeper
- gateserver
- list
- 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.)
- Active
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种集群服务器控制方法,包括:GateServer向zookeeper发出请求,要求其监控集群中各成员服务器上线或下线的状态变化;集群中的成员服务器启动时,主动向zookeeper进行注册,并在zookeeper中形成注册列表;zookeeper将成员服务器的状态变化通知GateServer,并在GateServer中形成服务器列表;集群中的成员服务器停止工作时,zookeeper主动将停止工作的成员服务器从其注册列表中删除,并通知GateServer进行服务器列表更新;客户端启动时,向GateServer请求最新的服务器列表。本发明还公开一种集群服务器控制***,包括GateServer、zookeeper、至少一个成员服务器、以及至少一个客户端。如此方案,能够在服务器上线或下线时,及时将可用的服务器更新到最新的服务器列表,并将不可用的服务器从服务器列表中删除,无需人工干预。
Description
技术领域
本申请涉及互联网应用技术领域,具体地说,涉及一种集群服务器控制方法及***。
背景技术
当前,云计算和智能集群已经成为当前最重要的计算架构之一。无论是云计算中的云还是智能集群中的集群都是由一些具有运算能力的成员构成,这些成员的计算能力可能由单独的物理设备提供,也可能是基于虚拟机、虚拟化等技术运行在物理设备上的一些逻辑节点。云计算和智能集群的特点是高度的动态性,其中一个最重要的部分是集群成员动态的增加、删除。传统的方式,集群都是通过静态的配置,进行成员的分配,集群的构成静态,如果需要增加、删除成员需要通过重新配置集群,集群成员的变更不够灵活。目前流行一些基于组播和点对点技术的动态集群维护方案,涉及到的通信技术繁琐复杂,维护和配置的复杂性较高,对于大型的集群结构稳定性很难保证。集群构成的静态配置不能满足高度动态的计算环境的要求,而通过组播和点对点等技术维护的动态集群架构过于复杂。
特别是,由于云服务器的特殊需要,需要服务在不可用的时候将不可用的集群成员服务器节点摘除,其中不可用的原因可能是崩溃、维护、升级等,所以服务器集群需要一套完善的全自动上线下线策略,以通知集群服务器最新的可用服务器列表。
发明内容
有鉴于此,本申请所要解决的技术问题是提供了一种集群服务器控制方法及***,能够在服务器上线或下线时,及时将可用的服务器更新到最新的服务器列表,并将不可用的服务器从服务器列表中删除,整个过程中,服务器随着运维活动自动处理,无需人工干预。
为了解决上述技术问题,本申请有如下技术方案:
本发明提供一种集群服务器控制方法,其特征在于,包括:
GateServer向zookeeper发出请求,要求其监控集群中各成员服务器上线或下线的状态变化;
集群中的成员服务器启动时,主动向zookeeper进行注册,并在zookeeper中形成注册列表;zookeeper将成员服务器的状态变化通知GateServer,并在GateServer中形成服务器列表;
集群中的成员服务器停止工作时,zookeeper主动将停止工作的成员服务器从其注册列表中删除,并通知GateServer进行服务器列表更新;
客户端启动时,向GateServer请求最新的服务器列表。
优选地,其中,客户端访问集群中成员服务器的请求连续失败预设次数n次时,客户端重新通过GateServer获取最新的可用的服务器列表。
优选地,其中,所述预设次数n为3
优选地,其中,集群中的成员服务器对集群中的其他成员服务器进行访问时,先从zookeeper获取服务器的注册列表,再进行访问请求。
优选地,其中,所述GateServer无需监控已注册到zookeeper的且不对外提供服务的成员服务器的状态变化。
本发明还提供一种集群服务器控制***,其特征在于,包括GateServer、zookeeper、至少一个成员服务器、以及至少一个客户端,
所述GateServer,用于向zookeeper发出请求,要求其监控集群中各成员服务器上线或下线的状态变化,形成服务器列表;并用于在收到zookeeper提供的成员服务器状态变化的通知时,更新其服务器列表;
所述zookeeper,用于监控集群中各成员服务器的上线或下线的状态变化,在成员服务器启动时,对成员服务器进行注册,形成成员服务器的注册列表;在成员服务器停止工作时,主动将停止工作的成员服务器从其注册列表中删除;并用于向GateServer通知所述成员服务器的状态变化;
所述至少一个成员服务器,用于在启动时,主动向zookeeper进行注册;
所述至少一个客户端,用于在启动时,向GateServer请求最新的服务器列表。
优选地,其中,所述至少一个客户端还用于在对集群中成员服务器的访问请求连续失败预设次数n次时,重新通过GateServer获取最新的可用的服务器列表。
优选地,其中,所述预设次数n为3。
优选地,其中,所述至少一个成员服务器还用于在对集群中的其它成员服务器进行访问时,先从zookeeper获取服务器的注册列表,再进行访问请求。
优选地,其中,所述GateServer无需监控已注册到zookeeper的且不对外提供服务的成员服务器的状态变化。
与现有技术相比,本申请所述的方法及***,达到了如下效果:
第一,利用本发明的集群服务器控制方法及***,当服务器集群中的成员服务器进入维护状态的时候,会自动地从整个服务器集群中下线,不再提供服务;当成员服务器启动的时候,该成员服务器会自动注册到服务器集群中并能够立即提供服务,从而使得整个服务器集群正常运作。
第二,利用本发明的集群服务器控制方法及***,当服务器集群中的成员服务器异常下线时(程序崩溃、***崩溃、断电、***维护升级等),服务器集群中的zookeeper能够及时感知,并能够通知GateServer进行服务器更新。
第三,利用本发明的集群服务器控制方法及***,当集群中的成员服务器上线或下线时,能够及时将可用的服务器更新到最新的服务器列表中,并将不可用的服务器从服务器列表中删除,整个过程中,服务器随着运维活动自动处理,无需人工干预。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明的所述一种集群服务器控制方法流程图;
图2为本发明的所述一种集群服务器控制***的构成示意图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
实施例1
参见图1所示为本申请所述一种集群服务器控制方法的具体实施例,本实施例中所述方法包括以下步骤:
步骤101、GateServer(网关服务器)向zookeeper发出请求,要求其监控集群中各成员服务器上线或下线的状态变化;
步骤102、集群中的成员服务器启动时(例如图2所示的第一成员服务器31和第二成员服务器32),主动向zookeeper进行注册,并在zookeeper中形成注册列表;zookeeper将成员服务器的状态变化通知GateServer,并在GateServer中形成服务器列表;
步骤103、集群中的成员服务器停止工作时(例如图2所示的第三成员服务器33),zookeeper主动将停止工作的成员服务器从其注册列表中删除,并通知GateServer进行服务器列表更新;
步骤104、客户端启动时,向GateServer请求最新的服务器列表。
上述方案中,当集群中成员服务器的状态发生变化时,zookeeper均能够及时感知并通知GateServer,有成员服务器上线时,会自动在zookeeper进行注册,形成注册列表;有成员服务器由于崩溃、维护或升级等原因停止工作时,zookeeper会及时将停止工作的服务器从其注册列表中删除。GateServer从zookeeper获取成员服务器的最新状态,并及时将其服务器列表更新。当有客户端启动时,客户端能够向Gate获取到最新的服务器列表。整个过程随着运维活动自动处理,使得服务器集群具备了一套完善的全自动上线下线策略,无需人工干预。
上述步骤104中,客户端访问集群中成员服务器的请求连续失败预设次数n次时,客户端重新通过GateServer获取最新的可用的服务器列表。
通常,客户端会通过GateServer获取当前可用的服务器列表,根据需求来向对应的服务器发起访问请求,如果某个服务器在此过程中发生了崩溃或是进入维护状态(例如图2所示的第三服务器33),那么客户端将不会及时得知服务器的状态,该客户端会表现出目标服务器无法连接。因此,本发明设计了上述新客户端更新服务器列表的策略,如果客户端访问集群中某个成员服务器的请求连续失败n次时,那么客户端将需重新通过GateServer获取新的可用的服务器列表。通常,可将上述访问失败的次数设为3次。
本发明集群服务器控制方法还包括:集群中的成员服务器对集群中的其他成员服务器进行访问时,先从zookeeper获取服务器的注册列表,再进行访问请求。利用此种方案,集群中的服务器想要互相访问时,无需提前获知对方是否在线,当需要访问时,只需从zookeeper的注册列表中获取可用的服务器即可。
本发明中,GateServer无需监控已注册到zookeeper的且不对外提供服务的成员服务器的状态变化,例如图2中的第四成员服务器34和第五成员服务器35为后台提供服务,不对外提供服务,因此GateServer无需维护服务器列表中这些不对外提供服务成员服务器,也无需存储这些服务器列表,以节省GateServer的内存,使整个服务器集群的工作更加顺畅。
实施例2
参见图2所示为本申请所述一种集群服务器控制***的具体实施例,本实施例中所述***包括GateServer10、zookeeper20、至少一个成员服务器、以及至少一个客户端40,图2中的成员服务器包括第一成员服务器31、第二成员服务器32、第三成员服务器33、第四成员服务器34、第五成员服务器35,其中,
GateServer10,用于向zookeeper20发出请求,要求其监控集群中各成员服务器上线或下线的状态变化,形成服务器列表;并用于在收到zookeeper20提供的成员服务器状态变化的通知时,更新其服务器列表;
zookeeper20,用于监控集群中各成员服务器的上线或下线的状态变化,在成员服务器启动时,对成员服务器进行注册,形成成员服务器的注册列表;在成员服务器停止工作时,例如图2所示的第三成员服务器,当期属于维护状态时将停止工作,此时,zookeeper20会主动将停止工作的第三成员服务器33从其注册列表中删除;并用于向GateServer10通知所述成员服务器的状态变化;
至少一个成员服务器,用于在启动时,主动向zookeeper20进行注册;
至少一个客户端40,用于在启动时,向GateServer10请求最新的服务器列表。
上述至少一个客户端40还用于在对集群中成员服务器的访问请求连续失败预设次数n次时,重新通过GateServer10获取最新的可用的服务器列表。
通常,可将上述访问请求连续失败的次数设为3次。
上述实施例中,至少一个成员服务器还用于在对集群中的其它成员服务器进行访问时,先从zookeeper20获取服务器的注册列表,再进行访问请求。
上述实施例中,GateServer10无需监控已注册到zookeeper20的且不对外提供服务的成员服务器的状态变化,例如图2中的第四成员服务器34和第五成员服务器35属于后台服务器,不对外提供服务,则GateServer10无需监控这两个服务器的状态,以节省GateServer10的内存,使整个服务器集群的工作更加顺畅。
通过以上各实施例可知,本申请存在的有益效果是:
第一,利用本发明的集群服务器控制方法及***,当服务器集群中的成员服务器进入维护状态的时候,会自动地从整个服务器集群中下线,不再提供服务;当成员服务器启动的时候,该成员服务器会自动注册到服务器集群中并能够立即提供服务,从而使得整个服务器集群正常运作。
第二,利用本发明的集群服务器控制方法及***,当服务器集群中的成员服务器异常下线时(程序崩溃、***崩溃、断电、***维护升级等),服务器集群中的zookeeper能够及时感知,并能够通知GateServer进行服务器更新。
第三,利用本发明的集群服务器控制方法及***,当集群中的成员服务器上线或下线时,能够及时将可用的服务器更新到最新的服务器列表中,并将不可用的服务器从服务器列表中删除,整个过程中,服务器随着运维活动自动处理,无需人工干预。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。
Claims (8)
1.一种集群服务器控制方法,其特征在于,包括:
GateServer向zookeeper发出请求,要求其监控集群中各成员服务器上线或下线的状态变化,GateServer无需监控已注册到zookeeper的且不对外提供服务的成员服务器的状态变化;
集群中的成员服务器启动时,主动向zookeeper进行注册,并在zookeeper中形成注册列表;zookeeper将成员服务器的状态变化通知GateServer,并在GateServer中形成服务器列表;
集群中的成员服务器停止工作时,zookeeper主动将停止工作的成员服务器从其注册列表中删除,并通知GateServer进行服务器列表更新;
客户端启动时,向GateServer请求最新的服务器列表。
2.根据权利要求1所述集群服务器控制方法,其特征在于,进一步还包括:
客户端访问集群中成员服务器的请求连续失败预设次数n次时,客户端重新通过GateServer获取最新的可用的服务器列表。
3.根据权利要求2所述集群服务器控制方法,其特征在于,
所述预设次数n为3。
4.根据权利要求1所述集群服务器控制方法,其特征在于,进一步还包括:
集群中的成员服务器对集群中的其他成员服务器进行访问时,先从zookeeper获取服务器的注册列表,再进行访问请求。
5.一种集群服务器控制***,其特征在于,包括GateServer、zookeeper、至少一个成员服务器、以及至少一个客户端,
所述GateServer,用于向zookeeper发出请求,要求其监控集群中各成员服务器上线或下线的状态变化,形成服务器列表,GateServer无需监控已注册到zookeeper的且不对外提供服务的成员服务器的状态变化;并用于在收到zookeeper提供的成员服务器状态变化的通知时,更新其服务器列表;
所述zookeeper,用于监控集群中各成员服务器的上线或下线的状态变化,在成员服务器启动时,对成员服务器进行注册,形成成员服务器的注册列表;在成员服务器停止工作时,主动将停止工作的成员服务器从其注册列表中删除;并用于向GateServer通知所述成员服务器的状态变化;
所述至少一个成员服务器,用于在启动时,主动向zookeeper进行注册;
所述至少一个客户端,用于在启动时,向GateServer请求最新的服务器列表。
6.根据权利要求5所述的集群服务器控制***,其特征在于,
所述至少一个客户端还用于在对集群中成员服务器的访问请求连续失败预设次数n次时,重新通过GateServer获取最新的可用的服务器列表。
7.根据权利要求6所述的集群服务器控制***,其特征在于,
所述预设次数n为3。
8.根据权利要求5所述的集群服务器控制***,其特征在于,
所述至少一个成员服务器还用于在对集群中的其它成员服务器进行访问时,先从zookeeper获取服务器的注册列表,再进行访问请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510671787.9A CN105245603B (zh) | 2015-10-15 | 2015-10-15 | 集群服务器控制方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510671787.9A CN105245603B (zh) | 2015-10-15 | 2015-10-15 | 集群服务器控制方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105245603A CN105245603A (zh) | 2016-01-13 |
CN105245603B true CN105245603B (zh) | 2019-02-26 |
Family
ID=55043101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510671787.9A Active CN105245603B (zh) | 2015-10-15 | 2015-10-15 | 集群服务器控制方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105245603B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721200A (zh) * | 2016-01-21 | 2016-06-29 | 北京乐动卓越科技有限公司 | 主从式服务器***的应用方法及该*** |
CN107295031A (zh) * | 2016-03-30 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种数据同步方法及装置 |
CN106559332B (zh) * | 2016-11-03 | 2020-08-18 | Tcl科技集团股份有限公司 | 一种快速组建全连通服务器集群的方法和*** |
CN106656592B (zh) * | 2016-12-19 | 2020-02-18 | 贵州白山云科技股份有限公司 | 基于角色配置的服务管理方法和装置 |
CN107343034B (zh) * | 2017-06-26 | 2019-12-27 | 杭州铭师堂教育科技发展有限公司 | 基于QConf的Redis高可用***及方法 |
CN107566217B (zh) * | 2017-09-19 | 2020-11-13 | 顺丰科技有限公司 | 一种流量控制方法、装置、设备、存储介质 |
CN109525431B (zh) * | 2018-12-07 | 2022-05-10 | 桂林力港网络科技股份有限公司 | 一种不停服升级服务器的方法、装置及存储介质 |
CN111464574B (zh) * | 2019-01-21 | 2022-10-21 | 阿里巴巴集团控股有限公司 | 调用、加载、注册、管理方法和路由、服务器、节点和介质 |
CN110336884B (zh) * | 2019-07-09 | 2022-03-29 | 西安点告网络科技有限公司 | 服务器集群更新方法和装置 |
CN110572277A (zh) * | 2019-08-15 | 2019-12-13 | 上海易点时空网络有限公司 | 机器管理方法及*** |
CN110502266A (zh) * | 2019-08-26 | 2019-11-26 | 中电九天智能科技有限公司 | 一种CIM server集群无缝更新方法 |
CN113094074B (zh) * | 2021-05-07 | 2024-03-19 | 聚好看科技股份有限公司 | 一种服务集群的更新方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795572A (zh) * | 2014-01-24 | 2014-05-14 | 北京京东尚科信息技术有限公司 | 主从服务器的切换方法及监控服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9172608B2 (en) * | 2012-02-07 | 2015-10-27 | Cloudera, Inc. | Centralized configuration and monitoring of a distributed computing cluster |
US9690671B2 (en) * | 2013-11-01 | 2017-06-27 | Cloudera, Inc. | Manifest-based snapshots in distributed computing environments |
-
2015
- 2015-10-15 CN CN201510671787.9A patent/CN105245603B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795572A (zh) * | 2014-01-24 | 2014-05-14 | 北京京东尚科信息技术有限公司 | 主从服务器的切换方法及监控服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN105245603A (zh) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105245603B (zh) | 集群服务器控制方法及*** | |
CN108632338B (zh) | 存储***和用于提供自动存储发现的方法 | |
DE102012210582B4 (de) | Verringern der Auswirkung des Ausfalls einer Vermittlungsstelle in einem Schaltnetzwerk mittels Schaltkarten | |
US10404690B2 (en) | Authentication-free configuration for service controllers | |
CN107800565B (zh) | 巡检方法、装置、***、计算机设备和存储介质 | |
US11082505B2 (en) | Dynamic discovery of available storage servers | |
CN111328392B (zh) | 部分供应的虚拟机的部署 | |
TW201423429A (zh) | 伺服器管理方法及裝置 | |
CN105721200A (zh) | 主从式服务器***的应用方法及该*** | |
CN104199957A (zh) | 一种Redis通用代理的实现方法 | |
CN112368982A (zh) | 用于机箱管理的多节点发现和主选举过程 | |
US8583798B2 (en) | Unidirectional resource and type dependencies in oracle clusterware | |
DE112016000587T5 (de) | Interoperabilität von entdeckungs- und verbindungsprotokollen zwischen clientvorrichtungen und ersten bildschirmvorrichtungen | |
US20190171602A1 (en) | Systems and methods for supporting inter-chassis manageability of nvme over fabrics based systems | |
CN106126283B (zh) | 一种产品部署的方法、装置及*** | |
CN110365524B (zh) | 服务器节点固件的镜像升级方法及*** | |
CN113312145A (zh) | 一种容器调度方法、装置、电子设备及介质 | |
CN105100185A (zh) | 事务中间件机器环境中处理数据库状态通知的***和方法 | |
US20110179169A1 (en) | Special Values In Oracle Clusterware Resource Profiles | |
CN114518970A (zh) | 动态资产模型信息视图的高可用性 | |
EP2732369A2 (de) | Computersystem, verfahren zum starten eines server-computers, server-computer, managementstation und verwendung | |
CN111095134B (zh) | 用于综合楼宇自动化***的容错服务 | |
US20150244780A1 (en) | System, method and computing apparatus to manage process in cloud infrastructure | |
US9288178B2 (en) | Inventory updating of an internet protocol (IP) alias within a highly available computing cluster | |
CN110851186A (zh) | 网络设备重启的方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |