Scala + Play + Akka.是否需要Backbone.js?

Hic*_*ick 9 javascript postgresql scala redis google-chrome-extension

我的后端在Postgres.我正在使用Scala来构建它的API.

每当数据库发生变化时,我都希望通知我的chrome扩展.我有几个问题:

  1. 我应该在这里实施websockets还是进行长时间的轮询?
  2. 如果是网络套接字,有什么好的例子说明我如何使用scala + play + Akka和javascript做到这一点?
  3. 我相信我要实现一种称为观察者模式的东西,如果数据有任何变化,它会通知我的chrome扩展.是否有任何其他模式我应该遵循以最小的DB开头完成这样的事情.
  4. 我应该使用Redis或RabbitMQ来处理这个特定的通知部分吗?

svl*_*ada 2

1)我会使用http://socket.io/

3)这是一个有趣的问题。观察者模式常用于前端。我建议您查看这篇文章http://addyosmani.com/largescalejavascript/。它帮助我更好地构建我的应用程序。它基本上是 Pub/Sub 模式,中间有 EventBroker/Mediator。理想情况下,将发布者和订阅者解耦。您可以将 EventBroker 放置在您的应用程序命名空间中。通过这种方式,您可以从模块访问消息总线,而无需始终通过模块传递引用。

4)我们使用redis在具有类似pinterest功能的网站上进行实时通知。Redis 的性能给我留下了深刻的印象。