Распределенные операции

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

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

Предназначение распределенных операций

Основными целями создания распределенной системы являются:

  • Масштабируемость. Нижестоящие узлы могут подвергаться высокой нагрузке высокоскоростными протоколами обмена данными и частыми опросами устройств. На практике число устройств, которыми может управлять один сервер, ограничено несколькими тысячами. Чтобы увеличить производительность системы и обслуживать большее число устройств, необходимо установить несколько серверов и ввести их в единую группу распределенной системы.
  • Балансировка нагрузки. Каждый сервер в распределенной инсталляции решает свои собственные задачи. Сервера управления сетью проверяют доступность и работоспособность сетевой инфраструктуры, в то время как сервера контроля доступа обрабатывают запросы с дверных и турникетных контроллеров. А контроль за деятельностью этих серверов и генерирование отчетов может выполняться центральным сервером.
  • Обход фаерволов. Вторичные сервера могут устанавливаться на удаленных участках сети с подключением к центральному серверу. Системные администраторы подключают такие вторичные сервера из своих подсетей к центральному серверу через VPN или пробросом портов.
  • Централизация. Вторичные сервера могут рабоать в полностью автоматизированном режиме, в то время как их общая операция будет контролироваться человеком посредством основного сервера, установленного в центральный командный пункт.

Распределенная архитектура идеально подходит для производственного контроля и операций настроек в большой мультисерверной инсталляции SberMobile. Что касается передачи данных между системными уровнями или узлами горизонтального кластера, то для этого должен использоваться драйвер Локальный агент.

Пример 1: Система управления умным городом

Приведем в качестве примера многоуровневую конфигурацию SberMobile для управления и мониторинга умным городом:

  • Уровень 1: оборудование (маршрутизаторы, контроллеры, промышленное оборудование и пр.)
  • Уровень 2: серверы прямого управления (сервер управления сетью, сервер доступа, сервер автоматизации здания и пр.)
  • Уровень 3: центральный сервер здания (один на дом, объединяет информацию со всех "специализированных" серверов Уровня 2 в этом здании)
  • Уровень 4: сервера городских районов (конечные точки оповещений о событиях нижестоящих уровней, управляются людьми-операторами в режиме реального времени, интегрированы с системами CRM)
  • Уровень 5: головной сервер (управление серверами районов, сбор отчетов и оповещений о событиях)

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

Пример 2: Мультисегментное управление сетью

Система SberMobile Network Manager, построенная на SberMobile - это один из наиболее типичных примеров использования распределенной архитектуры. Невозможно контролировать большие сегментированные сети корпораций и операторов дальней связи из одного места в связи с ограничениями маршрутизации, проблемами безопасности и ограниченной пропускной способностью между отдельными географическими сегментами.

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

  • Главный или центральный сервер, объедняющий информацию из всех сегментов сети
  • Вторичные сервера, производящие опрос устройств в изолированных сегментах
  • Специализированные сервера, такие как сервера для анализа трафика, обрабатывающие миллиарды событий NetFlow в день

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

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

Плагин для распределенной архитектуры

Связь поставщик/потребитель в SberMobile Server реализуется плагином Распределенной Архитектуры. Глобальный конфигурационный контекст этого плагина предоставляет доступ к: