Открыть меню
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Обеспечение отказоустойчивости: различия между версиями

Материал из Платформа Эра. Документации
 
Нет описания правки
Строка 1: Строка 1:
Todo
 
Система построена на базе функциональных ролей, образующих active-active hash-ring и active-passive резервирующие группы. Роли предоставляют друг другу и внешним пользователям сервисы.
 
Каждая роль в контексте архитектуры самостоятельно занимается обеспечением своей доступности.
 
Каждая роль может быть использована на нескольких физических узлах.
 
При активности узла активность роли гарантируется конфигурационным супервизором, активность которого обеспечивается демонами/службами ОС.
 
Повышение доступности системы связано с повышением доступности отдельных ролей, каналов связи, физических единиц, а также снижением зависимости одних подразделений от других. Повышение доступности ролей обеспечивается дублированием на нескольких серверах:
 
* Горячее резервирование (active-passive).
* Параллельная доступность (active-active).
* Микс, при котором active-passive группы разделяются по ответственности (reg,dc,store) или по загрузке (mgc,mg) на несколько одновременно действующих групп.
* Быстрое применение изменений конфигурации.
* Внешний сетевой контур кластера содержит только роли WS, ESG, SG, REDIRECT, и возможно RPCO, каждая из которых имеет механизмы защиты от проникновения, подбора паролей учетных записей, потери производительности от (D)DoS-атак путем использования встроенных пограничных фильтров.
 
Повышение доступности системы в связи с использованием хранилищ (внешние по отношению к платформе) – S3, PostgreSQL, ClickHouse, напрямую обеспечивается доступностью самих хранилищ и обеспечения повышения их доступности для системы. Так, в конфигурации системы каждое подключение к хранилищу может быть задублировано произвольным количеством альтернатив. В этом случае при недоступности подключения по первой строке подключения система осуществляет перебор остальных вариантов и останавливается на следующем доступном. Внутридоменные настройки подключения к S3 и ClickHouse также могут быть задублированы произвольным количеством.
 
Основным кейсом является обеспечение коммуникационного процессинга, и при недоступности хранилищ для статистики и записей разговоров основная работа системы не прекращается.
 
=== Повышение доступности ролей ===
Роли ACTIVE-ACTIVE (B2B, MG, WS, …​)
 
* добавление в конфигурацию серверов, использующих соответствующие роли (кол-во 1,3,15,…​).
 
Роли ACTIVE-PASSIVE (REGISTRAR, MDC, SDC, MGC, STATESTORE, …​)
 
* Добавление в конфигурацию серверов, использующих соответствующие роли в резервном режиме (кол-во 1,2,3).
* Для ролей, разделяемых по доменам. Разделение резервирующей группы на несколько резервирующих групп по ответственности за домены, с частичным или полным вынесением на отдельные серверы и образованием непересекающихся групп active-passive (registrar, mdc, sdc, statestore, …​).
* Для роли системного объектного хранилища (store). Разделение на несколько групп с вынесением на отдельные серверы – запросы распределяются автоматически через hashring по ключам.
* Для роли медийного контроллера (mgc). Разделение на несколько групп с вынесением на отдельные серверы – запросы распределяются автоматически через случайный выбор группы при создании медиа-контекста. Каждая группа обязана получить привязанные к ней MG, причем рационально использовать одинаковое количество MG во всех группах MGC на сайте.
 
=== Повышение доступности сервисов ===
Медийный процессинг
 
* добавление в конфигурацию новых серверов, на которых разворачиваются новые группы MGC-MG с новыми номерами.
 
Внешние подключения к провайдерам
 
* дублирование подключений на разных серверах роли ESG, с одновременной настройкой в маршрутах последовательных или конкурирующих по приоритетам.
 
SIP-сигнализация
 
* размножение SG, внесение в SIP-устройства дублированных адресов Outbound proxy-сервер.
* размножение SG, DNS-маршрутизация на резервный сервер по одному и тому же адресу.
* использование REDIRECT.
 
=== Повышение доступности при физических сбоях ===
Отсутствие связи между городами
 
* выделение сайтов, обладающих полным внутренним функционалом и не требующих постоянной связи с другими сайтами.
* привязка доменов к сайтам, обеспечивающая кеширование и хранение доменной информации на сайте.
 
(D)DoS атаки на сервер
 
