2014-03-26 82 views
0

有沒有什麼辦法可以強制實例在單獨的物理機器上運行,或者檢測Amazon Web Services上的同一圖像的多個實例正在使用多少物理機器(AWS )?AWS:實例和可靠性

我在想這裏的可靠性。如果我自欺欺人地認爲我有三臺獨立的服務器用於容錯目的(考慮Paxos,Quicksilver,ZooKeeper等),因爲我有三個不同的實例在運行,但所有三個最終運行在同一臺物理機器上,所以我可能在一個非常,非常粗魯的驚喜。

我意識到這個問題可能會被迫使用不同的區域,但很高興知道是否存在區域內甚至區域內可用區解決方案,因爲我不知道我見過AWS在創建實例時實際上給了我多個選項下拉菜單中的多個可用區選擇。


好,我來自前兩個欣賞的意見,回答我的問題,但我正在努力簡化問題,而無需通過在一個區域並主張3臺機器寫一本小說。讓我再試一次 - 當我向上/向外擴展假想應用程序堆棧時,我將靜態和動態地(「彈性地」)添加實例。當然,任何失敗/災難都可能發生(包括整個數據中心由於涉及微波爐,CD和兩名白癡的不幸斷線事故而燒燬到地面,「哦,是啊?好好看! !「),但是到目前爲止,最可能的是某種硬機故障,緊隨其後的是一個死港。在單個虛擬化硬件上運行多個相同類型T的實例會增加計算能力,但不會增加容錯能力。很明顯,如果我擴大/縮小,我很可能會使用「更大」的實例。顯然,如果AWS最大的機器具有內存大小M和多個處理器C,如果我選擇內存大小爲m的實例,使得m>(M/2)或具有多個CPU大小c的實例,使得c> C/2),那麼我會保證我的實例在不同的機器上運行。然而,我不知道現在是什麼,最近的是什麼,最近的是什麼?亞馬遜以更快的速度購買更大的產品,我當然不知道他們會在一年後或者從現在開始的兩年內,等等。我知道這聽起來像是挑剔和重視這一點,但不知道實例是如何分佈的,或者是否存在控制實例分佈的機制意味着我可以在假設中做出真正的錯誤,或者使用當前計算影響F + 1或2F + 1分佈式計算算法或評估用於新應用的新算法,分片和局部性決策,針對看到較少流量的appstack部分的最小保留彈性實例計數等。

回答

0

您總是至少有兩個可用區域地區,這應該適用於高可用性方案。因爲整個az可能會下降(不太可能,但可能),所以內部az不會有太大的可靠性。

如果您絕對必須強制使用「內部獨立硬件」,那麼不同帳戶中的專用實例將實現該目標,但花費更多,效果可能會更好。

0

不僅有多個可用區(考慮分開的數據中心),在每個區域內,還可以將服務器分爲不同的區域(西海岸,東海岸,歐洲等)。

就冗餘性和可靠性而言,您最好將工作分散到AZ和區域,然後嘗試弄清楚或確保單個AZ內的實例位於同一塊硬件上。