1

私はデータベースを使用しており、データベースからのリクエストごとにデータをロードできましたが、おそらく遅すぎるでしょう。したがって、私の考えは、サーバー上でデータをライブに保持することでした (サーバーが通常行うように)。このアイデアは、1 つのサーバーのみを使用する場合にうまく機能します。現在、2 番目のサーバーが宇宙に登場すると、この状況の処理はさらに複雑になります。サーバーは物理的に分離されている可能性があることに注意してください。

データベースを使用せずに、2 つ以上の node.js サーバー上のすべてのデータが同一で​​あることを確認するためのベスト プラクティスは何ですか?

私の最初のアイデアは、サーバー インスタンスごとにスーパーオブジェクト マネージャーを用意することでした。このオブジェクト マネージャーは、作成/ロードする各オブジェクト (たとえば、データベースからのユーザー) の一意の ID (データベースに格納されているすべてのサーバー用) を受け取ります。ユーザーのオブジェクトの ID が 3h34ds だとします。ここで、ユーザー オブジェクトを更新すると、オブジェクト マネージャーが変更を処理し、オブジェクト ID (グローバルで一意) とメタデータ (JSON など) を含むメッセージを他のすべてのサーバーにブロードキャストします。

これは信頼できますか?これは達成可能ですか?何かを変更するたびにオブジェクトマネージャーに通知するので、そうは思いません。実際、これはコードフローを壊します。

user.name = "Test";
objectManager.notify(user); // this is unlovely

より良い方法はありますか?

4

0 に答える 0