* размножение SG, ESG и WS с разными внешними адресами.
* применение белых/черных списков на SG и ESG.
* SG и ESG имеют встроенный сетевой фильтр по адресам отправителей неудавшихся аутентификаций.
 
Падение сайта
 
* привязка домена к нескольким сайтам (резервным или параллельным), данные автоматически реплицируются.
* настройка телефонов на перебор Outbound proxy, где участвует другой сайт.
*
 
[[Категория:Общая информация]]
[[Категория:Общая информация]]
[[Категория:Администрирование]]
[[Категория:Администрирование]]

Версия от 13:42, 11 декабря 2024

Система построена на базе функциональных ролей, образующих active-active hash-ring и active-passive резервирующие группы. Роли предоставляют друг другу и внешним пользователям сервисы.

Каждая роль в контексте архитектуры самостоятельно занимается обеспечением своей доступности.

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

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

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

  • Горячее резервирование (active-passive).
  • Параллельная доступность (active-active).
  • Микс, при котором active-passive группы разделяются по ответственности (reg,dc,store) или по загрузке (mgc,mg) на несколько одновременно действующих групп.
  • Быстрое применение изменений конфигурации.
  • Внешний сетевой контур кластера содержит только роли WS, ESG, SG, REDIRECT, и возможно RPCO, каждая из которых имеет механизмы защиты от проникновения, подбора паролей учетных записей, потери производительности от (D)DoS-атак путем использования встроенных пограничных фильтров.

Повышение доступности системы в связи с использованием хранилищ (внешние по отношению к платформе) – S3, PostgreSQL, ClickHouse, напрямую обеспечивается доступностью самих хранилищ и обеспечения повышения их доступности для системы. Так, в конфигурации системы каждое подключение к хранилищу может быть задублировано произвольным количеством альтернатив. В этом случае при недоступности подключения по первой строке подключения система осуществляет перебор остальных вариантов и останавливается на следующем доступном. Внутридоменные настройки подключения к S3 и ClickHouse также могут быть задублированы произвольным количеством.

Основным кейсом является обеспечение коммуникационного процессинга, и при недоступности хранилищ для статистики и записей разговоров основная работа системы не прекращается.

Повышение доступности ролей

Роли ACTIVE-ACTIVE (B2B, MG, WS, …​)

  • добавление в конфигурацию серверов, использующих соответствующие роли (кол-во 1,3,15,…​).

Роли ACTIVE-PASSIVE (REGISTRAR, MDC, SDC, MGC, STATESTORE, …​)

  • Добавление в конфигурацию серверов, использующих соответствующие роли в резервном режиме (кол-во 1,2,3).
  • Для ролей, разделяемых по доменам. Разделение резервирующей группы на несколько резервирующих групп по ответственности за домены, с частичным или полным вынесением на отдельные серверы и образованием непересекающихся групп active-passive (registrar, mdc, sdc, statestore, …​).
  • Для роли системного объектного хранилища (store). Разделение на несколько групп с вынесением на отдельные серверы – запросы распределяются автоматически через hashring по ключам.
  • Для роли медийного контроллера (mgc). Разделение на несколько групп с вынесением на отдельные серверы – запросы распределяются автоматически через случайный выбор группы при создании медиа-контекста. Каждая группа обязана получить привязанные к ней MG, причем рационально использовать одинаковое количество MG во всех группах MGC на сайте.

Повышение доступности сервисов

Медийный процессинг

  • добавление в конфигурацию новых серверов, на которых разворачиваются новые группы MGC-MG с новыми номерами.

Внешние подключения к провайдерам

  • дублирование подключений на разных серверах роли ESG, с одновременной настройкой в маршрутах последовательных или конкурирующих по приоритетам.

SIP-сигнализация

  • размножение SG, внесение в SIP-устройства дублированных адресов Outbound proxy-сервер.
  • размножение SG, DNS-маршрутизация на резервный сервер по одному и тому же адресу.
  • использование REDIRECT.

Повышение доступности при физических сбоях

Отсутствие связи между городами

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

(D)DoS атаки на сервер

  • размножение SG, ESG и WS с разными внешними адресами.
  • применение белых/черных списков на SG и ESG.
  • SG и ESG имеют встроенный сетевой фильтр по адресам отправителей неудавшихся аутентификаций.

Падение сайта

  • привязка домена к нескольким сайтам (резервным или параллельным), данные автоматически реплицируются.
  • настройка телефонов на перебор Outbound proxy, где участвует другой сайт.