CN111010448B - 一种分布式消息系统和数据中心dc - Google Patents
一种分布式消息系统和数据中心dc Download PDFInfo
- Publication number
- CN111010448B CN111010448B CN201911339987.9A CN201911339987A CN111010448B CN 111010448 B CN111010448 B CN 111010448B CN 201911339987 A CN201911339987 A CN 201911339987A CN 111010448 B CN111010448 B CN 111010448B
- Authority
- CN
- China
- Prior art keywords
- node
- slave
- master
- master node
- message service
- 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
Images
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
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例提供了一种分布式消息系统和数据中心DC,其中,分布式消息系统可以包括:至少两个数据中心DC;对于任一DC,DC包括第一主节点和第二从节点,与第一主节点通信连接的第一从节点部署于不同于DC的其他DC中,第二从节点与第二主节点通信连接,且第二主节点部署于不同于DC的其他DC中;其中,第一主节点用于提供第一主消息服务,第一从节点通过与第一主节点保持数据同步以提供第一从消息服务;第二从节点用于提供第二主消息服务,第二从节点通过与第二主节点保持数据同步以提供第二从消息服务。通过本发明实施例提供的分布式消息系统和DC,能够提高服务的可用性。
Description
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种分布式消息系统和数据中心(Data Center,DC)。
背景技术
为了能够满足越来越大的服务规模,以及越来越复杂的网络情况等,多DC部署方式应运而生。现有技术中,在每个DC中分别部署主节点和从节点,同一DC中部署的从节点与该DC中部署的主节点通信连接。其中,主节点用于提供消息服务,从节点通过与主节点保持数据同步以提供消息服务。
但是,这种方式中存在问题:针对任一DC,一旦该DC不可用,如DC出现故障,则该DC中部署的主节点与从节点均不可用,则会导致主节点和从节点均无法提供对应的消息服务,会使得服务可用性受影响。
发明内容
本发明实施例的目的在于提供一种分布式消息系统和DC,以提高消息服务的可用性。具体技术方案如下:
第一方面,本发明实施例提供了一种分布式消息系统,包括:
至少两个数据中心DC;
对于任一DC,所述DC包括第一主节点和第二从节点,与所述第一主节点通信连接的第一从节点部署于不同于所述DC的其他DC中,所述第二从节点与第二主节点通信连接,且所述第二主节点部署于不同于所述DC的其他DC中;
其中,所述第一主节点用于提供第一主消息服务,所述第一从节点通过与所述第一主节点保持数据同步以提供第一从消息服务;所述第二从节点用于提供第二主消息服务,所述第二从节点通过与所述第二主节点保持数据同步以提供第二从消息服务。
可选的,所述DC还包括:调度服务器;所述调度服务器分别与所述第一主节点和所述第一从节点通信连接,且所述调度服务器分别与所述第二主节点和所述第二从节点通信连接;
其中,所述调度服务器用于当所述第一主节点可用时,调度所述第一主节点提供所述第一主消息服务,当所述第一主节点不可用时,调度所述第一从节点提供所述第一从消息服务;当所述第二主节点可用时,调度所述第二主节点提供所述第二主消息服务,当所述第二主节点不可用时,调度所述第二从节点提供所述第二从消息服务。
可选的,所述DC包括第一设备和第二设备,所述调度服务器与所述第一主节点部署在所述第一设备中,所述第二从节点部署在所述第二设备中。
可选的,所述DC包括第一设备、第二设备和第三设备,所述调度服务器部署在所述第一设备中,所述第一主节点部署在所述第二设备中,以及所述第二从节点部署在所述第三设备中。
第二方面,本发明实施例提供了一种数据中心DC,包括:
第一主节点和第二从节点;
所述第一主节点与所述第一从节点通信连接,所述第一从节点部署于不同于所述DC的其他DC中;
所述第二从节点与第二主节点通信连接,所述第二主节点部署于不同于所述DC的其他DC中;
其中,所述第一主节点用于提供第一主消息服务,所述第一从节点通过与所述第一主节点保持数据同步以提供第一从消息服务;所述第二从节点用于提供第二主消息服务,所述第二从节点通过与所述第二主节点保持数据同步以提供第二从消息服务。
可选的,所述DC还包括:调度服务器;所述调度服务器分别与所述第一主节点和所述第一从节点通信连接,且所述调度服务器分别与所述第二主节点和所述第二从节点通信连接;
其中,所述调度服务器用于当所述第一主节点可用时,调度所述第一主节点提供所述第一主消息服务,当所述第一主节点不可用时,调度所述第一从节点提供所述第一从消息服务;当所述第二主节点可用时,调度所述第二主节点提供所述第二主消息服务,当所述第二主节点不可用时,调度所述第二从节点提供所述第二从消息服务。
可选的,所述DC包括第一设备和第二设备,所述调度服务器与所述第一主节点部署在所述第一设备中,所述第二从节点部署在所述第二设备中。
可选的,所述DC包括第一设备、第二设备和第三设备,所述调度服务器部署在所述第一设备中,所述第一主节点部署在所述第二设备中,以及所述第二从节点部署在所述第三设备中。
本发明实施例提供的分布式消息系统和DC,对于任一DC,DC包括第一主节点和第二从节点,与第一主节点通信连接的第一从节点部署于不同于DC的其他DC中,第二从节点与第二主节点通信连接,且第二主节点部署于不同于DC的其他DC中;其中,第一主节点用于提供第一主消息服务,第一从节点通过与第一主节点保持数据同步以提供第一从消息服务;第二从节点用于提供第二主消息服务,第二从节点通过与第二主节点保持数据同步以提供第二从消息服务。本发明实施例中,对于任一DC,与该DC中部署的主节点通信连接的从节点位于不同于该DC的其他DC。因此,即使该DC不可用而导致该DC包括的主节点不可用,若与该主节点通信连接的从节点是可用的,则还是可以通过从节点提供对应的消息服务,如此能够提高服务的可用性。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的分布式消息系统的一种结构示意图;
图2为本发明实施例提供的分布式消息系统的另一种结构示意图;
图3为本发明实施例提供的分布式消息系统的又一种结构示意图;
图4为本发明实施例提供的分布式消息系统的再一种结构示意图;
图5a为本发明一种具体实施例中分布式消息系统的一种结构示意图;
图5b为本发明一种具体实施例中分布式消息系统的另一种结构示意图;
图6为本发明实施例提供的DC的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为了更好地满足实际应用过程中业务等对可用性的需求,本发明实施例提供了一种分布式消息系统。本发明实施例提供的分布式消息系统中,对于任一DC,与该DC中部署的主节点通信连接的从节点位于不同于该DC的其他DC,即实现跨DC交叉部署,也可以理解为跨机房部署。如此,即使该DC不可用而导致该DC包括的主节点不可用,若与该主节点通信连接的从节点是可用的,则还是可以通过从节点提供对应的消息服务,如此能够提高服务的可用性。
本发明实施例提供了一种分布式消息系统,如图1所示,可以包括:
至少两个数据中心DC100。
对于任一DC100,DC100包括第一主节点110和第二从节点220,与第一主节点110通信连接的第一从节点210部署于不同于DC100的其他DC中,第二从节点220与第二主节点120通信连接,且第二主节点120部署于不同于DC100的其他DC中。
其中,第一主节点110用于提供第一主消息服务,第一从节点210通过与第一主节点110保持数据同步以提供第一从消息服务;第二从节点220用于提供第二主消息服务,第二从节点220通过与第二主节点120保持数据同步以提供第二从消息服务。
本发明实施例中,对于任一DC,与该DC中部署的主节点通信连接的从节点位于不同于该DC的其他DC。因此,即使该DC不可用而导致该DC包括的主节点不可用,而与该主节点通信连接的从节点是可用的,则还是可以通过从节点提供对应的消息服务,如此能够提高服务的可用性。
参照图1,对本发明实施例提供的分布式消息系统进行详细说明。
本发明实施例中,主节点和从节点可以统称为提供消息服务的节点。从节点与主节点通信连接可以实现从节点与主节点提供对应的消息服务。例如,第一主节点110提供第一主消息服务,第一从节点210通过与第一主节点110保持数据同步以提供第一从消息服务,第二从节点220用于提供第二主消息服务,第二从节点220通过与第二主节点120保持数据同步以提供第二从消息服务。
本发明实施例中,主节点和从节点可以提供完全相同的消息服务,即第一主消息服务与第一从消息服务完全相同,第二主消息服务与第二从消息服务完全相同,如主节点提供针对业务需求向主节点发送消息和从主节点读取消息的消息服务,从节点也可以提供针对业务需求向从节点发送消息和从从节点读取消息的消息服务。或者,主节点提供的消息服务与从节点提供的消息服务有差异,即第一主消息服务与第一从消息服务有差异,第二主消息服务与第二从消息服务有差异,如主节点提供针对业务需求向主节点发送消息和从主节点读取消息的消息服务,而从节点提供针对业务需求从该从节点读取消息的消息服务。
具体地,主节点接收到消息后,将消息保存至主节点的同时,并将消息同步保存在该主节点对应的从节点。例如,第一主节点110接收到消息后,将消息保存至第一主节点110的同时,并将消息同步保存在第一主节点110对应的第二从节点220,如此,可以实现第一从节点210与第一主节点110保数据同步。第二主节点120接收到消息后,将消息保存至第二主节点120的同时,并将消息同步保存在第二主节点120对应的第二从节点220,如此,可以实现第二从节点220与第二主节点120保持数据同步。
本发明实施例中,与DC100中第一主节点110通信连接的第一从节点210,以及与第二从节点220通信连接的第二主节点120均部署于不同于DC100的其他DC中。一种可实现方式中,第一从节点210与第二主节点120部署于不同于该DC的同一DC中。另一种可实现方式中,第一从节点210部署于不同于该DC100的第一DC中,而第二主节点120部署于不同于该DC的第二DC中,第一DC不同于第二DC。
本发明实施例中可以包括至少两个DC,即可以实现同城多DC集群部署模式。且对于任一DC100,DC100包括第一主节点110和第二从节点220,与第一主节点110通信连接的第一从节点210部署于不同于DC100的其他DC中,第二从节点220与第二主节点120通信连接,且第二主节点120部署于不同于DC100的其他DC中,总的来说,对于任一DC,与该DC中部署的主节点通信连接的从节点位于不同于该DC的其他DC,即可以实现跨机房交叉部署。
一种情况下,若该DC100出现故障而导致该DC不可用时,则部署在该DC100中的提供第一消息服务的110和提供第二消息服务服务的220不可用。但是,因为与第一主节点110通信连接的第一从节点210部署于不同于DC100的其他DC中,则只要部署第一从节点210的不同于该DC100的其他DC可用,则分布式消息系统即可以通过第一从节点210提供第一消息服务,也即该DC的不可用不影响第一消息服务的可用性。同时,因为第二从节点220与第二主节点120通信连接,且第二主节点120部署于不同于DC100的其他DC中,则只要部署第二主节点120的不同于该DC100的其他DC可用,则分布式消息系统即可以通过第二主节点120提供第二消息服务,也即该DC的不可用不影响第二消息服务的可用性。如此,能够实现单机房宕机不影响分布式消息系统提供消息服务,能够提高分布式消息系统中消息服务的可用性。
一种可选的实施例中,如图2所示,DC100还包括:调度服务器101;调度服务器101分别与第一主节点110和第一从节点210通信连接,且调度服务器101分别与第二主节点120和第二从节点220通信连接。
其中,调度服务器101用于当第一主节点110可用时,调度第一主节点110提供第一主消息服务,当第一主节点110不可用时,调度第一从节点210提供第一从消息服务;当第二主节点120可用时,调度第二主节点120提供第二主消息服务,当第二主节点120不可用时,调度第二从节点220提供第二从消息服务。
调度服务器101本身不提供消息服务,是用于针对分布式消息系统中的各个节点进行调度,各个节点包括各个DC中的主节点和从节点。可以负责接收Broker、Topic等的元数据信息,负责集群的协调等。
调度服务器101与分布式消息系统中各个节点通信连接,可以实时检测各个节点的运行情况。一种可实现方式中,调度服务器101可以与节点保持心跳连接,通过向节点发送心跳检测信息,当在预设时长内收到节点反馈的响应信息时,则可以确定该节点可用;而当在该预设时长内未收到节点反馈的响应信息时,则可以确定该节点不可用。
具体地,调度服务器101监测第一主节点110可用时,则调度第一主节点110提供第一主消息服务,如将业务端发送的消息写入第一主节点110,和/或从第一主节点110中读取消息发送至业务端。而当调度服务器监测第一主节点110不可用时,则调度第一从节点210提供第一从消息服务,如将业务端发送的消息写入第一从节点210,和/或从第一从节点210中读取消息发送至业务端。
调度服务器101监测第二主节点120可用时,则调度第二主节点120提供第二主消息服务,如将业务端发送的消息写入第二主节点120,和/或从第二主节点120中读取消息发送至业务端。而当调度服务器101监测第二主节点120不可用时,则调度第二从节点220提供第二从消息服务,如将业务端发送的消息写入第二从节点220,和/或从第二从节点220中读取消息发送至业务端。
本发明实施例中通过调度服务器实现分布式消息系统中提供消息服务的节点的调度,可以当主节点可用时,调度主节点提供消息服务,而当主节点不可用时,调度从节点提供消息服务。如此,可以通过对主节点和从节点的调度,即可以理解为通过调度服务器将主节点与从节点结合,能够保证分布式消息系统中提供的消息服务不中断,可以实现多DC模式下能够抵御任何一个DC出现故障,即任一DC出现故障不影响分布式消息系统的消息服务可用性,实现分布式消息系统的高可用。
一种可选的实施例中,如图3所示,DC100包括第一设备301和第二设备302,调度服务器101与第一主节点110部署在第一设备301中,第二从节点220部署在第二设备302中。
本发明一种可选的实施例中,各个DC均用于部署设备。为了实现同一DC中的主节点与该DC中的从节点之间的解耦,如本发明一种可选的实施例中,DC中调度服务器与第一主节点110部署在同一设备,如第一设备301中,第二从节点220部署在不同于设备的另一设备,如第二设备302中。且本发明实施例中,位于同一DC中的主节点与从节点相互不属于主、从关系,也可以理解为,位于同一DC中的从节点不与位于该DC中的主节点保持数据同步,提供对应的消息服务。
如此,该DC中的第一主节点110和第二从节点220部署于不同设备中,可以实现部署第一主节点110的第一设备不可用时,不影响部署第二从节点220的第二设备,即不影响第二从节点220提供消息服务,且部署第二从节点220的第二设备不可用时,不影响部署第一主节点110的第一设备,即不影响第一主节点110提供消息服务。
且分布式消息系统中,对于任一DC来说,只要DC中包括的主节点可用,则通过主节点提供消息服务,简单理解为正常情况下通过主节点提供消息服务,即调度服务器与主节点不断交互以监测主节点是否可用,调度服务器与第一主节点110部署于同一设备中,如此,调度服务器与位于同一设备中的第一主节点110进行交互,相比较于与不同设备中的节点交互,可以简化交互复杂度,进而能够简化分布式消息系统提供消息服务过程的复杂度。
一种可选的实施例中,如图4所示,DC包括第一设备301、第二设备302和第三设备301,调度服务器101部署在第一设备301中,第一主节点110部署在第二设备302中,以及所述第二从节点220部署在所述第三设备303中。
即同一DC中的调度服务器、主节点和从节点各自部署于不同的设备。如此,部署第一主节点110的第二设备不可用,不会影响部署于第一设备上的调度服务器的可用性,即可以实现DC中主节点与调度服务器的解耦,使得即使DC中包括主节点的设备不可用,也不影响调度服务器用于分布式消息系统中对节点的调度。
本发明一种可选的实施例中,多个数据中心DC包括DC1、DC2和DC3。
可以使用单机多实例部署,具体地,DC1包括调度服务器1、主节点1和从节点3,DC2包括调度服务器2、主节点2和从节点1,DC3包括调度服务器3、主节点3和从节点2;其中,从节点1与主节点1通信连接且保持数据同步,从节点2与主节点2通信连接且保持数据同步,从节点3与主节点3通信连接且保持数据同步。具体地,如图5a所示。
一种可实现方式中,各个DC中的调度服务器、主节点以及从节点可以分别部署在不同的设备。
一种可实现方式中,如图5b所示,调度服务器1和主节点1部署在设备1,从节点3部署在设备2,调度服务器2和主节点2部署在设备3,从节点1部署在设备4,调度服务器3和主节点3部署在设备5,从节点2部署在设备6。
本发明实施例中,调度服务器也可以称为Name Server,如调度服务器1可以称为Name Server1,调度服务器2可以称为Name Server2,调度服务器3可以称为Name Server3。调度服务器本身不提供消息服务,是用于针对分布式消息系统中的各个节点进行调度,各个节点包括各个DC中的主节点和从节点。可以负责接收Broker、Topic等的元数据信息,负责集群的协调等。
本发明实施例中提供消息服务的节点的总称也可以称为Broker,Broker可以包括Master和Slave。不同Broker可以分别单独提供独立地消息服务,或者,多个Broker可以共同提供消息服务,即每个Broker完成消息服务的一部分,可以完成分布式任务。
其中,主节点可以称为Master,如主节点1可以称为Master1,主节点2可以称为Master2,主节点3可以称为Master3。从节点可以称为Slave,如从节点1可以称为Slave1,从节点2可以称为Slave2,从节点3可以称为Slave3。
一种可选的实施例中,主节点1提供的主消息服务1可以包括向主节点1写消息,同时可以包括从主节点1读取消息;从节点1与主节点1保持数据同步,因此,从节点1提供的从消息服务1对应于主节点1提供的主消息服务1,如从节点1提供的从消息服务1不包括向从节点1写消息,仅可以支持从从节点1读取消息。主节点2提供的主消息服务2可以包括向主节点2写消息,同时可以包括从主节点2读取消息;从节点2与主节点2保持数据同步,因此,从节点2提供的从消息服务2对应于主节点2提供的主消息服务2,如从节点2提供的从消息服务2不包括向从节点2写消息,仅可以支持从从节点2读取消息。主节点3提供的主消息服务3可以包括向主节点3写消息,同时可以包括从主节点3读取消息;从节点3与主节点3保持数据同步,因此,从节点3提供的从消息服务3对应于主节点3提供的主消息服务3,如从节点3提供的从消息服务3不包括向从节点3写消息,仅可以支持从从节点3读取消息。
本发明实施例中,针对仅一个DC不可用的情况:
如仅DC1不可用,则主节点1无法提供主消息服务1,从节点3无法提供从消息服务3,但是DC2和DC3可用,DC2中的从节点1可以提供与主消息服务1对应的从消息服务1,DC3中的主节点3可以提供从消息服务3对应的主消息服务3,且DC2中的主节点2可以提供主消息服务2和DC3中的从节点2可以提供从消息服务2,如此,仅DC1不可用不影响提供消息服务。如仅DC2不可用,则主节点2无法提供主消息服务2,从节点1无法提供从消息服务1,但是DC1和DC3可用,DC1中主节点1可以提供从消息服务1对应的主消息服务1,DC3中的从节点2可以提供与主消息服务2对应的从消息服务2,且DC3中的主节点3提供主消息服务3以及DC1中的从节点3提供与主消息服务3对应的从消息服务3,如此,仅DC2不可用不影响提供消息服务。如仅DC3不可用,则主节点3无法提供主消息服务3,从节点2无法提供从消息服务2,但是DC1和DC2可用,DC1中的从节点3可以提供与主消息服务3对应的从消息服务3,DC2中的主节点2可以提供从消息服务2对应的主消息服务3,且DC1中的主节点1可以提供主消息服务1和DC2中的从节点1提供与主消息服务1对应的从消息服务1,如此,仅DC3不可用不影响提供消息服务。
综上可知,当1个DC不可用时,分布式消息系统可以通过两个可用DC中的主节点和从节点提供针对写消息和读消息的消息服务,针对写消息和读消息的消息服务不受影响。同时,可以保证从分布式消息系统中读取的消息不丢失(同步复制情况),可以提高消息完整度。
本发明实施例中,针对两个DC不可用的情况:
如DC1和DC2不可用,DC可用;DC1和DC2不可用,则主节点1无法提供主消息服务1,从节点3无法提供从消息服务3;且主节点2无法提供主消息服务2,从节点1无法提供从消息服务1。但是,DC3可用,则DC3中的主节点3可以提供从消息服务3对应的主消息服务3,DC3中的从节点2可以提供从消息服务2,即分布式消息系统还是可以通过DC3中的节点提供针对写消息和读消息的消息服务。如DC1和DC3不可用,DC2可用;DC1和DC3不可用,则主节点1无法提供主消息服务1,从节点3无法提供从消息服务3;且主节点3无法提供主消息服务3,从节点2无法提供从消息服务2,但是,DC2可用,DC2中的主节点2可以提供主消息服务2,DC2中的从节点1可以提供从消息服务1,即分布式消息系统还是可以通过DC2中的节点提供针对写消息和读消息的消息服务。如DC2和DC3不可用,DC1可用;DC2和DC3不可用,主节点2无法提供主消息服务2,从节点1无法提供从消息服务1,且主节点3无法提供主消息服务3,从节点2无法提供从消息服务2,但是,DC1可用,则主节点1提供主消息服务1,从节点3提供从消息服务3,即分布式消息系统还是可以通过DC1中的节点提供针对写消息和读消息的消息服务。
综上可知,当2个DC不可用时,分布式消息系统可以通过可用DC中的主节点和从节点提供针对写消息和读消息的消息服务,针对写消息和读消息的消息服务不受影响。但是,因为,2个DC不可用会存在提供对应消息服务的主节点和从节点均不可用,而导致该对应消息服务的消息缺失,如DC1和DC2不可用,则无法提供主消息服务1,同时也无法提供与主消息服务1对应的从消息服务,如此会导致针对该消息服务的消息缺失,使得分布式消息系统中的数据完整性受影响。
本发明实施例中,只有分布式消息系统中全部DC均不可用,如该实施例中3个DC均不可用时,分布式消息系统无法提供消息服务,服务不可用。
任一个DC出现故障,与这个DC中主节点保持同步的从节点位于其他DC,只要其他DC可用,则服务的可用性就不会受影响。仅在3个DC均不可用时,服务才不可用,如此,可以提高服务的可用性,实现分布式消息系统的服务高可用,进而提高服务的稳定性。
本发明实施例多个DC组成的分布式消息系统可以实现同城多DC部署,且在多DC部署的同时能够抵御任何一个DC发生故障,即任何一个DC单独出现故障均不影响服务的可用性,实现分布式消息系统的服务高可用。一种方式中,一个DC也可以理解为一个机房,即本发明实施例提供的分布式消息系统,可以实现单机房宕机不影响服务。
本发明实施例还提供了一种数据中心DC100,如图6所示,可以包括:
第一主节点110和第二从节点220;
第一主节点110与第一从节点210通信连接,第一从节点210部署于不同于DC100的其他DC中;
第二从节点220与第二主节点120通信连接,第二主节点120部署于不同于DC100的其他DC中;
其中,第一主节点110用于提供第一主消息服务,第一从节点210通过与第一主节点110保持数据同步以提供第一从消息服务;第二从节点220用于提供第二主消息服务,第二从节点220通过与第二主节点120保持数据同步以提供第二从消息服务。
本发明实施例中,对于任一DC,与该DC中部署的主节点通信连接的从节点位于不同于该DC的其他DC。因此,即使该DC不可用而导致该DC包括的主节点不可用,而与该主节点通信连接的从节点是可用的,则还是可以通过从节点提供对应的消息服务,如此能够提高服务的可用性。
可选的,DC100还包括:调度服务器;调度服务器分别与第一主节点110和第一从节点210通信连接,且调度服务器分别与第二主节点120和第二从节点220通信连接;
其中,调度服务器用于当第一主节点110可用时,调度第一主节点110提供第一主消息服务,当第一主节点110不可用时,调度第一从节点210提供第一从消息服务;当第二主节点120可用时,调度第二主节点120提供第二主消息服务,当第二主节点120不可用时,调度第二从节点220提供第二从消息服务。
可选的,DC100包括第一设备和第二设备,调度服务器与第一主节点110部署在第一设备中,第二从节点220部署在第二设备中。
可选的,DC100包括第一设备、第二设备和第三设备,调度服务器部署在第一设备中,第一主节点110部署在第二设备中,以及第二从节点220部署在第三设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于DC相关实施例而言,由于其基本相似于分布式消息系统相关的实施例,所以描述的比较简单,相关之处参见分布式消息系统实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (6)
1.一种分布式消息系统,其特征在于,包括:
至少两个数据中心DC;
对于任一DC,所述DC包括第一主节点和第二从节点,与所述第一主节点通信连接的第一从节点部署于不同于所述DC的其他DC中,所述第二从节点与第二主节点通信连接,且所述第二主节点部署于不同于所述DC的其他DC中;
其中,所述第一主节点用于提供第一主消息服务,所述第一从节点通过与所述第一主节点保持数据同步以提供第一从消息服务;所述第二主节点用于提供第二主消息服务,所述第二从节点通过与所述第二主节点保持数据同步以提供第二从消息服务;
所述DC还包括:调度服务器;所述调度服务器分别与所述第一主节点和所述第一从节点通信连接,且所述调度服务器分别与所述第二主节点和所述第二从节点通信连接;
其中,所述调度服务器用于当所述第一主节点可用时,调度所述第一主节点提供所述第一主消息服务,当所述第一主节点不可用时,调度所述第一从节点提供所述第一从消息服务;当所述第二主节点可用时,调度所述第二主节点提供所述第二主消息服务,当所述第二主节点不可用时,调度所述第二从节点提供所述第二从消息服务。
2.根据权利要求1所述的分布式消息系统,其特征在于,所述DC包括第一设备和第二设备,所述调度服务器与所述第一主节点部署在所述第一设备中,所述第二从节点部署在所述第二设备中。
3.根据权利要求1所述的分布式消息系统,其特征在于,所述DC包括第一设备、第二设备和第三设备,所述调度服务器部署在所述第一设备中,所述第一主节点部署在所述第二设备中,以及所述第二从节点部署在所述第三设备中。
4.一种数据中心DC,其特征在于,包括:
第一主节点和第二从节点;
所述第一主节点与第一从节点通信连接,所述第一从节点部署于不同于所述DC的其他DC中;
所述第二从节点与第二主节点通信连接,所述第二主节点部署于不同于所述DC的其他DC中;
其中,所述第一主节点用于提供第一主消息服务,所述第一从节点通过与所述第一主节点保持数据同步以提供第一从消息服务;所述第二主节点用于提供第二主消息服务,所述第二从节点通过与所述第二主节点保持数据同步以提供第二从消息服务;
所述DC还包括:调度服务器;所述调度服务器分别与所述第一主节点和所述第一从节点通信连接,且所述调度服务器分别与所述第二主节点和所述第二从节点通信连接;
其中,所述调度服务器用于当所述第一主节点可用时,调度所述第一主节点提供所述第一主消息服务,当所述第一主节点不可用时,调度所述第一从节点提供所述第一从消息服务;当所述第二主节点可用时,调度所述第二主节点提供所述第二主消息服务,当所述第二主节点不可用时,调度所述第二从节点提供所述第二从消息服务。
5.根据权利要求4所述的DC,其特征在于,所述DC包括第一设备和第二设备,所述调度服务器与所述第一主节点部署在所述第一设备中,所述第二从节点部署在所述第二设备中。
6.根据权利要求4所述的DC,其特征在于,所述DC包括第一设备、第二设备和第三设备,所述调度服务器部署在所述第一设备中,所述第一主节点部署在所述第二设备中,以及所述第二从节点部署在所述第三设备中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911339987.9A CN111010448B (zh) | 2019-12-23 | 2019-12-23 | 一种分布式消息系统和数据中心dc |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911339987.9A CN111010448B (zh) | 2019-12-23 | 2019-12-23 | 一种分布式消息系统和数据中心dc |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111010448A CN111010448A (zh) | 2020-04-14 |
CN111010448B true CN111010448B (zh) | 2022-06-03 |
Family
ID=70117536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911339987.9A Active CN111010448B (zh) | 2019-12-23 | 2019-12-23 | 一种分布式消息系统和数据中心dc |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111010448B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897827A (zh) * | 2015-11-27 | 2016-08-24 | 乐视云计算有限公司 | 服务器节点、局域网服务器集群及其实现方法 |
CN105933391A (zh) * | 2016-04-11 | 2016-09-07 | 青岛海信传媒网络技术有限公司 | 一种节点扩容方法、装置及系统 |
CN108881489A (zh) * | 2018-08-03 | 2018-11-23 | 高新兴科技集团股份有限公司 | 一种分布式服务的协调系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103580902B (zh) * | 2012-08-07 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 一种计算机信息系统及其动态容灾方法 |
KR20150040087A (ko) * | 2013-10-04 | 2015-04-14 | 한국전자통신연구원 | 클라우드 서비스 지원을 위한 통신 시스템, 융합 통신 장치 및 방법 |
US9774739B2 (en) * | 2014-03-20 | 2017-09-26 | Genesys Telecommunications Laboratories, Inc. | Resource sharing in a peer-to-peer network of contact center nodes |
CN107124469B (zh) * | 2017-06-07 | 2020-07-24 | 苏州浪潮智能科技有限公司 | 一种集群节点通信方法及系统 |
-
2019
- 2019-12-23 CN CN201911339987.9A patent/CN111010448B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897827A (zh) * | 2015-11-27 | 2016-08-24 | 乐视云计算有限公司 | 服务器节点、局域网服务器集群及其实现方法 |
CN105933391A (zh) * | 2016-04-11 | 2016-09-07 | 青岛海信传媒网络技术有限公司 | 一种节点扩容方法、装置及系统 |
CN108881489A (zh) * | 2018-08-03 | 2018-11-23 | 高新兴科技集团股份有限公司 | 一种分布式服务的协调系统及方法 |
Non-Patent Citations (1)
Title |
---|
异构分布式存储系统再生码数据修复的节点选择方案;钟凤艳 等;《计算机科学》;20190815;第46卷(第8期);第35-41页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111010448A (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8055735B2 (en) | Method and system for forming a cluster of networked nodes | |
EP2718816B1 (en) | Recovery service location for a service | |
US10726042B2 (en) | Replication control using eventually consistent meta-data | |
JP2005196683A (ja) | 情報処理システム、情報処理装置、及び情報処理システムの制御方法 | |
JP2008059583A (ja) | クラスタ・システムならびにクラスタ・システム内でレプリカをバックアップする方法およびプログラム製品 | |
CN105338078A (zh) | 用于存储系统的数据存储方法和装置 | |
CN105959078B (zh) | 一种集群时间同步方法、集群及时间同步系统 | |
CN102135929A (zh) | 一种分布式容错服务系统 | |
CN112291082B (zh) | 机房容灾处理方法、终端及存储介质 | |
US11321199B2 (en) | System and method for on-demand warm standby disaster recovery | |
US20230004465A1 (en) | Distributed database system and data disaster backup drilling method | |
CN105389231A (zh) | 一种数据库双机备份方法及系统 | |
CN112190924A (zh) | 一种数据容灾方法、装置及计算机可读介质 | |
CN110971662A (zh) | 一种基于Ceph的两节点高可用实现方法及装置 | |
CN110647425A (zh) | 一种数据库恢复方法及装置 | |
CN106685688A (zh) | 一种集群计算机设备同步升级方法 | |
CN111010448B (zh) | 一种分布式消息系统和数据中心dc | |
CN111459416B (zh) | 一种基于分布式存储的热迁移系统及其迁移方法 | |
CN116185697B (zh) | 容器集群管理方法、装置、系统、电子设备及存储介质 | |
JP2006318077A (ja) | リモートコピーシステム | |
CN111737043B (zh) | 数据库容灾方法、设备、服务器和存储介质 | |
WO2022227719A1 (zh) | 数据备份方法、系统及相关设备 | |
CN114531394A (zh) | 一种数据同步方法及装置 | |
CN101242201A (zh) | 一种主备系统维护的方法、系统和装置 | |
CN110389863A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |