Componentes e confiabilidade¶
Uma instalação do Catena se compõe de poucas partes, e cada uma tem seu portador de estado e suas garantias. Esta página é o mapa: o que se guarda onde, o que sobrevive à perda de quê e em que se apoia a compatibilidade nas atualizações. O comportamento do cluster numa queda do central é coberto à parte — Autonomia do streamer.
De que a instalação se compõe¶
- O serviço catena na máquina do central — o plano de controle e o streamer local num só processo.
- PostgreSQL — o armazém de estado do central. O único: o central não tem diretório de estado próprio.
- Os serviços dos streamers — a transmissão; cada um com seu diretório de estado e seus discos de arquivo.
- O armazém de métricas — embutido, na memória do processo, com horizonte de algumas horas; história para os gráficos, não um arquivo.
O que mora no PostgreSQL¶
Tudo o que constitui o estado desejado e os registros da instalação:
- as configurações de canais e as configs dos streamers;
- o registro de streamers — os assentos com a identidade e as chaves das máquinas;
- a alocação de canais, o diário de decisões e as execuções do layouter;
- as zonas CDN;
- o diário de sessões fechadas;
- o material TLS do central — a conta ACME e os certificados emitidos.
A consequência é simples: um backup íntegro do banco é uma instalação íntegra. Como tirá-lo e restaurá-lo — Backup e restauração.
O que mora num streamer¶
O diretório de estado /var/lib/catena de cada máquina:
server.ide o cache de ativação — a identidade de licenciamento da máquina;- a identidade do streamer no cluster — a chave com a qual ele se apresenta ao central;
- o cache do slice de configuração aplicado — o que dá a partida a quente sem central;
- o diário local de sessões fechadas até o central colhê-lo.
O arquivo DVR mora em outro lugar — nos discos dedicados definidos nas configurações do streamer.
O que sobrevive à perda de quê¶
| Perdido | O que acontece | O que fazer |
|---|---|---|
| O processo do central | O ar e a gravação continuam; a gestão e o caminho do espectador pelo central congelam | Autonomia do streamer; levante o processo — o cluster se recompõe sozinho |
| O banco PostgreSQL | Como acima, mais o estado desejado se perde | Restaurar do dump — os streamers reconectam sozinhos |
| O banco, e sem backup | O ar segue; os streamers ficam órfãos | Reengatar cada um: reset de estado e token novo |
| O diretório de estado de um streamer | A máquina perde a identidade — de licença e de cluster | Aderir a máquina de novo; os canais se realocam |
| Um disco DVR | Perde-se o arquivo daquele disco; o ar não é tocado | Os indicadores do disco no diagnóstico |
| O armazém de métricas (reinício do processo) | Perdem-se algumas horas de história dos gráficos | Nada — acumula de novo |
Garantias de compatibilidade¶
- Versões diferentes convivem. O protocolo de troca cresce só por adição: campos desconhecidos devem ser ignorados pelos dois lados, então central e streamers de versões vizinhas trabalham juntos.
- O esquema do banco é compatível numa janela de duas versões. Esquema mais novo sob código mais velho é a norma; isso habilita tanto a atualização por etapas quanto o rollback do binário sem rollback do banco.
- O registro é deliberadamente não idempotente. Aderir de novo a mesma máquina cria um assento novo, e duplicatas por
server_ido registro marca deixando a decisão ao operador — veja a lista de streamers.