9

私のバックエンドは Postgres にあります。私は Scala を使用してその API を構築しています。

データベースに変更があるたびに、Chrome 拡張機能に通知してもらいたいです。これに関していくつか質問があります:

  1. ここに WebSocket を実装するか、ロング ポーリングを行う必要がありますか?
  2. Web ソケットの場合、scala + play + Akka と javascript を使用してそれを行う方法の良い例はありますか?
  3. データに変更があった場合にクロム拡張機能に通知する、オブザーバー パターンと呼ばれるものを実装する必要があると思います。最小限のDBオーバーヘッドでそのようなことを行うために従うべき他のパターンはありますか?
  4. この特定の通知部分に対処するには、Redis または RabbitMQ を使用する必要がありますか?
4

1 に答える 1

2

1) http://socket.io/を使用します

3) これは興味深い質問です。オブザーバー パターンは、フロント エンドで一般的に使用されます。この記事http://addyosmani.com/largescalejavascript/をチェックすることをお勧めします。アプリケーションをより適切に構成するのに役立ちました。基本的には EventBroker/Mediator を挟んだ Pub/Sub パターンです。パブリッシャーとサブクライバーを分離することが理想的です。EventBroker をアプリケーションの名前空間に配置できます。このようにして、常にモジュールを介して参照を渡す必要なく、モジュールからメッセージ バスにアクセスできます。

4) 私たちは、ピンタレストのような同様の機能を持つ Web サイトでリアルタイム/リアルタイム通知に redis を使用しました。redis のパフォーマンスには感銘を受けました。

于 2012-08-11T07:03:30.620 に答える