Gestão externa da configuração¶
Em instalações em cluster os streams do Sapsan são gerenciados por um sistema externo (por exemplo, o Flussonic Central): o servidor periodicamente busca numa URL externa a lista de streams e a aplica.
Configuração¶
config_external:
url: http://central.example.com/central/api/v3/streamers/streamer1.example.com
bearer: <token de acesso>
client_host: streamer1.example.com
interval_secs: 5
timeout_ms: 30000
| Parâmetro | Descrição |
|---|---|
url |
de onde buscar a configuração |
bearer |
token de autorização para o servidor externo |
client_host |
o nome com o qual este servidor se apresenta ao sistema de gestão |
interval_secs |
período de sondagem (5 s por padrão) |
timeout_ms |
tempo limite da requisição (30 s por padrão) |
fetch_runtime_config |
se buscar também a configuração de runtime (true por padrão) |
Important
Quando o config_external está ligado, a seção local streams do sapsan.yaml é ignorada — a fonte da verdade passa a ser o servidor externo. As demais seções (listeners, dvr, auth, api_auth) continuam locais, a menos que o servidor externo entregue as suas.
Como funciona a sondagem¶
- O Sapsan pede
GET <url>/streamsa cadainterval_secs; a lista é trazida página por página pelo cursornext. Cada requisição levaAuthorization: Bearer, um cabeçalhox-originator: sapsane oclient_host. - A configuração de runtime (
GET <url>/config— listeners, DVR, auth) é pedida só quando o servidor anuncia que tem uma. - Se a configuração não mudou, a reaplicação é omitida.
Tolerância a falhas¶
- Uma lista parcialmente inválida: os streams quebrados são descartados (com indicação de qual campo falhou) e os válidos são aplicados — status
Partial. - Uma configuração totalmente inválida (por exemplo, conflito de portas): nada é aplicado, continua rodando a configuração anterior — status
Error. - Indisponibilidade do servidor externo, JSON quebrado e erros HTTP são distinguidos no status (
network/malformed_json/http<code>).