Di-Ca-N / dropbox

Sistema simples de sincronização de arquivos.
MIT License
0 stars 0 forks source link

Modificações para Etapa 2 #11

Closed Di-Ca-N closed 2 months ago

Di-Ca-N commented 3 months ago

Cliente

  1. Consultar o Front-End para determinar qual é o servidor primário
  2. Tentar reconexão quanto o servidor cai
  3. Mecanismo de retry de operações que falharam por conta de queda do servidor
  4. Garantir que o cliente continua funcionando quando o servidor cai

Front-end/Binding Agent

  1. Monitorar se o servidor primário está vivo para saber se o IP atual é válido ou não
  2. Responder aos clientes qual é o IP do servidor primário
  3. Manter registro se o IP atual é válido ou não. Se não for, avisar o cliente para tentar de novo ou segurar a solicitação até ter um IP válido

Servidor

  1. Algoritmo de eleição do servidor primário (Anel)
  2. Servidor primário registra o seu IP no Binding Agent
  3. Replicação passiva:
    1. Servidor primário executa a operação completamente
    2. Servidor sincroniza com as réplicas
    3. Servidor confirma para o cliente
  4. Verificação da quantidade de devices conectados por usuário (max. 2)
  5. Manutenção e replicação da lista de servidores de backup conhecidos

Provavelmente

  1. Replicações parciais?
  2. Rollback?
  3. Servidor volta à vida?
felipe-gallois commented 3 months ago

Adiciona na parte do servidor: broadcasting de lista de servidores a cada nova conexão de replica manager e manutenção de uma lista interna de réplicas em cada backup.