Обзор архитектуры

При разработке архитектуры Системы, ключевыми нефункциональными требованиями являлись:

  • Возможность развертывания Системы на серверах заказчика;
  • Возможность развертывания Системы в облаке;
  • Использование системного ПО только с открытым кодом (Linux, PostgreSQL и тп.);
  • Поддержка минимального серверного оборудовании (1 процессор, 512MB ОЗУ) для пилотных проектов или небольших инсталляций;
  • Возможность горизонтального масштабирования за счет разделения ПО на микросервисы;
  • Возможность одновременной работы оборудования различных производителей при сохранении принципа единого диспетчерского окна;
  • Многослойная отказоустойчивость;
  • Безопасность.

В зависимости от размера проекта, типу используемого оборудования в ШУНО/светильниках и требований к уровню доступности, архитектура решения может отличаться. На рисунке ниже, отображается типовая минимальная архитектура, когда все компоненты Системы, разворачиваются на одном виртуальном (или физическом) сервере.

Типовая схема решения

Нижний уровень на базе меш радио сети

На базе софт-радиошлюзов

  1. ШУНО без встроенного радиошлюза;
  2. Опора уличного освещения на которой установлен управляемый светильник;
  3. Опора уличного освещения, на которой установлен неуправляемый светильник;
  4. Меш-сеть;

На базе радиошлюзов

  1. ШУНО без встроенного радиошлюза;
  2. Опора уличного освещения на которой установлен управляемый светильник;
  3. Опора уличного освещения, на которой установлен неуправляемый светильник;
  4. Меш-сеть;
  5. Радиошлюз установленный на одну из опор.

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

Верхний уровень

Схема решения при техническом аудите

Подсистема “Технический аудит” обеспечивает сбор первичной информации о состоянии объектов уличного освещения, а так же характеристики мест установки.

AWS S3 или S3 совместимое хранилище объектов используется только для хранения фотографий и видео.

Системное ПО

  • Операционная система: Linux;
  • Система управления базами данных: PostgreSQL;
  • Кэш: Redis;
  • SSL/TLS шлюз: nginx с поддержкой Letsencrypt;
  • Docker контейнеры для быстрого запуска пилотных проектов.

Технологии разработки

  • Язык программирования Golang;
  • Язык программирования TypeScript и библиотека React;
  • Язык программирования С;
  • Язык программирования JavaScript (для описания настраиваемой логиики).