Skip to content

Физическая архитектура

Nimbus Billing — это современное веб‑приложение: фронтенд на React/Vite, API‑шлюз (reverse proxy), набор Go‑микросервисов, отдельные PostgreSQL‑базы на сервис, Redis для кэша/сессий и объектное хранилище (S3‑совместимое) для файлов.

Ниже приведена блочная схема в виде flowchart‑диаграммы Mermaid.

Краткие акценты по архитектуре

  • Изоляция данных по сервисам. У каждого сервиса свой PostgreSQL‑инстанс/схема: это упрощает миграции, повышает отказоустойчивость и подчёркивает границы контуров (auth, core, billing).
  • Единый шлюз. Все внешние запросы проходят через Caddy/Nginx, где настраиваются TLS, маршрутизация по путям, CORS и базовые лимиты.
  • Redis как общий быстрый слой. Используется для сессий, кэшей справочников и вспомогательных структур, не являясь источником истины.
  • S3‑хранилище. Хранит тяжёлые артефакты (отчёты, выгрузки, вложения), разгружая базу данных и упрощая бэкапы.
  • Bank Integrator и GIS Integration Gateway. Выделены в отдельные сервисы, чтобы централизовать работу с банками (файлы 1С + API) и ГИС ЖКХ и не перегружать доменное ядро.
  • Messenger MAX как часть фронтенда. Интегрируется через виджет (iframe/JS‑SDK) и взаимодействует с core-service для отображения контекста ЛС/дома прямо в мессенджере, создавая B2B2C‑экосистему вокруг Nimbus.

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