Рекомендация Cloud Datastore: хранение данных, к которым необходимо получить доступ из разных регионов - PullRequest
0 голосов
/ 18 октября 2018

В настоящее время у меня есть несколько идентичных веб-приложений GAE (одно размещено в ЕС, одно размещено в США и планируется добавить другие регионы), каждое из которых хранит информацию в Cloud Datastore (в регионе приложения GAE).

Я хочу ввести доменную подписку, которая должна обслуживать пользователей в любом регионе (то есть пользователь 1 домена 1 находится в США, а пользователь 2 домена 1 находится в ЕС).

Каков наилучший способ хранения информации, к которой необходимо получить доступ из нескольких регионов?

В настоящее время рассматриваются следующие мысли:

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

Я не решаюсь хранить всю информацию о подписке в 1 регионе, поскольку она несколькопобеждает цель иметь два региона (т.е. некоторая личная информация может храниться в двух регионах).

Цените любые указания.

1 Ответ

0 голосов
/ 19 октября 2018

Поскольку вы можете использовать Удаленный API для доступа к межпроектным хранилищам данных, вы можете делать все, что захотите.Что будет лучше, зависит от того, что вы цените больше.Вы можете дублировать всю информацию в обоих хранилищах данных, чтобы они были «безопасными» ИЛИ вы можете просто сохранить их в одном хранилище данных для удобства управления ИЛИ вы можете хранить определенную информацию о пользователях в зависимости от того, где пользователь зарегистрирован в ближайшем хранилище данных.

Вы должны учитывать, как часто будут происходить «межпроектные» вызовы хранилища данных, чтобы оптимизировать хранилище.Например, если регистрация пользователя и пароль хранятся в проекте A, но его пользовательские данные находятся в проекте B, то практически каждый пользователь должен будет сделать удаленный вызов API при использовании ваших приложений.Я хотел бы хранить данные логически, основываясь на том, как к ним можно получить доступ за один сеанс с пользователем.

Кроме того, если вас беспокоит избыточность данных, один регион не является единственной точкой отказа;Есть несколько зон в регионе, где существуют данные.Поэтому, даже если все ваши данные находятся в одном проекте в одном регионе, они все равно имеют избыточность.

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