Возможно ли использовать 2 облачных проекта Google, если я хочу использовать Datastore в основном режиме и режиме хранилища данных вместе? - PullRequest
1 голос
/ 08 ноября 2019

Сегодня Google Cloud не поддерживает ни один облачный проект Google, в котором Cloud Datastore запускается как в основном режиме (режим Firestore), так и в режиме Datastore. Это говорит о том, что владелец проекта должен выбрать один .

Для меня я хочу использовать режим Native и режим хранилища данных по следующим причинам.

  1. В режиме Native я смогу использовать различные внешние интерфейсы Firebase SDK. так что мое приложение может напрямую связываться с Datastore без необходимости проходить через пользовательский бэкэнд, возможно, сохраняя задержку и получая выгоду от политик безопасности в Firestore. Кроме того, Firebase SDK отлично работает в режиме онлайн / офлайн-кэширования в среде iOS / Android, что может сэкономить много работы.

  2. В режиме хранилища данных я смогу создать масштабируемыйбэкэнд-сервис, чья пропускная способность записи в БД может превышать десятки тысяч tps. Хотя основной режим может поддерживать около миллиона одновременных подключений, он имеет максимальный предел записи 10 000 в секунду на уровне базы данных, который, я думаю, может быть низким для приложения на основе чата и событий, которое я создаю.

Если бы основной режим поддерживал более 10000 записей / с, я бы с радостью выбрал основной режим и не стал бы беспокоиться об этом, но сегодня это не так.

Поэтому я начал думатьо настройке 2 облачных проектов Google, 1 для основного режима и 1 для режима хранилища данных, и их совместного использования.

Например, Project #1 будет использоваться для облачного хранилища данных в основном режиме, а также для проверки подлинности Firebase, ипочти все остальные продукты, доступные в Firebase и Google Cloud.

Project #2 будут использоваться только для Cloud Datastore в режиме Datastore для поддержки операций на основе чатов и событий, которые будут происходить в моих бэкэнд-системах, которые могут превышать 10 000/ tps limit.

Кроме возможных накладных расходов на управление для поддержки 2 project, есть ли что-то, что мне нужно беспокоиться в этой стратегии? Или вообще, как правило, несколько облачных проектов Google поддерживают одно приложение / службу?

Например, могут ли системы, работающие в среде проекта № 1, например [Cloud Run, App Engine, GKE]быть в состоянии связаться с облачным хранилищем данных проекта №2?

Например, могут ли системы, работающие в среде проекта №2, инициализировать серверный SDK Firebase с учетными данными проекта № 1 и аутентифицировать токены авторизации Firebase, сгенерированныеприложение внешнего интерфейса, использующее Project # 1 Firebase SDK?

1 Ответ

1 голос
/ 09 ноября 2019

Да, есть клиенты, у которых одно приложение распределено по нескольким проектам GCP по разным причинам - одна из них - несколько баз данных Datastore & Firestore.

Обычно это работает нормально. Главное, о чем следует знать, - старые SDK App Engine не позволяют указывать идентификатор проекта и, следовательно, не могут использовать межпроектные базы данных. SDK gcloud для Datastore и Firestore не имеют этой проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...