本文件涉及數(shù)據(jù)容災(zāi),尤其涉及一種數(shù)據(jù)容災(zāi)方法、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、raft是一種在非拜占庭環(huán)境下達成多副本一致(consistency)的算法,作為分布式集群的協(xié)議。采用raft協(xié)議的集群會在半數(shù)節(jié)點發(fā)生故障時停止分布式服務(wù)。
2、多機房的節(jié)點部署是非常常見的一種數(shù)據(jù)容災(zāi)方式。對于raft協(xié)議的集群來說,機房數(shù)量要求需要在三個以上,這是因為兩機房部署的方案中,必然有一個機房的節(jié)點數(shù)量超過或達到半數(shù),一旦這個機房發(fā)生故障(如發(fā)生停電、自然災(zāi)害等),則不管另一機房是否正常都會導(dǎo)致分布式服務(wù)中斷。
3、在很多的應(yīng)用場景中,運營方只需要部署兩個機房即可滿足容災(zāi)需求。為此,如何在raft協(xié)議的集群中實現(xiàn)雙活(雙機房)數(shù)據(jù)容災(zāi),是本申請所要解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、本申請目的是提供一種數(shù)據(jù)容災(zāi)方法、電子設(shè)備及存儲介質(zhì),能夠在raft協(xié)議下實現(xiàn)集群的雙活數(shù)據(jù)容災(zāi)。
2、為了實現(xiàn)上述目的,本申請實施例是這樣實現(xiàn)的:
3、第一方面,提供一種數(shù)據(jù)容災(zāi)方法,應(yīng)用于分布式一致性raft協(xié)議的目標(biāo)集群,所述目標(biāo)集群由部署于主用機房的多個節(jié)點和部署于備用機房的多個節(jié)點組成,所述方法包括:
4、在基于所述主用機房提供分布式服務(wù)時,若所述主用機房發(fā)生故障,則將所述主用機房中的至少部分節(jié)點從所述目標(biāo)集群中移除,使得所述備用機房存活的節(jié)點在所述目標(biāo)集群中達到預(yù)設(shè)占比;其中,所述預(yù)設(shè)占比在所述目標(biāo)集群對應(yīng)的節(jié)點數(shù)量為提供所述分布式服務(wù)的最低節(jié)點數(shù)量;以及,
5、基于所述raft協(xié)議控制所述備用機房代替所述主用機房提供所述分布式服務(wù)。
6、第二方面,電子設(shè)備,包括:處理器;以及被安排成存儲計算機可執(zhí)行指令的存儲器,所述可執(zhí)行指令在被執(zhí)行時使所述處理器執(zhí)行以下操作:
7、在基于所述主用機房提供分布式服務(wù)時,若所述主用機房發(fā)生故障,則將所述主用機房中的至少部分節(jié)點從所述目標(biāo)集群中移除,使得所述備用機房的節(jié)點在所述目標(biāo)集群中達到預(yù)設(shè)占比;其中,所述預(yù)設(shè)占比在所述目標(biāo)集群對應(yīng)的節(jié)點數(shù)量為提供所述分布式服務(wù)的最低節(jié)點數(shù)量;以及,
8、基于所述raft協(xié)議控制所述備用機房所述主用機房提供所述分布式服務(wù)。
9、第三方面,提供一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如下步驟:
10、在基于所述主用機房提供分布式服務(wù)時,若所述主用機房發(fā)生故障,則將所述主用機房中的至少部分節(jié)點從所述目標(biāo)集群中移除,使得所述備用機房的節(jié)點在所述目標(biāo)集群中達到預(yù)設(shè)占比;其中,所述預(yù)設(shè)占比在所述目標(biāo)集群對應(yīng)的節(jié)點數(shù)量為提供所述分布式服務(wù)的最低節(jié)點數(shù)量;以及,
11、基于所述raft協(xié)議控制所述備用機房所述主用機房提供所述分布式服務(wù)。
12、本申請將raft協(xié)議的集群中的節(jié)點按照主用機房和備用機房進行異地部署。在基于主用機房提供分布式服務(wù)時,若主用機房發(fā)生故障,則將主用機房中的至少部分節(jié)點從目標(biāo)集群中移除,以使整個目標(biāo)集群中故障節(jié)點不超出raft協(xié)議所要求的停止分布式服務(wù)的占比,從而依然遵守raft協(xié)議控制備用機房代替主用機房以延續(xù)分布式服務(wù)。
1.一種數(shù)據(jù)容災(zāi)方法,應(yīng)用于分布式一致性raft協(xié)議的目標(biāo)集群,其特征在于,所述目標(biāo)集群由部署于主用機房的多個節(jié)點和部署于備用機房的多個節(jié)點組成,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括:
5.根據(jù)權(quán)利要求1至4任一項所述的方法,其特征在于,還包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括:
8.根據(jù)權(quán)利要求1至4任一項所述的方法,其特征在于,還包括:
9.一種電子設(shè)備,包括:處理器;以及被安排成存儲計算機可執(zhí)行指令的存儲器,其特征在于,所述可執(zhí)行指令在被執(zhí)行時使所述處理器執(zhí)行以下操作:
10.一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)如下步驟: