1.一種用于允許應(yīng)用跨多個(gè)服務(wù)器集群的系統(tǒng),包括:
分布式計(jì)算系統(tǒng),其包括多個(gè)集群;
每個(gè)集群具有在至少一個(gè)處理器上的至少一個(gè)服務(wù)器存儲(chǔ)器中執(zhí)行的運(yùn)行時(shí),所述運(yùn)行時(shí)被配置為:
防止競(jìng)爭(zhēng)狀況,在所述競(jìng)爭(zhēng)狀況下,兩個(gè)或更多個(gè)集群同時(shí)嘗試激活組件的實(shí)例;以及
允許在所述兩個(gè)或更多個(gè)集群被分割時(shí)存在所述組件的副本實(shí)例,包括將狀態(tài)數(shù)據(jù)與每個(gè)可能的副本實(shí)例相關(guān)聯(lián)以指示可能的副本狀態(tài),并且當(dāng)所述兩個(gè)或更多個(gè)集群不再被分割時(shí)評(píng)估所述狀態(tài)數(shù)據(jù),以去除任何副本實(shí)例,從而使得所述組件的一個(gè)實(shí)例針對(duì)存在的任何副本實(shí)例而存活。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述運(yùn)行時(shí)還被配置為防止所述組件的另一實(shí)例在所述分布式計(jì)算系統(tǒng)的集群之間存在分割時(shí)被激活,直到所述分割不再存在。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述運(yùn)行時(shí)還被配置為在每個(gè)其他集群已經(jīng)關(guān)于所述組件是否在另一集群上被激活而進(jìn)行響應(yīng)之前樂(lè)觀地激活所述組件的實(shí)例。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述運(yùn)行時(shí)通過(guò)向每個(gè)其他集群傳送來(lái)自請(qǐng)求集群的激活請(qǐng)求來(lái)防止所述競(jìng)爭(zhēng)狀況,所述請(qǐng)求集群能夠與所述每個(gè)其他集群通信,所述激活請(qǐng)求指示激活所述組件的意圖。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),還包括:
決勝機(jī)制,其中當(dāng)另一集群確定所述請(qǐng)求集群與所述另一集群處于競(jìng)爭(zhēng)狀況時(shí),所述另一集群使用所述決勝機(jī)制來(lái)確定哪個(gè)激活請(qǐng)求要成功。
6.根據(jù)權(quán)利要求1所述的系統(tǒng),還包括:
決勝機(jī)制,其中所述運(yùn)行時(shí)還被配置為:
通過(guò)與每個(gè)其他集群交換可能的副本實(shí)例的集合來(lái)去除所述組件的任何副本實(shí)例,所述集群能夠與所述每個(gè)其他集群通信;以及
使用所述決勝機(jī)制來(lái)確定哪個(gè)復(fù)制實(shí)例要針對(duì)存在的任何副本實(shí)例而存活以及哪一個(gè)或多個(gè)副本實(shí)例將被終止。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述運(yùn)行時(shí)還被配置為當(dāng)沒(méi)有集群被彼此分割時(shí)改變所述狀態(tài)數(shù)據(jù)以指示集群的唯一所有權(quán)。
8.一種用于允許應(yīng)用跨地理分布式計(jì)算環(huán)境中的多個(gè)服務(wù)器集群的方法,包括:
由多集群分布式系統(tǒng)中的第一集群提供單實(shí)例組件,包括當(dāng)集群被彼此分割時(shí),所述單實(shí)例組件由應(yīng)用經(jīng)由所述單實(shí)例組件的身份可尋址。
9.根據(jù)權(quán)利要求8所述的方法,還包括:
在所述多集群分布式系統(tǒng)中提供另一單實(shí)例組件,其中在執(zhí)行激活的集群是集群仲裁的一部分時(shí)所述另一單實(shí)例組件被激活。
10.一種或多種具有機(jī)器可讀指令的機(jī)器可讀存儲(chǔ)介質(zhì),所述機(jī)器可讀指令在被執(zhí)行時(shí)執(zhí)行操作,所述操作包括:
在嘗試集群中嘗試確定組件是否在任何其他集群中已經(jīng)被激活,所述嘗試集合能夠與所述任何其他集群通信;
響應(yīng)于確定所述組件在所述任何其他集群中已經(jīng)被激活,使用所述已經(jīng)激活的組件;
響應(yīng)于確定所述組件尚未被激活,確定至少兩個(gè)集群之間是否存在分割;以及
響應(yīng)于確定所述至少兩個(gè)集群之間存在所述分割,激活所述組件并且將所激活的所述組件與狀態(tài)數(shù)據(jù)相關(guān)聯(lián),所述狀態(tài)數(shù)據(jù)指示所激活的所述組件是可能的副本。