Как создать осколочный Mongodb пошаговыми шагами? - PullRequest
0 голосов
/ 21 декабря 2018

Фон

Мы создаем веб-решение, которое будет использоваться во всем мире.Чтобы поддержать потенциальную целевую аудиторию, мы пытаемся спроектировать решение так, чтобы оно размещалось в 3 разных центрах обработки данных.пользователи будут перенаправлены на ближайший сервер на основе данных о местоположении.

Сказав, что для начала мы развернем это решение только в одном центре обработки данных, и только пользователям из Северной Америки будет доступно это решение для них.

Набор технологий

MongoDB и RethinkDB были кратко перечислены для базы данных.Нам нужно что-то, что позволяет репликацию с несколькими хозяевами, поскольку мы должны иметь возможность читать и записывать в базу данных из любого из центров обработки данных.

Задача

Руководство хочет, чтобы что-то было доставлено через две недели.Такая же обычная история.Они слишком предали нас ... не укомплектованы персоналом и т. Д.

Мне нужно придумать дизайн, который будет перспективным.Я еще недостаточно знаком с MongoDB, чтобы быть уверенным в том, что я определил все части, которые мне нужно доставить прямо сейчас, и все еще буду в будущем.

Дизайн на сегодняшний день

На данный момент я планирую настроить каждый центр обработки данных как "зону" mongodb.В каждой зоне у меня будет основной осколок, например:

Зона Северной Америки - Осколок A Европейская зона - Осколок B Азиатская зона - Осколок C

Каждый осколок будет скопирован на другие 2зоны.Так что Осколок А будет частью набора реплик, и поэтому в Европе и Азии у меня будет копия осколка А.

Я пока не совсем уверен, как сконструировать ключ осколка.Я думаю о названиях стран, потому что у меня будут такие данные о местоположении.Когда я вижу, что запрос приходит из Японии, я посылаю его «Азия», но если он прибывает из Франции, он попадет в европейский округ Колумбия.

Особые вопросы

  1. Можете ли вы создать ключ осколка на основе названия страны?
  2. сколько mongos роутеров мне нужно?Нужен ли мне один в каждом центре обработки данных?
  3. Какое рекомендуемое количество серверов конфигурации?

В начале, я собираюсь создать 3 зоны ... с осколком А только для североамериканцев.И я буду реплицировать (replicaset) осколок A на другие 2 зоны.Если есть какие-то особые вещи, которые я должен рассмотреть, учитывая, что я планирую добавить больше основных осколков позже ... пожалуйста, дайте мне знать.

Я все еще обдумываю вещи, так что я уверен, что естьвопросы, которые я должен задавать, о которых я даже не подумал.Если у вас есть какие-либо комментарии или предложения, я все уши.Спасибо

...