Project

General

Profile

Распределенные экземпляры Smartswitch

Технологии синхронизации

В этой схеме на каждом узле кластера установлен экземпляр Smartswitch.
При этом данные кластера, такие как состояние балансов, имеющиеся пиры, цены, CDR, итп, сихронизированы и являются общими для всего кластера.
Синхронизация базы данных между узлами производится по одной из технологий:

  • MySQL репликация.
    Эта схема подходит для всех видов географически разнесенного кластера.
    Эта технология на данный момент является рекомендуемой к применению.
    Ограничения:
    • только один из узлов является главным.
      Соответственно, вносить изменения в веб-интерфейсе можно только на одном, главном, узле.
      Затем изменения автоматически переносятся (реплицируются) на остальные, подчиненные, сервера.
    • если на главном узле происходит сбой - вы не сможете изменить конфигурацию до тех пор, пока он не будет поднят.
      Также не будет ложиться новая статистика.
      Балансы будут обновляться только на том узле, через который проходит трафик, при этом обновления балансов не передадутся на остальные узлы кластера.
      Вся информация будет накапливаться во временной базе данных на подчиненных узлах.
      После возобновления работы главного узла эта информация автоматически перенесется на главный узел.
      А затем автоматически реплицируется по всем узлам кластера.
  • MySQL кластер.
    Эта схема подходит только для кластера, географически находящегося в одной физической сети.
    Как следствие, она избавляет от ограничений, присущих MySQL репликации.
    Но в свою очередь, не обеспечивает отказоустойчивость при выходе из строя дата-центра.
    Эта технология на данный момент экспериментальная.

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

В самом простом случае (по умолчанию) кластер предстваляет собой несколько экземпляров Smartswitch, объединенных технологиями, указанными выше.
При этом на каждом узле будет веб-интерфейс, asterisk, Биллинг и прочие приложения.
Однако конфигурация будет общая.
Изменения, сделанные на одном узле, будут автоматически передаваться на остальные узлы.

Собственные и разделяемые IP адреса.

Каждый узел в кластере обладает:

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

Использование собственного IP адреса для оригинации звонков

Вы можете настроить узлы кластера для использования их собственных IP адресов для оригинации звонков на ваших поставщиков.
Для конфигурирования этого режима, укажите '0.0.0.0' в качестве параметра открыть адрес в глобальных настройках Протоколов сигнализации.

Для прямого IP-к-IP соединения вы должны уведомить ваших поставщиков о всех ваших возможных IP адресах.
Они должны будут добавить себе их в ACL, чтоб срегировать на ваш отказ в обсуживании одного из узлов незаметно для пользователей.

В случае если вы используете SIP регистрацию на внешнем регистраторе, вы должны приобрести столько SIP аккаунтов на SIP регистраторе, сколько у вас узлов.
И сконфигурировать по 1 SIP аккаунту на каждом узле.

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

Использование разделяемого IP адреса для оригинации вызовов

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

В этом случае вы можете иметь один высокодоступный исходящий SIP аккаунт с регистрацией на внешнем регистраторе.

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

Отказоустойчивость

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

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

Доступные схемы отказоустойчивости на уровне услуги:

Распределение нагрузки

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

Автоматическое распределение нагрузки означает, что вы указывается один и тот же IP адрес (или доменное имя) при заполнении формы на подключение клиента для всех клиентов.
А система автоматически распределяет нагрузку от всех клиентов.

Доступные схемы автоматического распределения нагрузки:

SIP регистрация

Для SIP абонентов с регистрацией поддерживается репликация адреса абонента.
Это означает, что абонент может зарегистрироваться на узле А, а поставщика DID номеров вы можете подключить к узлу Б.
С узла А информация о регистрации абонента автоматически передастся на узел Б, и при получение звонка от поставщика DID номеров узел Б отправит звонок на зарегистрированный адрес.

English translation

Also available in: PDF HTML TXT