States & Subscriptions Storage (sts)
Описание
Хранилище состояний и подписок на изменения состояний пользователей системы и SIP-пользователей.
Уведомляет подписчиков о смене интегральных состояний учетных записей. Каждая запись регистрируется на время и периодически продляется.
Разделена на микросервисы по доменам. Данные автоматически синхронизируются между сайтами, обслуживающими домен.
Резервируется в режиме Active-Passive. Масштабируется разделением доменного дерева.
Код |
|
Режим работы |
|
Режим резервирования |
|
Типы сайтов |
|
Слой |
|
Размещение |
|
Сохранение и восстановление состояния при перезагрузке |
|
Приложение |
|
Собственное хранилище |
|
Ограничения
-
События о смене состояний, генерируемые ролью для брокеров сообщений, дублируют данные на всех сайтах, где обслуживается домен. В тот момент, когда сайты недоступны друг для друга, данные по домену в хранилищах разных сайтов могут различаться. Это также приводит к дублям в БД, куда события складываются получателями сообщений с разных сайтов, при условии их одинаковых настроек подключения.
-
Отправку событий о смене состояний подписчику производит экземпляр того сайта, который принял и обработал подписку.
Параметры
Имя | Тип | Умолчание | Описание |
---|---|---|---|
|
|
required |
Имя. Может состоять из латинских букв и цифр, должно начинаться с буквы. |
|
|
required |
Тип роли. Возможные значения: |
|
|
empty |
Дополнительные опции роли. Содержит json объект или список. |
|
|
empty |
Флаг активности роли. При установке в false роль не участвует в валидации и не запускается. |
|
|
empty |
Ограничитель количества используемых логических ядер процессора. По умолчанию: 0 - не ограничено. |
|
|
empty |
Уровень логирования по умолчанию, заданный адресно для экземпляра роли (типа микросервиса). Подробнее |
|
|
required |
Номер группы. |
|
|
required |
Порядок экземпляра роли в рамках группы. |
|
|
empty |
Список имен доменов, которые обслуживает данная группа. |
|
|
|
Возможные варианты: |
|
|
|
транзакций). При одновременной перезагрузке/выключении всех экземпляров группы данные теряются. |
|
|
takeover |
bool |
Пример конфигурации
Управление конфигурацией производится в приложении, доступном для администраторов мастер-домена. Приложение скрывает полное содержание конфигурации, однако тем не менее оно доступно через API.
Конфигурация содержит раздел для описания всех экземпляров всех ролей. Параметры определяются для каждого конкретного экземпляра роли.
{
"name": "statestore1",
"roletype": "sts",
"group": 11070,
"order": 2,
"include_domains": [
"dev.rootdomain.ru"
]
}