Архитектура ISP (OSS/BSS)
Глоссарий терминов
Словарь основных терминов и аббревиатур (Telecom & Billing).
Глоссарий (Glossary)
Полный список терминов, используемых в архитектуре провайдера.
BSS / OSS
- BSS (Business Support Systems): Системы поддержки бизнеса. "Про деньги": Биллинг, CRM, Каталог продуктов.
- OSS (Operations Support Systems): Системы поддержки операций. "Про сеть": Инвентаризация, Мониторинг, Управление доступом.
- OMS (Order Management System): Система управления заказами. Центральный оркестратор бизнес-процессов, который координирует действия между BSS и OSS, управляет жизненным циклом заказов и workflow'ами.
- FSM (Field Service Management): Система управления выездными работами. Управляет монтажниками, выездами, складом оборудования и полевыми операциями (см. раздел Оркестрация и Workflows).
- CRM (Customer Relationship Management): Система управления взаимоотношениями с клиентами.
- Dunning: Процесс работы с задолженностью (напоминания, блокировки, коллекшн).
- BPM (Business Process Management): Управление бизнес-процессами, часто используется для моделирования и автоматизации workflow'ов.
- SLA (Service Level Agreement): Соглашение об уровне обслуживания — договорные обязательства по качеству услуги (доступность, скорость, время восстановления).
- ARPU (Average Revenue Per User): Средний доход на одного абонента — ключевая бизнес-метрика ISP.
- Churn Rate: Процент оттока абонентов за период. Основной индикатор качества сервиса и ценовой политики.
Сеть и Доступ
- AAA (Authentication, Authorization, Accounting): Фундаментальная модель контроля доступа и учета сетевых ресурсов.
- Authentication: Аутентификация — проверка подлинности пользователя или устройства (проверка логина/пароля/MAC).
- Authorization: Авторизация — определение прав доступа и параметров сессии (скорость, VLAN, IP-адрес).
- Accounting: Учет — сбор статистики потребления ресурсов (трафик, время сессии) для тарификации.
- NAS (Network Access Server): Устройство, к которому физически подключается клиент (Роутер, BRAS). Оно спрашивает у RADIUS, пускать ли клиента.
- BRAS / BNG (Broadband Remote Access Server): Мощный маршрутизатор, терминирующий абонентские сессии.
- CoA (Change of Authorization): Расширение протокола RADIUS (RFC 3576), позволяющее серверу инициировать изменение параметров сессии без разрыва (например, сменить скорость). Подробнее — Интеграция с RADIUS.
- CPE (Customer Premises Equipment): Оборудование на территории клиента (Wi-Fi роутер, ONT).
- IPoE (IP over Ethernet): Способ подключения без логина/пароля (DHCP), аутентификация по MAC или Порту (Option 82).
- PPPoE (Point-to-Point Protocol over Ethernet): Туннельный протокол с логином/паролем. Стандарт де-факто в "нулевых", сейчас уступает место IPoE.
- GPON (Gigabit Passive Optical Network): Технология пассивных оптических сетей для доставки услуг по волоконно-оптическому кабелю (до 2.5 Гбит/с). Основная технология "последней мили" для FTTH.
- xPON: Обобщённое название семейства PON-технологий: GPON, XGS-PON, 10G-PON, EPON.
- FTTH (Fiber To The Home): Архитектура "волокно до дома" — оптический кабель прокладывается непосредственно до квартиры/дома абонента.
- FTTB (Fiber To The Building): Архитектура "волокно до здания" — оптика до коммутатора в подъезде, от него — медь (Ethernet) до абонента.
- OLT (Optical Line Terminal): Оптический терминал на стороне провайдера. Агрегирует трафик от ONT абонентов.
- ONT / ONU (Optical Network Terminal / Unit): Абонентское оптическое устройство (CPE), преобразующее оптический сигнал в Ethernet.
- VLAN (Virtual LAN): Виртуальная локальная сеть. Используется для изоляции трафика абонентов на уровне коммутаторов.
- VRF (Virtual Routing and Forwarding): Виртуальная таблица маршрутизации. Позволяет изолировать маршруты на одном маршрутизаторе.
- IPAM (IP Address Management): Управление IP-адресным пространством: пулы, подсети, выделения, DHCP-lease.
- Option 82 (DHCP Relay Agent Information): Расширение DHCP, позволяющее NAS передавать информацию о физическом порте/VLAN абонента для идентификации без логина/пароля (IPoE).
- DPI (Deep Packet Inspection): Глубокий анализ пакетов. Используется для QoS, фильтрации (реестр РКН), СОРМ-1.
- QoS (Quality of Service): Механизмы обеспечения качества обслуживания: приоритизация трафика, шейпинг, полисинг.
- Netflow / IPFIX / sFlow: Протоколы экспорта статистики сетевого трафика с маршрутизаторов и коммутаторов.
- SNMP (Simple Network Management Protocol): Протокол управления и мониторинга сетевого оборудования.
- Netconf / YANG: Современные протоколы и модели конфигурации сетевого оборудования (замена CLI/SNMP).
- TR-069 / CWMP: Протокол удалённого управления CPE (Customer Premises Equipment). Позволяет массово обновлять прошивки, менять настройки Wi-Fi, диагностировать оборудование без выезда.
- ACS (Auto-Configuration Server): Сервер автоконфигурации CPE по протоколу TR-069.
- Captive Portal: Страница перенаправления для абонентов с задолженностью или неавторизованных пользователей.
Данные и Биллинг
- CDR (Call Detail Record): Запись о факте звонка или интернет-сессии. "Сырая" строка лога: "Кто, Куда, Сколько байт, Когда начал, Когда закончил".
- UDR (Usage Detail Record): Аналог CDR, но для данных (интернета).
- Rating (Тарификация): Процесс превращения CDR (байты/минуты) в деньги.
- Provisioning: Процесс автоматической настройки услуги на оборудовании. Микросервис: Provisioning Service. Подробнее — Слой OSS.
- Mediation: Промежуточный слой, нормализующий сетевые события (CDR/UDR/Netflow) в единый формат для биллинга и аналитики.
- Proration (Перерасчёт): Расчёт стоимости услуги за неполный период при смене тарифа или дате подключения. Формула:
daily_rate = monthly_price / days_in_month. - Ledger (Журнал): Бухгалтерская книга с двойной записью. Каждая финансовая операция — проводка (debit/credit), а не "просто изменение баланса".
- Invoice (Счёт): Документ, выставляемый абоненту за услуги за период. Формируется Billing & Finance Service.
- Reconciliation (Сверка): Процесс сверки данных между внутренней системой и внешним источником (банк, платёжный шлюз).
- RMA (Return Merchandise Authorization): Процесс замены неисправного оборудования (CPE) у абонента.
- Order-to-Cash (O2C): Полный бизнес-цикл от заявки клиента до получения оплаты. Включает Lead → Quote → Order → Fulfillment → Billing → Payment → Revenue.
- Lead-to-Cash (L2C): Расширенный вариант O2C, начинающийся с первого контакта (lead generation, маркетинг) до получения регулярного дохода.
- Prepaid (Авансовая модель): Модель тарификации, при которой клиент платит вперёд, баланс уменьшается при потреблении. При исчерпании — suspend.
- Postpaid (Кредитная модель): Модель тарификации, при которой клиент пользуется услугой, оплачивая по счёту в конце периода. При неоплате — dunning.
- Autopay (Автоплатёж): Автоматическое списание с привязанной карты клиента при достижении порога баланса или в дату биллинга. Реализуется через токенизацию карты.
- Promise-to-Pay (Обещанный платёж): Механизм временной заморозки dunning: клиент обещает оплатить в течение N дней, блокировка откладывается.
- Grace Period (Льготный период): Дополнительное время после окончания оплаченного периода, в течение которого услуга продолжает работать без ограничений.
- Write-off (Списание): Списание безнадёжной задолженности (обычно D+90). Абонент переводится в архив.
- LTV (Lifetime Value): Прогнозируемый суммарный доход от абонента за всё время использования услуг. Ключевая метрика для оценки рентабельности привлечения.
- Revenue Recognition: Процесс признания выручки в соответствии с бухгалтерскими стандартами (распределение авансовых платежей по периодам).
- УПД (Универсальный передаточный документ): Бухгалтерский документ для юрлиц, совмещающий функции счёта-фактуры и товарной накладной.
Архитектура и Паттерны (DDD / SOLID)
- DDD (Domain Driven Design): Методология проектирования, в которой архитектура системы отражает бизнес-домены. Подробнее — Доменная логика, Принципы архитектуры.
- Bounded Context: Граница домена в DDD. Внутри — единая модель и язык. Между контекстами — интеграция через Protobuf-контракты и RabbitMQ-события.
- Aggregate Root: Корень агрегата в DDD — единственная точка входа для мутаций группы связанных сущностей. Все бизнес-правила проверяются на уровне агрегата.
- Value Object: Неизменяемый объект, определяемый значением (не идентификатором). Примеры: Money, Address, Email.
- Domain Event: Событие, произошедшее в домене. Генерируется Aggregate Root и публикуется через Outbox после коммита.
- Unit of Work (UoW): Паттерн, гарантирующий атомарный коммит бизнес-данных и outbox-событий в одной транзакции. Подробнее — Принципы архитектуры.
- CQRS (Command Query Responsibility Segregation): Разделение моделей чтения и записи. Write side — через Aggregate Root, Read side — через денормализованные view.
- SOLID: Набор из пяти принципов ООП: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion. Подробнее — Принципы архитектуры.
- DRY (Don't Repeat Yourself): Принцип: каждая единица знания должна иметь единственное представление. В нашей платформе реализуется через Protobuf как Single Source of Truth.
- KISS (Keep It Simple, Stupid): Принцип простоты: простое решение всегда предпочтительнее сложного.
- YAGNI (You Aren't Gonna Need It): Не добавляйте функциональность, пока она не понадобилась.
- Clean Architecture: Архитектурный подход с чёткими слоями (Domain → Application → Infrastructure → Ports) и направлением зависимостей внутрь.
- Repository Pattern: Абстракция доступа к данным. Интерфейс определяется в Application-слое, реализация — в Infrastructure.
Интеграция и Messaging
- Protobuf (Protocol Buffers): Бинарный формат сериализации от Google. Все контракты платформы описываются в
.protoфайлах. Подробнее — API-контракты. - buf.build: Платформа и CLI для работы с Protobuf: lint, breaking change detection, кодогенерация, BSR (Buf Schema Registry).
- BSR (Buf Schema Registry): Централизованный реестр Protobuf-схем. Все сервисы тянут сгенерированный код из BSR.
- protovalidate: Библиотека валидации полей Protobuf-сообщений. Правила описываются аннотациями в
.proto, генерируется код валидации. - ConnectRPC: Современный RPC-фреймворк поверх Protobuf. Поддерживает HTTP/1.1 + HTTP/2, JSON fallback, нативную работу в браузерах.
- gRPC: RPC-фреймворк от Google на основе HTTP/2 + Protobuf. ConnectRPC полностью совместим с gRPC.
- RabbitMQ: Брокер сообщений (AMQP). Используется для асинхронного обмена командами и событиями между сервисами. Topic/Direct/Fanout exchanges, Quorum Queues, DLX/DLQ.
- Quorum Queue: Тип очереди RabbitMQ с Raft-репликацией. Durable, replicated — стандарт для production.
- DLX / DLQ (Dead Letter Exchange / Queue): Механизм перенаправления сообщений, которые не удалось обработать после всех ретраев. Требует ручного разбора.
- Publisher Confirms: Механизм RabbitMQ, гарантирующий, что сообщение записано на диск/реплицировано перед подтверждением продюсеру.
- EventEnvelope: Стандартная Protobuf-обёртка для всех доменных событий в RabbitMQ. Содержит
event_id,event_type,source,schema_version,metadata,payload. Определена вcommon/v1/events.proto. - CommandEnvelope: Стандартная Protobuf-обёртка для всех команд в RabbitMQ. Содержит
command_id,command_type,source,target,metadata,payload. Определена вcommon/v1/events.proto. - @golevelup/nestjs-rabbitmq: NestJS-модуль для RabbitMQ. Decorator-based pub/sub, auto-reconnect, exchanges, DLX. Используется во всех NestJS-сервисах для асинхронного обмена событиями.
- BullMQ: Redis-based фоновый обработчик задач для Node.js/TypeScript (
@nestjs/bullmq). Приоритеты, cron, retry, rate limiting, concurrency control. Используется во всех NestJS-сервисах. Подробнее — API-контракты. - Bull Board: Web UI для мониторинга BullMQ-очередей. Показывает статусы джоб, retry, ошибки.
- river: PostgreSQL-based фоновый обработчик задач для Go. Используется только в Go-сервисах (Mediation, Provisioning, AAA).
- API Facade (Channel API): Фасадный слой над микросервисами, адаптирующий данные под конкретный канал (ЛК/CRM/партнёры).
- BFF (Backend for Frontend): Паттерн, при котором для каждого типа клиента (web, mobile) создаётся свой API-агрегатор.
- Idempotency (Идемпотентность): Свойство API метода возвращать одинаковый результат при повторных вызовах с теми же данными. Подробнее — API-контракты.
- Outbox Pattern: Паттерн гарантированной публикации событий: запись в outbox-таблицу в одной транзакции с бизнес-данными, затем relay публикует в RabbitMQ.
- Inbox Pattern: Паттерн дедупликации: запись обработанных event ID для защиты от повторной обработки.
- Saga: Паттерн управления распределёнными транзакциями через последовательность шагов с компенсирующими действиями при ошибке.
- Circuit Breaker: Паттерн отказоустойчивости: автоматическое прекращение вызовов к недоступному сервису. Состояния: Closed → Open → Half-Open. Реализация: opossum (NestJS),
gobreaker/v2(Go). Подробнее — API-контракты. - Exponential Backoff: Стратегия ретраев с экспоненциально растущей задержкой: 200ms → 400ms → 800ms → ... Реализация: p-retry (NestJS),
cenkalti/backoff/v4(Go). - CDC (Change Data Capture): Механизм отслеживания изменений в БД. Используется для outbox relay.
Инфраструктура и DevOps
- Kustomize: Нативный инструмент Kubernetes для декларативной кастомизации YAML-манифестов через overlays и patches (без шаблонизации). Подробнее — Технологический стек.
- ArgoCD: GitOps-контроллер для Kubernetes. Синхронизирует состояние кластера с Git-репозиторием.
- GitOps: Практика управления инфраструктурой и деплоем через Git-репозиторий как единый источник истины.
- Canary Deploy: Стратегия деплоя, при которой новая версия сначала раскатывается на малый процент трафика.
- HPA (Horizontal Pod Autoscaler): Автомасштабирование pod'ов в Kubernetes по метрикам (CPU, memory, custom).
- KEDA: Kubernetes Event-Driven Autoscaler — автомасштабирование по длине очереди RabbitMQ, метрикам Prometheus и др.
- PDB (Pod Disruption Budget): Ограничение на количество одновременно недоступных pod'ов при обновлениях/перезапусках.
- Strangler Fig Pattern: Паттерн постепенной миграции, при котором новая система "обрастает" вокруг старой. Подробнее — Стратегия миграции.
- Distroless: Минимальный Docker-образ без shell, package manager и лишних утилит. Уменьшает поверхность атаки. Используется для Go-сервисов.
- ESO (External Secrets Operator): Оператор Kubernetes для синхронизации секретов из HashiCorp Vault / AWS Secrets Manager в K8s Secrets.
NestJS экосистема
- Bun: Всё-в-одном JavaScript/TypeScript runtime (v1.3+). Включает package manager, test runner (
bun:test), bundler, встроенные клиенты S3 (Bun.s3), PostgreSQL (Bun.sql), Redis. Заменяет Node.js + pnpm + Vitest. - NestJS: Прогрессивный TypeScript фреймворк для enterprise-приложений. DI, модули, guards, interceptors, pipes. Работает на Bun runtime.
- Drizzle ORM: SQL-like TypeScript ORM. Zero overhead, type-safe joins, полный контроль над SQL.
Bun.sqlкак driver,drizzle-kitдля миграций. Подробнее — Технологический стек. - zod 4: TypeScript-first библиотека валидации. 14× быстрее v3, JSON Schema из коробки, i18n,
.meta(), recursive objects, Zod Mini. - neverthrow: Rust-style
Result<T, E>для TypeScript. Явный error handling без throw/catch. - pino: Самый быстрый JSON logger. Используется через
nestjs-pino. - opossum: Circuit breaker для Node.js/Bun (Red Hat). Closed → Open → Half-Open.
- p-retry: Retry с exponential backoff и jitter.
- Turborepo: Monorepo build system от Vercel. Remote caching, task pipelines. Работает с Bun workspaces.
- bun:test: Встроенный test runner Bun. Concurrent tests, snapshots, mocks,
expectTypeOf(), VS Code integration. - testcontainers: Docker-based интеграционные тесты (PostgreSQL, Redis, RabbitMQ в Docker).
- Next.js 16: React-фреймворк от Vercel. Turbopack (stable), Cache Components + PPR, React Compiler, View Transitions,
proxy.ts, React 19.2.
Регуляторные термины (Россия)
- СОРМ (Система оперативно-розыскных мероприятий): Обязательная система для операторов связи, обеспечивающая доступ правоохранительных органов к данным о соединениях и трафике. Подробнее — Безопасность и Комплаенс.
- ПУ (Пункт Управления): Аппаратно-программный комплекс на стороне ФСБ для доступа к данным СОРМ.
- ФЗ-126 "О связи": Основной закон, регулирующий деятельность операторов связи в России.
- ФЗ-152 "О персональных данных": Закон о защите персональных данных, определяющий правила обработки и хранения ПДн.
- ФЗ-374 (Закон Яровой): Закон, обязывающий операторов хранить содержимое коммуникаций до 6 месяцев и метаданные до 3 лет.
- РКН (Роскомнадзор): Регулятор в сфере связи и массовых коммуникаций. Ведёт реестр запрещённых ресурсов.
- ФИАС: Федеральная информационная адресная система. Используется для стандартизации адресов абонентов.