Servicios
Información de servicio: SLOs, cuotas, políticas de datos, seguridad, integración y operación.

Módulo operativo
SLOs por dominio
Live stream (SSE)
- Latencia
- < 5 s — tiempo esperado desde ingestión hasta entrega al cliente en condiciones normales.
- Disponibilidad
- 99.5% objetivo — medida sobre ventanas mensuales; mantenimiento planificado excluido.
- Resiliencia
- Reintentos con backoff y heartbeats — reconexión automática y detección de stalls para minimizar pérdidas de eventos.
Lecturas REST (vessels/ports)
- P95 caliente
- < 800 ms — respuesta cuando el recurso está en cache; objetivo para tráfico operativo.
- TTL
- Estáticos 24–72 h; puertos 1–6 h — políticas de frescura que balancean coste y actualidad.
- Rate-limit
- Por usuario/IP — protección contra abuso (códigos 429) y mecanismos de auditoría.
Persistencia operativa
- Tecnología
- Postgres + PostGIS + Timescale — diseñada para series temporales y consultas geoespaciales.
- Retención
- ≤ N días — configuración por contrato; compresión y eliminación automática de chunks antiguos.
- Índices
- GiST para geom y compuestos (mmsi, ts DESC) para consultas eficientes.
Cuotas y límites
Stream SSE
- BBOX
- Máximo por solicitud (configurable) — limita el área para proteger latencia y coste.
- Mensajes
- Tipos soportados según dominio — p.ej. posiciones AIS posicionales; otros tipos filtrables.
- Sesiones
- Conexiones simultáneas por usuario — políticas de fair-use y límites por plan.
Enrichment REST
- QPS
- Por endpoint (según plan) — medido y aplicado; excedentes retornan 429.
- TTL
- Por dominio — define frescura frente a coste de proveedores.
- Backoff
- Estrategia exponencial ante 5xx/429 del proveedor para proteger colas y costos.
Datos y retención
- Retención
- Operativa ≤ N días — periodo configurable por contrato; históricas profundas fuera del alcance MVP.
- Compresión
- Compresión en caliente para reducir costes de almacenamiento sin afectar consultas recientes.
- Exportación
- Sujeta a política de licencia — exportaciones y redistribución controladas por acuerdos con proveedores.
Políticas de servicio
Los límites de cuota, cache y retención se rigen por contrato de proveedor y plan vigente. Cambios pueden requerir actualización de políticas y auditoría.
Flujo de servicio
- 1 Definir dominios y cuotas por plan.
- 2 Establecer SLOs y métricas de observabilidad.
- 3 Configurar políticas de cache, retención y rate-limit.
- 4 Publicar endpoints y versionado.
- 5 Monitorear consumo y ajustar parámetros.

Gobierno y operación
- Seguridad
- Aplicativa y auditoría centralizada
- Integración
- DTOs por proveedor y políticas de rate-limit
- Observabilidad
- Métricas y salud por módulo
Conceptos clave
AIS (Automatic Identification System)
Sistema de transmisión de posiciones y datos de buques; base para la telemetría en tiempo real.
WSS
WebSocket Secure: conexión bidireccional segura para streaming de datos de baja latencia.
SSE (Server-Sent Events)
Mecanismo de stream unidireccional desde servidor a cliente; sencillo y robusto para MVP.
BBOX
Bounding box geográfica (minLon,minLat,maxLon,maxLat) usada para filtrar streams por área.
DTO (Data Transfer Object)
Estructura de datos estándar para abstraer respuestas de distintos proveedores.
SLO (Service Level Objective)
Objetivo medible de servicio (latencia, disponibilidad) que guía los SLAs.
TTL (Time To Live)
Tiempo de vida de una entrada en cache antes de considerarla obsoleta.
PostGIS
Extensión espacial de PostgreSQL para manejo de geometrías y consultas geoespaciales.
TimescaleDB
Extensión para PostgreSQL optimizada para series temporales (alta ingestión y compresión).
GiST
Tipo de índice para datos espaciales usado en PostGIS para búsquedas eficientes.
Geofence
Área geográfica definida para detectar entradas y salidas (alertas).
UN/LOCODE
Código estandarizado de localización de puertos usado como identificador único.
Rate-limit
Límite de peticiones por segundo/usuario para proteger servicios y proveedores.
Backoff
Estrategia de reintentos exponencial para reducir la presión sobre proveedores tras errores o límites.