Gestión externa de la configuración¶
En las instalaciones en clúster los streams de Sapsan los gestiona un sistema externo (por ejemplo, Flussonic Central): el servidor toma periódicamente de una URL externa la lista de streams y la aplica.
Configuración¶
config_external:
url: http://central.example.com/central/api/v3/streamers/streamer1.example.com
bearer: <token de acceso>
client_host: streamer1.example.com
interval_secs: 5
timeout_ms: 30000
| Parámetro | Descripción |
|---|---|
url |
de dónde tomar la configuración |
bearer |
token de autorización para el servidor externo |
client_host |
el nombre con el que este servidor se presenta ante el sistema de gestión |
interval_secs |
periodo de sondeo (5 s por defecto) |
timeout_ms |
tiempo de espera de la petición (30 s por defecto) |
fetch_runtime_config |
si tomar también la configuración de runtime (true por defecto) |
Important
Cuando config_external está activado, la sección local streams de sapsan.yaml se ignora — la fuente de verdad pasa a ser el servidor externo. Las demás secciones (listeners, dvr, auth, api_auth) siguen siendo locales, salvo que el servidor externo entregue las suyas.
Cómo funciona el sondeo¶
- Sapsan solicita
GET <url>/streamscadainterval_secs; la lista se trae página por página mediante el cursornext. Cada petición llevaAuthorization: Bearer, un encabezadox-originator: sapsany elclient_host. - La configuración de runtime (
GET <url>/config— listeners, DVR, auth) se solicita solo cuando el servidor anuncia que tiene una. - Si la configuración no ha cambiado, se omite la reaplicación.
Tolerancia a fallos¶
- Una lista parcialmente inválida: los streams rotos se descartan (con indicación de qué campo falló) y los válidos se aplican — estado
Partial. - Una configuración completamente inválida (por ejemplo, un conflicto de puertos): no se aplica nada, sigue funcionando la configuración anterior — estado
Error. - La indisponibilidad del servidor externo, el JSON roto y los errores HTTP se distinguen en el estado (
network/malformed_json/http<code>).