CN105471995B - 基于SOA的大规模Web服务机群高可用实现方法 - Google Patents
基于SOA的大规模Web服务机群高可用实现方法 Download PDFInfo
- Publication number
- CN105471995B CN105471995B CN201510874522.9A CN201510874522A CN105471995B CN 105471995 B CN105471995 B CN 105471995B CN 201510874522 A CN201510874522 A CN 201510874522A CN 105471995 B CN105471995 B CN 105471995B
- Authority
- CN
- China
- Prior art keywords
- node
- cluster
- service
- group
- host
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000012544 monitoring process Methods 0.000 claims abstract description 20
- 230000003111 delayed effect Effects 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000000429 assembly Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
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/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- 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/1034—Reaction to server failures by a load balancer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于SOA的大规模Web服务机群高可用实现方法,在于一个机房中分布有大量web业务服务器,服务器运行了相同或者不同的web服务;为每个web服务设定需要的硬件和软件资源,包括服务器列表、服务进程、硬盘和IP地址池;为各个web服务设置监控资源和监控策略;在监控资源发现异常时,对web服务进行失效转移;设置web集群主管理节点选举策略,在集群启动时选举主管理节点,并在主管理节点失效时重新选举,避免使用专门的服务器作为备份服务器,并且由于可以为失效切换组设置多个可启动服务器,从而使业务具有更高的可靠性,确保了用户业务高可用的基础上,降低用户投资、管理的复杂度和维护的费用。
Description
技术领域
本发明涉及一种SOA架构系统,具体地说,涉及一种基于SOA的大规模Web服务机群高可用实现方法,属于计算机技术领域。
背景技术
随着信息化建设的不断推进,各个企事业单位的活动越来越多的依赖于其关键的业务信息系统,这些业务信息系统对整个机构的运营和发展起着至关重要的作用,一旦发生宕机故障或者应用停机,将给机构带来巨大的经济损失。如此可见,对于那些需要保障信息安全和提供不间断的信息服务的机构来说,业务系统的容错性和不间断性显得尤为重要。如何保障各种关键应用持续运营,达到有序经营的良性循环,已成为当今企事业单位和IT领域急需解决的关键问题。
目前常用的保护方式是通过1+1热备来实现业务的高可用。1+1热备构建需要备份服务器与主应用服务器一比一的构建,备份服务器在主应用服务器正常时处于启动但未激活的相对应业务所需要的资源。主应用服务器在发生故障时,备份服务器接管业务所有需要的资源,继续提供业务。1+1应用需要用户配置一比一的备份服务器,这对于用户投资和后期管理、能耗等方面都是一个比较大的挑战。
发明内容
本发明要解决的问题是针对以上不足,提出一种基于SOA的大规模Web服务机群高可用实现方法,该方法能够在确保用户业务高可用的基础上,降低用户投资、管理的复杂度和维护的费用。
为解决以上技术问题,本发明采取的技术方案如下:基于SOA的大规模Web服务机群高可用实现方法,其特征在于,该方法包括:
在于一个机房中分布有大量web业务服务器,服务器运行了相同或者不同的web服务;为每个web服务设定需要的硬件和软件资源,包括服务器列表、服务进程、硬盘和IP地址池;为各个web服务设置监控资源和监控策略;在监控资源发现异常时,对web服务进行失效转移;设置web集群主管理节点选举策略,在集群启动时选举主管理节点,并在主管理节点失效时重新选举。
进一步地,所述方法包括:
1)设置高可用web服务集群包含的服务器及其集群相关信息,包括设置
集群管理IP地址和端口号;设置集群中节点的优先级顺序,作为选举主节点算法的依据;
2)创建失效切换组及其服务业务需要的资源和监控资源,包括业务运行需要的相关策略,设置业务组的运行冲突组;
3)启动服务集群,选取服务集群主节点,选取主节点根据相关配置启动高可用集群中的所有服务业务;
4)如果在业务运行中出现节点宕机,主节点检测到到服务节点宕机,判断服务集群是否是整个组崩溃状态;如果集群不是整个组崩溃状态,依次为运行在此节点上的所有组查找可运行下一节点;
5)在业务运行中出现业务所需资源异常致使服务业务中断,节点监控资
源发现异常,上报主节点,主节点停止原节点对应组运行的各个资源,并计算可运行的另一节点。
进一步地,启动服务集群还包括以下处理步骤:
1)服务集群各节点应当广播该节点优先级和节点配置文件信息,各节点处理并存储其它节点优先级和配置文件信息;
2)各节点比较其他节点配置文件信息,判断本节点的优先级是否为最高优先级,如果本节点的优先级为最优,则判断本节点为集群主节点,否则主节点非集群主节点;
3)通过上诉选举算法选出的集群主节点,首先主节点将本机是主节点的信息广播给所有其他节点,其他节点回应认同该节点是主节点的信息。如果存在多个主节点的冲突,则这几个主节点相互发送带有时间戳的信息,然后这几个节点根据时间戳的先手顺序,哪个时间戳最新,则这个节点为主节点,并将该信息广播给其他所有节点;
4)主节点发出获取到的服务集群所有服务业务组的状态,各个节点回复运行组的状态;主节点根据配置信息确定未启动的web服务,并计算对应组的可运行的下一节点,并将未启动的web服务在该节点上运行。
进一步地,计算对应组的可运行的下一节点包括:
主节点根据配置的顺序,依次查找节点上正在运行的服务组是否和将要运行的服务组有冲突;如果无冲突,则在该节点上运行该服务组;如果有冲突,则依次询问下一个节点。如果所有节点都询问完,则将该信息在管理界面上展示。
本发明采用以上技术方案,与现有技术相比,具有以下优点:在多节点集群中选举主节点,并在主节点宕机之后重新选举,并确保集群的状态始终处于一致状态;选举算法的依据为集群节点的的优先级;优先级为设定的优先级,如果优先级有相同的,则相同节点有争用主节点的算法;争用主节点的算法为优先级相同的节点互相发送带有时间戳的争用信息,谁的时间戳最早,谁就为主节点;配置文件在生成时,计算一个32位的唯一码,作为集群的唯一标识,唯一标识始终不变。
在确定主节点后,为主节点添加集群IP,从而使集群管理客户端可以通过集群IP与整个集群建立联系。集群中的所有节点的控制权在主节点上,由主节点接受节点和组的失效,并决定失效切换组运行的服务器;
通过为失效切换组配置多个运行服务器,并设置失效切换组的互斥组,从而可以使失效切换组具有多个可启动服务器,从而避免使用专门的服务器作为备份服务器,并且由于可以为失效切换组设置多个可启动服务器,从而使业务具有更高的可靠性,确保了用户业务高可用的基础上,降低用户投资、管理的复杂度和维护的费用。
下面结合附图和实施例对本发明作进一步说明。
附图说明
附图1为本发明实施例中高可用Web服务集群的结构示意图;
附图2为本发明实施例中实现方法的流程图。
具体实施方式
实施例1,如图1、图2所示,基于SOA的大规模Web服务机群高可用实现方法,实现该方法的装置包括:管理控制台、交换机和多个机群节点,管理控制台和机群节点通过交换机联系在一起,管理控制台通过TCP/IP协议与机群节点进行通讯,管理控制台可以运行在任意一个机群节点,也可以使用一个单一服务器作为管理控制台。
在于一个机房中分布有大量web业务服务器,服务器运行了相同或者不同的web服务;为每个web服务设定需要的硬件和软件资源,包括服务器列表、服务进程、硬盘和IP地址池;为各个web服务设置监控资源和监控策略;在监控资源发现异常时,对web服务进行失效转移;设置web集群主管理节点选举策略,在集群启动时选举主管理节点,并在主管理节点失效时重新选举。
1)设置高可用web服务集群包含的服务器及其集群相关信息,包括设置集群管理IP地址和端口号;设置集群中节点的优先级顺序,作为选举主节点算法的依据;
2)创建失效切换组及其服务业务需要的资源和监控资源,包括业务运行需要的相关策略,设置业务组的运行冲突组;
3)启动服务集群,选取服务集群主节点,选取主节点根据相关配置启动高可用集群中的所有服务业务;
4)如果在业务运行中出现节点宕机,主节点检测到到服务节点宕机,判断服务集群是否是整个组崩溃状态;如果集群不是整个组崩溃状态,依次为运行在此节点上的所有组查找可运行下一节点;
5)在业务运行中出现业务所需资源异常致使服务业务中断,节点监控资源发现异常,上报主节点,主节点停止原节点对应组运行的各个资源,并计算可运行的另一节点。
启动服务集群还包括以下处理步骤:
1)服务集群各节点应当广播该节点优先级和节点配置文件信息,各节点处理并存储其它节点优先级和配置文件信息;
2)各节点比较其他节点配置文件信息,判断本节点的优先级是否为最高优先级,如果本节点的优先级为最优,则判断本节点为集群主节点,否则主节点非集群主节点;
3)通过上诉选举算法选出的集群主节点,首先主节点将本机是主节点的信息广播给所有其他节点,其他节点回应认同该节点是主节点的信息。如果存在多个主节点的冲突,则这几个主节点相互发送带有时间戳的信息,然后这几个节点根据时间戳的先手顺序,哪个时间戳最新,则这个节点为主节点,并将该信息广播给其他所有节点;
4)主节点发出获取到的服务集群所有服务业务组的状态,各个节点回复运行组的状态;主节点根据配置信息确定未启动的web服务,并计算对应组的可运行的下一节点,并将未启动的web服务在该节点上运行。
计算对应组的可运行的下一节点包括:
主节点根据配置的顺序,依次查找节点上正在运行的服务组是否和将要运行的服务组有冲突;如果无冲突,则在该节点上运行该服务组;如果有冲突,则依次询问下一个节点。如果所有节点都询问完,则将该信息在管理界面上展示。
实施例2,如图1、图2所示,基于SOA的大规模Web服务机群高可用实现方法,实现该方法的装置包括:管理控制台、交换机和多个机群节点。管理控制台和机群节点通过交换机联系在一起。管理控制台通过TCP/IP协议与机群节点进行通讯。管理控制台可以运行在任意一个机群节点,也可以使用一个单一服务器作为管理控制台。
通过管理控制台进行高可用集群设置,管理控制台与高可用集群中的优先级最高的节点的IP地址进行通讯,并把配置文件传输到优先级最高的节点;
接收到配置文件的节点重新组装配置文件,将所有运行节点名称包含在消息的第一个域,然后通过广播协议广播到集群中;
各节点在接收到消息后,解析第一个域,如果包含自身则将配置文件保存,否则抛弃;
在完成配置以后,管理控制台通过向高可用集群中的优先级最高的节点发出启动集群的命令;
在接收到命令后,节点发出启动集群的命令,各个节点根据策略广播自己的优先级和配置文件号;
在完成广播后,各节点接收到其它节点的优先级和配置文件版本号,通过对比配置文件的版本号决定是否继续进行主节点判断;
如果本节点的配置文件版本较新,则判断节点优先级是否为最新,如果节点的优先级为现有节点中的最高节点,则判断自己是主节点;
判断为主节点的节点根据配置文件设置集群管理IP地址,并设置广播自己为主节点,所有其它节点在接收到广播主节点消息后设置主节点标识;
主节点获取所有运行组的状态,获取未启动组列表,根据未启动组列表启动所有组;
具体启动一个组的实施步骤如下:
A)主节点根据设定的业务组运行的节点顺序,依次判断节点上运行组是否与该业务组相冲突;
如果相冲突,则递归计算下一节点运行组是否与该业务组相冲突,直至找到不包含运行冲突组的服务器或者未找到运行服务器;
B)主节点找到运行服务器,给运行服务器发送启动组的指令;运行服务器在接收到启动组的指令后,根据组设置的资源,启动相关资源和监控资源;
C)主节点未找到运行服务器,设置组的状态为停止状态;
在所有失效切换组都已经启动后,失效切换组中的各个监控资源对资源进行监控。在发现资源失效后,根据设定的策略再次启动资源,如果资源能够启动成功,不发出异常。如果资源启动失败,向主节点发出组资源异常的消息。主节点在接收到组资源异常后,向原启动节点发出停止组命令,原节点停止组上的所有其它资源。主节点计算失效切换组的下一个可运行节点,判断此节点上运行的组是否与失效切换组相冲突,如果不相冲突,则向此节点发出启动组的命令。
在集群运行的过程中,如果节点宕机,所有节点感知到节点宕机,并判断是否是主节点宕机,如果是主节点宕机,则各个节点再次广播节点信息,包括节点优先级和版本号,再次选举主节点。如果宕机节点不是主节点,主节点将运行在节点上的所有组运行到其它节点上。
本领域技术人员应该认识到,上述的具体实施方式只是示例性的,是为了使本领域技术人员能够更好的理解本发明内容,不应理解为是对本发明保护范围的限制,只要是根据本发明技术方案所作的改进,均落入本发明的保护范围。
Claims (1)
1.基于SOA的大规模Web服务机群高可用实现方法,其特征在于,该方法包括:
在一个机房中设置若干web业务服务器;
每个web服务设定需要的硬件和软件资源,包括服务器列表、服务进程、硬盘和IP地址池;
各个web服务设置监控资源和监控策略;
在监控资源发现异常时,对web服务进行失效转移;设置web集群主管理节点选举策略,在集群启动时选举主管理节点,并在主管理节点失效时重新选举;
所述方法包括:
1)设置高可用web服务集群包含的服务器及其集群相关信息,包括设置集群管理IP地址和端口号;
设置集群中节点的优先级顺序,作为选举主节点算法的依据;
2)创建失效切换组及其服务业务需要的资源和监控资源,包括业务运行需要的相关策略,设置业务组的运行冲突组;
3)启动服务集群,选取服务集群主节点,选取主节点根据相关配置启动高可用集群中的所有服务业务;
4)如果在业务运行中出现节点宕机,主节点检测到到服务节点宕机,判断服务集群是否是整个组崩溃状态;
如果集群不是整个组崩溃状态,依次为运行在此节点上的所有组查找可运行下一节点;
5)在业务运行中出现业务所需资源异常致使服务业务中断,节点监控资源发现异常,上报主节点,主节点停止原节点对应组运行的各个资源,并计算可运行的另一节点;
启动服务集群还包括以下处理步骤:
1)服务集群各节点应当广播该节点优先级和节点配置文件信息,各节点处理并存储其它节点优先级和配置文件信息;
2)各节点比较其他节点配置文件信息,判断本节点的优先级是否为最高优先级,如果本节点的优先级为最优,则判断本节点为集群主节点,否则主节点非集群主节点;
3)通过上诉选举算法选出的集群主节点,首先主节点将本机是主节点的信息广播给所有其他节点,其他节点回应认同该节点是主节点的信息;
如果存在多个主节点的冲突,则这几个主节点相互发送带有时间戳的信息,然后这几个节点根据时间戳的先手顺序,哪个时间戳最新,则这个节点为主节点,并将该信息广播给其他所有节点;
4)主节点发出获取到的服务集群所有服务业务组的状态,各个节点回复运行组的状态;主节点根据配置信息确定未启动的web服务,并计算对应组的可运行的下一节点,并将未启动的web服务在该节点上运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510874522.9A CN105471995B (zh) | 2015-12-14 | 2015-12-14 | 基于SOA的大规模Web服务机群高可用实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510874522.9A CN105471995B (zh) | 2015-12-14 | 2015-12-14 | 基于SOA的大规模Web服务机群高可用实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105471995A CN105471995A (zh) | 2016-04-06 |
CN105471995B true CN105471995B (zh) | 2016-08-31 |
Family
ID=55609258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510874522.9A Expired - Fee Related CN105471995B (zh) | 2015-12-14 | 2015-12-14 | 基于SOA的大规模Web服务机群高可用实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105471995B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878063B (zh) * | 2017-01-17 | 2019-08-06 | 烽火通信科技股份有限公司 | 一种从网元中恢复网络拓扑和业务配置数据的方法 |
CN109032854B (zh) * | 2018-07-13 | 2021-10-12 | 新华三技术有限公司成都分公司 | 选举请求处理方法、装置、管理节点及存储介质 |
CN109189738A (zh) * | 2018-09-18 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种分布式文件系统中主osd的选取方法、装置及系统 |
CN109474465A (zh) * | 2018-11-13 | 2019-03-15 | 上海英方软件股份有限公司 | 一种基于服务器集群的可动态流转的高可用性的实现方法和系统 |
CN111338647B (zh) * | 2018-12-18 | 2023-09-12 | 杭州海康威视数字技术股份有限公司 | 一种大数据集群管理方法和装置 |
CN109783264A (zh) * | 2018-12-29 | 2019-05-21 | 南京富士通南大软件技术有限公司 | 一种数据库的高可用解决方法 |
CN109769020B (zh) * | 2019-01-09 | 2021-09-24 | 网宿科技股份有限公司 | Cdn集群加速服务资源管理方法及装置、电子设备和存储介质 |
CN111629013B (zh) * | 2019-02-27 | 2024-06-18 | 北京奇虎科技有限公司 | 一种业务节点管理的方法、装置和节点网络 |
CN111163173B (zh) * | 2019-12-31 | 2022-06-21 | 迈普通信技术股份有限公司 | 集群配置方法、装置、服务器及可读存储介质 |
CN111338858B (zh) * | 2020-02-18 | 2023-07-14 | 中国工商银行股份有限公司 | 一种双机房的容灾方法及装置 |
CN111541577A (zh) * | 2020-05-20 | 2020-08-14 | 南京巨鲨显示科技有限公司 | 一种适用于分布式系统的主服务选举方法及其系统 |
CN112003721B (zh) * | 2020-07-15 | 2022-10-14 | 苏州浪潮智能科技有限公司 | 一种大数据平台管理节点高可用的实现方法及装置 |
CN115484139B (zh) * | 2022-09-02 | 2024-03-15 | 武汉众智数字技术有限公司 | 一种基于视频网络监控的录像策略管理去中心化方法 |
-
2015
- 2015-12-14 CN CN201510874522.9A patent/CN105471995B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN105471995A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105471995B (zh) | 基于SOA的大规模Web服务机群高可用实现方法 | |
EP3128719B1 (en) | Post-cluster brain split quorum processing method and quorum storage device and system | |
Houidi et al. | Adaptive virtual network provisioning | |
CN103744809B (zh) | 基于vrrp的车辆信息管理系统双机热备方法 | |
CN106664216B (zh) | 一种切换vnf的方法和装置 | |
US8880703B2 (en) | Address distribution method, device and system thereof | |
EP3291487B1 (en) | Method for processing virtual machine cluster and computer system | |
CN110391940B (zh) | 服务地址的响应方法、装置、系统、设备和存储介质 | |
CN105515812A (zh) | 资源的故障处理方法及装置 | |
WO2008124609A1 (en) | Logical partitioning of a physical device | |
EP3526931B1 (en) | Computer system and method for dynamically adapting a software-defined network | |
CN103580883A (zh) | 一种业务容灾方法及系统 | |
CN100521603C (zh) | 集群模式下实现网络安全设备高可用性的方法 | |
CN103647833A (zh) | 连续序号生成系统和方法 | |
CN105933379B (zh) | 一种业务处理方法、设备及系统 | |
CN103532764A (zh) | 多机热备份方法及系统 | |
EP1712067B1 (en) | A method, apparatus and system of organizing servers | |
WO2007146473A2 (en) | Method and system for distributing data processing units in a communication network | |
CN113794765A (zh) | 基于文件传输的网闸负载均衡方法及装置 | |
CN104780067A (zh) | 一种端口扩展设备的重启方法和装置 | |
CN114124803B (zh) | 设备管理方法、装置、电子设备及存储介质 | |
US9015518B1 (en) | Method for hierarchical cluster voting in a cluster spreading more than one site | |
CN115801798A (zh) | 一种支持主节点动态切换的多层共识方法 | |
WO2016177211A1 (zh) | 地址解析协议arp表项的同步方法及装置 | |
US9798633B2 (en) | Access point controller failover system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160831 |