多个实例运行时的计时器(例如云)

时间:2016-11-30 03:54:10

标签: timer redis cloud

问题:当多个应用程序实例运行时,通过应用程序创建计时器将重复计时器。

问题区域:在云端创建计时器。

redis可以用作云上的计时器吗?例如,将记录写入redis并设置ttl(生存时间)。一旦达到TTL,redis消息传递系统可用于接收通知(从而执行任务)。

问题是redis似乎只有发布订阅机制。这意味着所有应用程序实例都会收到通知,从而复制任务。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

前一段时间有同样的问题。有不同的策略。

  • 您的云提供商可能已经有了解决方案。
  • 创建某种控制数据库。并使用此db锁定/检查计时器是否已针对特定实例或租户运行。
  • 向邮件系统发送邮件,并确保删除重复项。
  • 在轻量级容器内运行计时器进程。某种微服务。
  • 使用任何第三方来实现这些目标。

每种解决方案都有自己的优点和缺点。