私はこれをやめようとしているのか、それともノードに間違った方法で近づいているのかは分かりません。node.jsにエンジンループを作成するにはどうすればよいですか?
私はすべてのセッションがアクセスできるメモリ内のオブジェクト(この場合はコンポーネントツリーになります)を持っていたいと思います。また、ユーザーセッションとは別の何らかの種類の「ハートビート」をアップデートしたいと思っています。
私はこれをやめようとしているのか、それともノードに間違った方法で近づいているのかは分かりません。node.jsにエンジンループを作成するにはどうすればよいですか?
私はすべてのセッションがアクセスできるメモリ内のオブジェクト(この場合はコンポーネントツリーになります)を持っていたいと思います。また、ユーザーセッションとは別の何らかの種類の「ハートビート」をアップデートしたいと思っています。
すべてのセッションで使用可能なオブジェクトを作成するには、node.jsプロセスの外部にすでに説明したコメントが必要です。自然な選択はredisです。なぜなら、JavaScriptは高速で「話す」ためです。これは、プロセス間でデータを共有するための最良の方法です。
「ハートビート」のような間隔でストレージ内のデータのローカルコピーを更新するには、setInterval
を使用できます。
これを行うべきではありません。セッションデータと共有メモリをスケーラビリティを考慮して決してメモリに置くべきではありません。メモリセッションはあなたのhablityをスケールに制限し、信頼できるものではなく、Redisのようなものを試してみてください。どのようにあなたはこれを行う必要があると感じる場合。グローバルオブジェクトに追加したり、オブジェクトをエクスポートしてメモリにアクセスする必要がある場所を必要とするモジュールを持つだけです。 –
とは何ですか?あなたはこれを達成する方法を尋ねていますか?オブジェクトの永続ストレージが必要であり、それはメモリヒープではありません。データベースレプリケーションやメモリキャッシング(Redis)を使用した分散システムは、一歩進んだ方法です。このようにして、データは必要に応じて取得/作成/更新されます。 – Yerken
ゲームループと同様のループを実装するにはどうすればよいですか?フレームを処理する代わりに、ツリーのコンポーネントを更新しています。 – chrisp