2016-10-11 3 views
1

Я пытаюсь создать приложение, в котором пользователи отправляют JSON из своего географического местоположения на сервер, а сервер собирает все запросы из этого местоположения в течение 5 секунд с первого запроса, отправленного с этого места. Я хочу сохранить все запросы в hashmap, где ключ является LocationKey, а значение - список всех запросов из этого местоположения. У меня возникли проблемы с его моделированием в aws lambda, так как это только вызовы api, поэтому кодирование приложения, основанного на времени, сложно концептуализировать. Кроме того, я не уверен, где я могу хранить хэш-карту. Я новичок в backend dev, и любая помощь будет высоко оценена.Возможно ли использовать приложение, основанное на времени, используя aws lambda?

Соотношение приложение-сервер выглядит следующим образом:

на мобильных устройствах пользователя:

  1. Создание JSON с {LocationKey, имя пользователя, otherinfo ..}.
  2. Отправьте этот JSON на сервер.

Сервер:

  1. Если LocationKey не существует в HashMap -> (1) Создайте новое значение HashMap
    < Ключ: LocationKey, Value: < < Request1>>>
    (2) Таймер запуска

  2. Если LocationKey существует в hashmap, а таймер не истек , то добавить запросы к hashmap на основе LocationKey
    < Ключ: LocationKey, значение: < < Request1>, < Request2>>>

  3. Если таймер закончился

    (1) Вернуть значение HashMap для каждого запроса в HashMap

    (2) удалить запись Hashmap

Любая помощь будет высоко оценена !!

ответ

1

Вам нужно будет хранить данные где-нибудь вне Лямбды и каждый раз искать его каждый раз, когда вызывается Лямбда. Я думаю, что хранение данных в DynamoDB будет хорошо работать для вашего сценария.

+0

Согласен. Каждый вызов Lambda может хранить данные в DynamoDB, ждать 5 секунд, читать из DynamoDB и затем возвращать ответ. Вместо концептуализации «сервера» подумайте об этом, поскольку каждый пользователь вызывает независимую «задачу», которая использует DynamoDB для связи между задачами. Вместо того, чтобы удалять данные из DynamoDB, просто игнорируйте что-то более старое, чем желаемое время, тем самым устраняя фазу «очистки». Подумайте, масштаб! –

Смежные вопросы