Javascript Scala+;播放+;阿克卡。是否需要Backbone.js?

Javascript Scala+;播放+;阿克卡。是否需要Backbone.js?,javascript,postgresql,scala,google-chrome-extension,redis,Javascript,Postgresql,Scala,Google Chrome Extension,Redis,我的后台是Postgres。我正在使用Scala构建它的API 每次数据库发生更改时,我都希望通知我的chrome扩展。关于这一点,我有几个问题: 我应该在这里实现WebSocket还是进行长轮询 如果是web套接字,有没有关于如何使用scala+play+Akka和javascript的好例子 我相信我必须实现一种叫做观察者模式的东西,如果数据有任何变化,它会通知我的chrome扩展。是否有任何其他模式,我应该遵循,以获得这样的事情和最低分贝超过头部 我应该使用Redis或RabbitMQ来处

我的后台是Postgres。我正在使用Scala构建它的API

每次数据库发生更改时,我都希望通知我的chrome扩展。关于这一点,我有几个问题:

  • 我应该在这里实现WebSocket还是进行长轮询
  • 如果是web套接字,有没有关于如何使用scala+play+Akka和javascript的好例子
  • 我相信我必须实现一种叫做观察者模式的东西,如果数据有任何变化,它会通知我的chrome扩展。是否有任何其他模式,我应该遵循,以获得这样的事情和最低分贝超过头部
  • 我应该使用Redis或RabbitMQ来处理这个特定的通知部分吗 1) 我会用

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


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

    Play附带了几个示例应用程序。我发现“WebSocket聊天”示例程序对于学习处理Scala/Play/Akka/JavaScript/WebSocket非常有帮助。如果您的通知不是“实时的”(=每隔几秒钟)你可能想考虑做一个“拉”和更新你的浏览器动作按钮,每X分钟/小时/天新的状态。拉通知将是实时的。这就是问题所在。