如何在亚马逊负载均衡器上故障转移 node.js 计时器?

How to fail over node.js timer on amazon load balancer?

我在 aws 负载均衡器下设置了 2 个实例。我在这两个实例中都部署了 node.js 网络服务 + mongodb。负载平衡器与 Web 服务配合良好。

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

我的问题是,我必须同时在一个 aws 实例(2 个实例中)上 运行 这个定时器服务 (timer.js)。并预计如果一个 aws 实例出现故障,那么另一个实例的定时器服务将会启动。

我知道 elb 不提供这种 facility.Can 任何人都可以帮助我完成它吗?

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

谢谢。

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

或者,考虑在 Min:1 的 Auto Scale Group 中启动一个 "timer" 服务器,最大值:1,以便 Amazon 保留它 运行ning。这个实例可以是非常便宜的 t2.micro。它可以 运行 作业本身,或者只是向您的负载均衡器发出 http 请求,以 运行 所需内部的作业。如果您这样做,则只有您的一台服务器会 运行 每个作业

像处理其他需要保留 运行 的 "service" 一样处理这件事不是更有意义吗?

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

监视
Node.js (sudo) and monit