1

オンラインユーザーリストを使用してアプリケーションを開発しています。今のところ、nodejsでグローバル変数を定義しています

var onlineUsers = {}

ユーザーオブジェクトが含まれています

var userObj = {
username: 'johndoe',
fullname: 'John Doe',
user_id: 234242
}

それはオンラインです。

私の質問は、そのオンラインユーザーオブジェクトをRedisに配置する方がパフォーマンスが良いのでしょうか、それとも数百万のオンラインユーザーになるという潜在的なシナリオを考慮して、そのままにしておくことができるのでしょうか。

4

1 に答える 1

1

潜在的なシナリオが数百万の同時オンラインユーザーである場合、その負荷に対応するために複数のWebサーバーを実行する必要があります。各Webサーバーは、共有データストア(この場合はRedis)に誰がログインおよびログオフしたかを記録する必要があります。

パフォーマンスの面では、ローカルメモリに保存するのが最速ですが、スケーラブルではありません。

このサイトの開発を始めたばかりの場合は、メモリ内ソリューションが受け入れられる可能性があるため、製品機能の実装に集中して、後でスケーラブルなRedisソリューションを実行できます。特に、この単一の機能にRedisのみが必要な場合。

于 2012-12-11T16:44:50.187 に答える