Heroku dyno缓存如何与Play框架一起使用

时间:2013-09-25 04:27:00

标签: heroku playframework

我有一个由Heroku托管的Play应用程序,有5个dynos。看起来我的dynos在不同的时间段内被随机重启。例如,其中三个在22小时前自行重启,其中两个在10小时前重启(不确定这个时间是否通过清除缓存触发)。似乎缓存数据在dynos之间不是持久的。我的问题是当我多次向Heroku应用程序发送相同的请求时,我得到不同的缓存响应,在响应中,一些是最新数据,另一些是旧数据。我认为这是因为我的请求是由不同的dyno处理的。重新启动后我所有的dyno修复了问题(我假设这也清除了所有dynos中的缓存)。

所以我想知道触发随机dyno重启的原因,为什么会这样做?

在这种情况下如何解决缓存数据不一致的问题?

由于

2 个答案:

答案 0 :(得分:3)

我认为你应该使用共享缓存,以便在横向扩展时避免这种问题。

Couchbase是一个很好的解决方案。我们在Clever Cloud(http://www.clever-cloud.com/en/)内部使用它,这就是我们将Couchbase作为服务发布的原因。

答案 1 :(得分:1)

至于dyno重启,您是否尝试过文档? Dyno的循环at least once per day