O que o Orbit não promete
O Orbit tenta dizer o que cada recurso não cobre no lugar onde você o usa. Esta página reúne esses limites.
Um plano de controle só
O Orbit, o plano de controle do Kubernetes e o roteador que recebe o seu tráfego rodam só no servidor principal.
- Se o servidor principal for perdido, o console, os deploys, o failover e o tráfego de entrada param junto, assim como as aplicações que estão nele.
- Por isso o Orbit não chama nada de alta disponibilidade, nem um banco com réplicas em outros servidores.
- Mantenha uma cópia do
orbit backupfora do servidor, e backups dos seus bancos num armazenamento externo.
Mais servidores trazem espaço
Por padrão, um serviço roda no servidor que você escolher e para se esse servidor parar. Várias instâncias de uma aplicação num servidor só aguentam mais carga, mas se esse servidor cair, todas caem junto.
Uma aplicação pode espalhar as instâncias entre servidores, e elas voltam em outro lugar quando um servidor se perde. O tráfego, porém, continua entrando pelo servidor principal, e bancos que não sejam réplicas de PostgreSQL ficam num servidor só.
Bancos de dados
- Dados num disco só: sem backups num armazenamento externo, perder o servidor de um banco é perder os dados dele.
- Failover leva tempo: cerca de um minuto quando um servidor para e cerca de um minuto e meio quando ele perde a rede, a maior parte esperando o Kubernetes declarar o servidor perdido. Veja as medições.
- Replicação assíncrona pode perder escritas: um failover pode perder o que o primário aceitou logo antes de falhar. Um primário isolado das réplicas continua aceitando escritas das aplicações do lado dele por até cerca de meio minuto antes de parar sozinho, e essas escritas se perdem.
- Replicação síncrona pode parar as escritas: ela não perde nenhuma escrita confirmada, mas as escritas param quando dois dos três servidores são perdidos.
- Perder tudo: reconstruir a partir do arquivo perde as escritas que não tinham chegado a ele, até cerca de um minuto.
- Onde foi testado: o failover e a recuperação foram medidos num cluster de três nós rodando como contêineres numa máquina só, ainda não em servidores separados.
Atualizações
Enquanto o Orbit reinicia numa atualização, o console fica indisponível por alguns segundos. Suas aplicações continuam rodando. Veja Atualizações.
Armazenamento
Os volumes ficam no disco do servidor, e os tamanhos deles são pedidos, não impostos.