如何在amazon负载均衡器上对node.js计时器进行故障转移?

时间:2015-05-07 15:22:50

标签: node.js amazon-web-services amazon-elb

我在aws负载均衡器下设置了2个实例。我在两个实例中都部署了node.js web services + mongodb。负载均衡器适用于Web服务。

但是,问题是我有一个计时器服务(仅限node.js服务)。这个计时器的行为是根据一些计算更新我的mongodb。

我的问题是,我必须同时在一个aws实例(2个)中运行此计时器服务(timer.js)。并且预计如果一个aws实例关闭,那么其他实例的计时器服务将会出现。

我知道elb没有提供这种设施。任何人都可以帮助我完成它吗?

条件:一次只能使用亚马逊负载均衡器运行一个计时器服务。

感谢。

2 个答案:

答案 0 :(得分:0)

您必须使用支持原子操作的共享数据存储使用锁定算法自己实现

或者,考虑启动一个"计时器"自动缩放组中的服务器最小值:1,最大值:1因此亚马逊保持其运行。这个实例可以是非常便宜的t2.micro。它既可以自己运行作业,也可以向负载均衡器发出http请求,以便在所需的内部运行作业。如果这样,只有一台服务器将运行每个作业

答案 1 :(得分:0)

与任何其他"服务"一样处理此问题更有意义。需要继续运行吗?

新贵服务
running node.js server using upstart causes 'terminated with status 127' on 'ubuntu 10.04'
这家伙在他的文件中有一条糟糕的道路,但他的新贵脚本看起来还不错

monit的
Node.js (sudo) and monit