簡単な説明:
さて、私は何日もこの質問に対する答えを探していましたが、「プッシュ通知サーバーの作成方法」などの質問に対する答えがあるようです。私は node.js を使用していますが、sock.js を使用してプッシュ通知サーバーを「作成」するのは非常に簡単です (sock.js に比べて socket.io は良くないと聞きました)。ここまでは問題ありません。しかし、私が欲しいのは、そのようなサーバーをモデル化する方法です。
詳細:
では、チャット サービスがあるアプリケーションがあるとしましょう (これはほんの一例です。ご想像のとおり、実際のものは大きいです)。ある人がルームでメッセージを送信すると、ルーム内のすべての人が通知を受け取ります。しかし、私が望むのは「ステートフル」なチャットです。つまり、メッセージをデータ ストアに保存したいと考えています。ここで問題が発生します。メッセージをデータベースに保存し、後で「ねえ、あなたへのメッセージがあります」と全員に伝えます。アプリの一部だけにリアルタイム アクティビティが必要な場合、これは簡単に思えます。アプリ全体がリアルタイム通信に基づいている場合はどうすればよいですか? これに加えて、RESTful api も必要です。
私の解決策(私は本当に満足していません)
私がやろうと思ったのはこれでした:(もちろんサーバー側で)
Data Store
||
Data Layer (which talks to data store)
||
------------------
| |
Real-Time Server Restful server
ここで、リアルタイム サーバーは、データ層が発行する興味深いイベントをリッスンします。何か興味深いことが起こると、サーバーはクライアントに通知します。しかし、どのクライアントですか?- これは私の方法の問題です
お役に立てれば幸いです。:)
更新:
質問の重要な部分を強調するのを忘れていたと思います。pub-sub システムを実装する方法は? (注:実際のコードは必要ありません。自分で管理します。それを行う方法だけが助けが必要なところです)。問題は、コードを書くときにかなり困惑することです-何をどのように行うか(私の混乱は、この質問自体から明らかです)。このことを始める方法について、参考文献やアドバイスを教えてください。