1.6 KiB
1.6 KiB
Архитектура RTL-SDR ingest-контура для FR24 / noisemap
1. Назначение
Этот документ описывает контейнерную архитектуру локального ADS-B контура на RTL-SDR внутри одной VM в PVE.
Цель контура:
- принимать ADS-B поток в real time
- хранить сырьё с retention 3 дня
- автоматически догонять пропуски после сбоя
- хранить данные в PostgreSQL/PostGIS
- отдавать данные в noisemap / карту
2. Контейнеры
2.1 postgres
Хранит:
capturesraw_packetsaircraftflightstrackstrack_pointsprocessing_statenoise_results
2.2 capture
- читает USB RTL-SDR
- пишет
capturesиraw_packets - не занимается нормализацией
2.3 preprocess
- читает
raw_packets - строит
aircraft,flights,tracks,track_points - управляет
processing_state - поддерживает recovery
2.4 api
- читает те же таблицы
- отдаёт данные для noisemap UI
- не пересчитывает геометрию на лету
2.5 monitoring
- отдельный контейнер
- healthchecks, disk/DB/capture status, alerts
3. Docker Compose порядок
Минимальный состав:
postgrescapturepreprocessapimonitoring
4. Контракт ingest↔API
Контрактом является схема PostgreSQL. Детали — в docs/INGEST_API_CONTRACT.md.