2014-03-26 71 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内的实例位于同一块硬件上。