起搏器,心跳等对EC2有意义吗?

起搏器生态系统(Corosync等)在EC2的背景下是否有意义? 直到某一点,Corosync需要IP组播(EC2上不可用),但我认为它已经播出。 还有,Pacemaker et。 人。 集群在EC2上pipe理自己的正确工具,例如监视对方的失败,从而触发提供新的实例来replace失败的实例?

我猜这个问题的一部分是,我花了不less时间把这里的所有玩家(心跳,Corosync,OpenAIS等等)都弄清楚了,而且我还在试图弄清楚这些东西实际上什么(除了模糊的术语,例如,Pacemaker是一个“集群资源pipe理器”,Corosync提供“可靠的消息和会员基础设施”)。

因此,如果我的问题本身有点笨拙或不完全有道理,我们表示歉意。 任何见解将不胜感激。 谢谢。

EC2是否监控客人内部服务的健康状况?

如果不是,那就是你想要的东西,那么Pacemaker会在这里相关的。 Corosync可能不是一个选项,因为它只能做mcast和bcast,所以它将是一个起搏器+心跳的情况。

下面是人们如何使用linode实例的指南,其中很大一部分可能与EC2相关: http : //library.linode.com/linux-ha/

为了回答这些问题,Pacemaker是启动和停止服务并包含确保它们正在运行的逻辑,并且它们只在一个位置运行(以避免数据损坏)。

但是,如果没有能力在其他节点上自我交谈,这就是心跳和/或corosync进入的地方。

把心跳和corosync想象成任何节点都可以传递消息的公共汽车,并且知道它们将被所有的同伴接收。 巴士还确保每个人都同意谁(连接到),并告诉你什么时候该名单改变。

对于两个节点,Pacemaker可以很容易地使用套接字,但是除此之外,复杂性增长非常快,很难正确使用 – 所以使用已经certificate可靠的现有组件是非常有意义的。

我的直觉本能是说不,这些对于EC2集群pipe理来说真的不是合适的工具。 我已经在独立的硬件上使用过它们,并且发现你必须有一组非常特殊的需求/故障情况,才能真正有意义。 我不能在脑海中编写一个用例,要求用这些工具来处理更具体的云监控系统和工具,比如使用该平台开发的消息传递工具。

这就是说,我不认为我的答案权威性,我真的希望有人在ec2云中设置一些工具的经验。

EC2实例与用于pipe理目的的真实硬件非常相似。 如果发生故障,则发生故障(或物理主机故障)。 在EC2上没有内在的故障转移机制。 你可以重新启动实例,它将“神奇地”重新出现,而不需要任何物理干预或维护,但是你仍然需要手动或自动执行(也许EC2会为你重新启动,现在)。 这可能意味着几分钟的中断。

如果您需要高可用性解决scheme,则在恢复方面可能会更快,但您必须始终保持2个EC2实例。

但EC2的理想架构是为你想要的服务提供多个实例,并行运行并接受请求,如果一个人死亡,其他人就会捡起懒散。