2017-01-10 4 views
0

私のバックエンドスタックは基本的にノード(express)とmongoです。あまりにも派手ではない。userIdによってサーバーに結果が設定されています - これはAWS Lambdaにオフロードする必要がありますか?

しかし、私はクライアント側からuserIdによって検索およびブラウズページの結果リクエストを生成しています。たとえば、ユーザーがアイテムをお気に入りに追加した場合、そのアイテムはその特定のユーザーのバックエンドのお気に入りitemIdsのリストに追加されます。したがって、ユーザーが「緑色のスカーフ」を検索し、すでにお気に入りの緑色のスカーフがある場合、結果のJSONはisFavorite: boolでこれを表示します。

したがって、各ユーザーは異なるデータセットを持ちます。お気に入りはちょうど1つの側面です。友人がアイテムをお気に入りにしたかどうかなど、いくつかの他のタグもあります。

これはAWSラムダへのオフロードを保証するユースケースですか?私がする必要があるのは、データベースに接続し、クエリを実行し、結果を返すことだけです。

ありがとうございました

答えて

1

AWSラムダからもそうでなくてもかまいません。ここでは、Redisを使用して関連する結果とタグを取得することを検討します。 RedisをMongoに加えて使うことも、Redisを永続性だけで使うこともできます。

コードの詳細や負荷については説明していませんが、DBをチェックしてすべてのユーザーの結果に注釈を付けて、そのタグをメモリ内に保持する必要のあるクエリがたくさんある場合はAWS Lambdaを使用するか、従来のNodeプロセスを使用する場合でも、データストアはパフォーマンスの向上に役立ちます。

+0

ありがとうございます!はい、私はここに私のコードを含んでいませんでしたが、あまりにも多く、私はどのビットが関連するか分からないので、ここに含まれていません。しかし、私の基本的な要件は、多くの処理を必要とするuserId結果ごとに結果を提供する必要があるということです。私がredisを使用している場合(私は次の学習を計画しています!)、一般的な結果をキャッシュします(userIdカップリングなし)し、特定のuserIdのお気に入りなどに基づくマップに対してマップを作成しますか?ありがとう。私はバックエンドに本当に新しい(12月からノードを学んでいる1年のフロントエンドの男だった)ので、私はあなたがうんざりさせている場合は謝罪します。 – scarywolfman

関連する問題