Подходит ли app-engine в качестве внутреннего прослушивателя базы данных firebase для обработки событий в реальном времени

Извините, если на это был дан ответ - я не смог найти полного ответа - поскольку, похоже, существуют конфликтующие ресурсы.

Я пытаюсь достичь архитектуры, в которой мой бэкэнд «общается» в реальном времени с миллионами клиентов через Firebase DB (RTD или FS). Примерно так, как здесь нарисовано: enter image description here

Вкратце об архитектуре: миллионы клиентов записывают «события» в БД Firebase, мой Java-сервер слушает эти «события», обрабатывает их и записывает «ответы» в БД Firebase, которые синхронизируются с клиентами.

Вопрос: является ли App Engine лучшим решением? Подходит ли это вообще для работы?

С одной стороны, в документации App Engine есть пример такого использования: https://cloud.google.com/solutions/mobile/mobile-firebase-app-engine-f flexible

С другой стороны, у этого подхода есть (на первый взгляд) известные проблемы:

1) Экземпляры App Engine просыпаются по HTTP-запросам, а не по событиям firebase. https://stackoverflow.com/a/38357458/1806956 У заданий есть тайм-аут, поэтому даже если мы пробуждаем cron каждую минуту, это не гарантирует (или делает?), Что слушатель будет продолжать жить вечно.

2) App Engine не поддерживает Firebase Admin SDK из-за фоновых потоков? https://stackoverflow.com/a/45046605/1806956

3) App Engine ограничивает количество фоновых потоков. В реальном приложении мы говорим о потенциальных тысячах одновременных пользователей, каждый из которых запускает события ...

Вышеуказанные проблемы не обновляются? Спасибо...

Еще немного пояснений ... Отвечает ли GAE на событие из базы данных или он сам генерирует события?

James Poag 31.10.2018 12:27

@jamesPoag, спасибо, события генерируются миллионами клиентов, я отредактировал вопрос, чтобы прояснить этот момент.

Ronen Rabinovici 31.10.2018 13:06

Вы смотрели Триггеры базы данных функций Firebase Cloud? Посмотрите видео на этой странице.

James Poag 31.10.2018 13:06
2
3
270
0

Другие вопросы по теме