Infrastructure Controller (ic)

Описание

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

Резервируется в режиме Active-Passive на каждом сайте. Не масштабируется.

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

Table 1. Системные характеристики

Код

ic

Режим работы

Сервис

Режим резервирования

Active-Passive

Типы сайтов

Все

Слой

Конфигурация

Размещение

Внутренний

Сохранение и восстановление состояния при перезагрузке

Нет

Приложение

era_ic

Ограничения

  • Должна располагаться на каждом сайте.

  • Недоступна к перемещению на другой сервер в 1 шаг путем изменения конфигурации.

Параметры

Table 2. Параметры
Имя Тип Умолчание Описание

name

str

required

Имя. Может состоять из латинских букв и цифр, должно начинаться с буквы.

roletype

str

required

Тип роли. Возможные значения: "ic".

iface

str

required

Алиас сетевого интерфейса сервера, на котором будет происходить внутреннее взаимодействие ролей между собой.

ext

json

empty

Дополнительные опции роли. Содержит json объект или список.

enabled

bool

empty

Флаг активности роли. При установке в false роль не участвует в валидации и не запускается.

group

int

empty

Номер группы.
Горизонтальное масштабирование внутри сайта не поддерживается. Все экземпляры роли на сайте должны иметь одинаковое значение.
Целое число от 1 до 9999999.

order

int

required

Порядок экземпляра роли в рамках группы.
Определяет в каком порядке будет происходить перетекание в режиме Active-Passive.

refreshinterval

int

30

Интервал обновления статистики по сайту, в сек.
Минимальное значение: 10.

Пример конфигурации

Управление конфигурацией производится в приложении, доступном для администраторов мастер-домена. Приложение скрывает полное содержание конфигурации, однако тем не менее оно доступно через API.

Конфигурация содержит раздел для описания всех экземпляров всех ролей. Параметры определяются для каждого конкретного экземпляра роли.

Пример узла
{
  "name": "ic2",
  "roletype": "ic",
  "iface": "eth0",

  "group": "11130",
  "order": "1",

  "refreshinterval": "60"
}

См. также