RPC Outer (rpco)

Описание

Служебная роль, обеспечивающая связь серверов между сайтами без прямого соединения типа full-mesh. Решает также проблему отсутствия прямой видимости адресных пространств сайтами друг друга. Каждая нода внутри системы имеет клиента rpco для осуществления таких запросов. В конфигурации настраиваются роли-серверы rpco.

Резервируется в режиме Active-Active, но преимущественно применяется первый доступный экземпляр.

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

Код

rpci

Режим работы

Сервис

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

Active-Active

Типы сайтов

Все

Слой

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

Размещение

Внутренний

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

Да

Приложение

era_rpco

Ограничения

  • Присутствует в начальной конфигурации.

  • Должна присутствовать на всех сайтах.

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

  • При невозможности прямого достижения адресов роли rpco другого сайта производится попытка достижения через экземпляры на мастер-сайте.

Параметры

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

name

str

required

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

roletype

str

required

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

iface

str

required

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

ext

json

empty

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

enabled

bool

empty

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

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

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

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

Пример узла
{
  "name": "rpco1",
  "roletype": "rpco",
  "iface": "eth0"
}

См. также