Как добавить страну пользователей в схему FreeIPA по умолчанию

, я пытаюсь расширить схему FreeIPA person, чтобы добавить поле country в пользователя по умолчанию.

Насколько мне известно, FreeIPA действительно реализует RFC 4519, который предоставляет поле страны .

Когда я выгружаю схему FreeIPA (через ldapsearch -x -b cn = schema objectclasses attributetypes> schema. Г) в разных странах. Идея состоит в том, чтобы настроить репликацию с несколькими мастерами так, чтобы все данные можно было синхронизировать.

Я мог бы настроить двунаправленную репликацию с каждого сервера на другой сервер

Mathematica graphics

, но я подозреваю, что это может привести к слишком большому количеству подключений это может снизить производительность за счет увеличения используемой полосы пропускания (так ли это?).

Итак, моя следующая идея - настроить их как кольцо:

Mathematica graphics

Теперь у нас гораздо меньше подключений и по-прежнему сохраняется избыточность, поскольку каждый узел подключен до двух серверов. Проблема для моей конкретной ситуации состоит в том, что мы не хотим иметь все базы данных на всех узлах. Мы хотели бы иметь два узла (A и B) со всеми базами данных, а остальные с разными подмножествами. По этой причине я думаю о следующем:

Mathematica graphics

Поскольку я не специалист по топологии сети, я хотел бы спросить:

  • Действительно ли реплицировать все узлы на все узлы - плохая идея?
  • Это разумная топология (последняя показана)?
  • Где я могу узнать об этом больше?

Для полноты картины цифры были сгенерированы с помощью следующих команд Mathematica:

Graph[Rule @@@ Permutations[CharacterRange["A", "G"], {2}],  VertexLabels -> "Name"]
Graph[Rule @@@ (Partition[CharacterRange["A", "G"], 2, 1, {-1}] /. {a_, b_} :> Sequence[{a, b}, {b, a}]), VertexLabels -> "Name"]
Graph[Flatten[Outer[{#1 -> #2, #2 -> #1} &, {"A", "B"}, CharacterRange["C", "G"]]~Join~{"A" -> "B", "B" -> "A"}], VertexLabels -> "Name"]
1
задан 12 October 2016 в 01:13
1 ответ

У меня нет специального опыта работы с семью узлами (но с тремя), но не должно быть проблем с репликацией каждого узла друг с другом. Я также делаю это с тремя узлами, которые я использую в наших проектах. CouchDB построена для поддержки многоуровневой мастер-настройки узлов. Но вы также правы, думая об используемой полосе пропускания при репликации на такое количество узлов с большим количеством подключений. Я предлагаю вам следить за этим.

CouchDB следует теореме CAP с AP: доступность и допуск к разделам. Это означает, что данные в конечном итоге являются консистентными (см. http://guide.couchdb.org/draft/consistency.html). Поэтому вы также должны подумать о разделении ваших данных, что приведет к другой настройке, которую вы показали выше.

Или вы можете посмотреть на CouchDB 2.0, который был выпущен 20 сентября. Теперь CouchDB поддерживает кластеризацию. Я уверен, что это может решить вашу проблему. Предлагаемая установка заключается в запуске кластера с как минимум (естественно) тремя узлами (n), содержащими по 8 шардов (q) в каждом узле (https://blog.couchdb.org/2016/08/01/couchdb-2-0-architecture/). Использование репликации все еще возможно, и я думаю, что это может быть способом уменьшить вашу установку (хотя я не знаю, почему вы думаете об установке с семью узлами).

http://docs.couchdb.org/en/2.0.0/index.html

1
ответ дан 3 December 2019 в 23:40

Теги

Похожие вопросы