Timer 独占锁定和编程计时器的Play Framework最佳实践是什么?
我来自运行在单一服务器上的JavaEE后台。我正在研究Play框架,以构建高性能、可伸缩和弹性的系统。我意识到游戏是无状态的,什么都不共享,我明白这是一件好事。此外,我还阅读了CAP定理和12因子应用程序。但在某些情况下,我觉得作为一名JavaEE开发人员,我仍在思考,因此我请求帮助如何为下面的问题设计最佳的解决方案 假设我有一个系统,其中一个“请求者-用户”创建了一个报价。此优惠将发送给其他10个用户的移动设备。所有10个用户都可以响应该提议,但只有第一个响应的用户将实际“获得”该提议(其他用户将收到一条消息,表示“其他用户已接受该提议”)。然后,请求者用户将收到一封电子邮件,告知其报价将由用户X(第一个接受)完成 报价持续30秒。如果在这段时间内没有用户响应该报价,该报价将自动关闭,因此将不再接受任何回复。应向请求方用户发送电子邮件,说明其报价未被任何用户接受 每天20:00,系统将不得不向管理员发送一封电子邮件,报告每个报价,谁试图接受这些报价,谁真正“得到了” 以下是我的三个主要问题:Timer 独占锁定和编程计时器的Play Framework最佳实践是什么?,timer,playframework,transactions,locking,playframework-2.3,Timer,Playframework,Transactions,Locking,Playframework 2.3,我来自运行在单一服务器上的JavaEE后台。我正在研究Play框架,以构建高性能、可伸缩和弹性的系统。我意识到游戏是无状态的,什么都不共享,我明白这是一件好事。此外,我还阅读了CAP定理和12因子应用程序。但在某些情况下,我觉得作为一名JavaEE开发人员,我仍在思考,因此我请求帮助如何为下面的问题设计最佳的解决方案 假设我有一个系统,其中一个“请求者-用户”创建了一个报价。此优惠将发送给其他10个用户的移动设备。所有10个用户都可以响应该提议,但只有第一个响应的用户将实际“获得”该提议(其他用
对于30秒计时器,使用持久性存储,例如数据库表来表示要完成的任务。然后,任何服务器实例都可以执行该任务 谢谢伊恩的回答。我的目标是使用MySQL作为主数据库。你能详细说明一下30秒计时器的数据库表吗?在我设置代表任务的表之后,下一步是什么?所有服务器实例是否都应该每5秒检查一次数据库中过期的任务,然后采取行动?另外,这是一个很好的学习材料:我没有写答案,因为有太多的部分可以为您提供所有这些任务的代码示例,但我认为,您可以使用分布式Akka集群+一致散列路由来实现您想要的。我必须做点什么。。。半类似于之前的警告系统,当其他人也在编辑他们打开的内容时,会通知用户。关键是一致的散列路由,因为您可以让同一参与者处理每个提供