2016-10-11 9 views
1

ユーザーがJSONを地理的な場所からサーバーに送信するアプリケーションを作成しようとしています。サーバーは、その場所から送信された最初の要求から5秒以内にその場所からすべての要求を収集します。私はすべての要求をハッシュマップに格納したい。ここでkeyはLocationKeyであり、値はその場所からのすべての要求のリストである。私はawsラムダでそれをモデリングするのが苦労しています。それは、それが唯一のAPIコールであるため、時間ベースのアプリケーションのコーディングは概念化が難しいからです。また、私はハッシュマップをどこに格納するか分からない。私はバックエンドデベロッパーには新しく、どんな助けでも大歓迎です。aws lambdaを使用して時間ベースのアプリを使用できますか?

次のようにアプリケーション・サーバー関係である:

ユーザのモバイル上:

  1. {LocationKey、ユーザ名、otherinfo ..}とJSONを作成します。
  2. JSONをサーバーに送信します。

サーバー:

  1. LocationKeyはハッシュマップに存在しない場合 - >(1)主な
    <新しいハッシュマップの値を作成します。LocationKey、値:< < Request1>>>
    (2)開始タイマ

  2. ハッシュマップにLocationKeyが存在し、タイマーが期限切れになっていない場合は、 ハッシュマップにリクエストを追加しますタイマーが

    を終了している場合< < Request1>、< Request2>>>

  3. (1)ハッシュマップ

    の各リクエストにハッシュマップの値を返します:LocationKey、値:キーLocationKey
    <に基づきます

    (2)任意の助けを大幅に高く評価されるだろうハッシュマップエントリ

を削除!

答えて

1

ラムダの外にデータを格納し、ラムダが呼び出されるたびにそのデータを参照する必要があります。私はDynamoDBにデータを格納することがあなたのシナリオでうまくいくと思います。

+0

合意。各Lambda呼び出しは、DynamoDBにデータを格納し、5秒待ってから、DynamoDBから読み取り、応答を返します。 「サーバー」を概念化するのではなく、各ユーザーがDynamoDBを使用してタスク間で通信する独立した「タスク」を呼び出すと考えてください。 DynamoDBからデータを削除するのではなく、目的の時間よりも古いものを無視するだけで、 "クリーンアップ"フェーズが不要になります。スケールを考えよう! –

関連する問題