Orkas Orkas
Início Blog Arquitetura
Arquitetura

Sincronização na nuvem na prática: como o Orkas sincroniza dados entre dispositivos

Como o Orkas sincroniza dados do usuário entre dispositivos com transferência criptografada, armazenamento de conteúdo, commits de propriedade do servidor, bloqueios de conta, regras de sincronização, tratamento de conflitos assistido por modelo, confirmação de exclusão e uma lixeira.

A sincronização na nuvem para dados do usuário não envolve apenas upload e download. Ele precisa proteger o conteúdo privado em trânsito, manter o armazenamento barato, serializar gravações de vários dispositivos, compreender diferentes formatos de dados, solicitar confirmação antes de exclusões perigosas e preservar um caminho de volta quando uma decisão for errada.

Orkas trata a sincronização na nuvem como um limite do produto, não como um utilitário em segundo plano. Conversas, agentes, habilidades, estado da tarefa, arquivos de conhecimento e configurações precisam se mover entre dispositivos, mantendo uma clara cadeia de responsabilidade: o dispositivo prepara o conteúdo, o armazenamento de objetos contém bytes e o servidor possui o índice autoritativo.

A estrutura abaixo é a que usamos para raciocinar sobre o sistema: fluxo de conteúdo criptografado, armazenamento endereçado ao conteúdo, bloqueio de sincronização no nível da conta, commit de propriedade do servidor, regras de sincronização determinísticas, tratamento de conflitos assistido por modelo, confirmação de exclusão, lixeira e marcadores de recuperação.

Resumo da sincronização na nuvem
Dados do dispositivoVerifica os dados de propriedade do usuário e os compara com a última linha de base limpa.
Camada de segurançaCriptografa, faz hash, verifica e assina a intenção de cada passagem de sincronização.
Armazenamento em nuvemArmazena objetos de conteúdo e um índice compacto do que deveria existir.
Camada de recuperaçãoMantém marcas para exclusão, arquivos de conflitos, prompts de exclusão e entradas da lixeira.
O sistema é construído como um conjunto de verificações em torno do fluxo de dados, não como um espelho cego de arquivos.
Em resumo Local-first, e ainda assim na sua outra máquina A sincronização é opcional; o workspace fica na sua máquina por padrão. Mais sobre esse limite na página agente de IA local-first.
Baixar o Orkas — grátis

O contrato de sincronização

Cada passe de sincronização responde a quatro perguntas do produto: qual conteúdo pode ser movido, como ele é protegido, quem tem permissão para publicar um novo índice de nuvem e como o usuário pode se recuperar se a sincronização fizer a chamada errada?

O contrato para cada passe
EscopoApenas os dados do usuário são considerados.
CriptografarAs cargas úteis são protegidas antes de saírem do dispositivo.
LojaOs objetos são endereçados pela identidade do conteúdo.
BloquearUm passe de sincronização de conta é publicado por vez.
CommitO servidor valida e grava o próximo índice.
RecuperarExclusões e conflitos mantêm um caminho de retorno.
A sincronização é confiável porque cada estágio tem uma responsabilidade restrita.

Caminho do conteúdo criptografado

Os dados do usuário são preparados no dispositivo antes de chegarem ao armazenamento. O mecanismo de sincronização normaliza o conjunto de candidatos, calcula a identidade do conteúdo, criptografa cargas, faz upload por meio de credenciais de curta duração e verifica os bytes baixados antes de gravá-los de volta no dispositivo.

Dos dados do usuário ao objeto protegido na nuvem
SelecionarEscolha os dados de autoria do usuário.
HashCalcula a identidade do conteúdo e os metadados de tamanho.
CriptografarProteja a carga útil antes do upload.
Fazer uploadEnviar bytes de objeto com credenciais temporárias.
VerificarVerificar o hash e os metadados esperados no pull.
AplicarGrave apenas conteúdo verificado no dispositivo.
O armazenamento de objetos vê cargas criptografadas; o mecanismo de sincronização verifica a identidade do conteúdo antes de confiar em um pull.

Armazenamento e índice

Orkas separa os bytes armazenados do índice da nuvem. Os objetos de conteúdo contêm os dados criptografados. O índice registra quais itens de dados lógicos devem existir, sua identidade de conteúdo, contadores de versão, tamanho armazenado, revisão de nuvem e estado de exclusão. O dispositivo também mantém uma linha de base da última passagem bem-sucedida para poder diferenciar o estado antigo das novas edições.

Três registros, três trabalhos
Linha de base do dispositivoA memória do dispositivo da última sincronização concluída.
Índice de nuvemA lista de propriedade do servidor de itens, versões e marcas de exclusão atuais.
Objetos de conteúdoBytes criptografados endereçados pela identidade de conteúdo.
Por que dividi-los? Bytes grandes podem residir no armazenamento de objetos, enquanto o índice pequeno continua sendo a única fonte para decisões de sincronização.
O índice informa aos dispositivos o que deveria existir; objetos de conteúdo fornecem os bytes.

Uma passagem de sincronização

Um passe começa barato e só se torna rigoroso quando há trabalho real. Orkas primeiro verifica se algo mudou, depois obtém o bloqueio de sincronização da conta, recalcula as alterações enquanto o bloqueio é mantido, move o conteúdo, pede ao servidor para confirmar operações de índice e, finalmente, atualiza a linha de base do dispositivo.

Ciclo de vida de uma passagem
PreflightVerifique e busque os metadados de índice de nuvem mais recentes.
Bloqueio de sincronizaçãoReserve a faixa de sincronização da conta para este dispositivo.
Verificar novamenteRecalcular as alterações após o bloqueio ser mantido.
TransferirFazer upload, download, mesclar ou preparar exclusões.
CommitO servidor valida a revisão, a cota e o esquema da nuvem.
Linha de baseRegistre o novo estado limpo após o sucesso.
A segunda diferença é importante: a visualização do comprovante pode já estar obsoleta quando o trabalho começar.

Sincronizar bloqueio e confirmação

O bloqueio de sincronização e a verificação de commit resolvem problemas diferentes. O bloqueio de sincronização reduz o desperdício de trabalho simultâneo entre dispositivos. O bloqueio do lado do servidor serializa gravações de índice. A esperada verificação de revisão na nuvem evita que uma leitura mais antiga se torne a próxima verdade. As verificações de cota e esquema são executadas no mesmo caminho de confirmação de propriedade do servidor.

A porta de commit
O dispositivo perguntaA via de sincronização da conta está disponível?
Bloqueio concedidoA passagem obtém uma janela curta de pulsação.
Objetos prontosOs bytes de conteúdo já foram carregados ou buscados.
Bloqueio do servidorA gravação do índice é serializada por conta.
Verificação de versãoRejeite se a revisão da nuvem for alterada.
PublicarEscreva o próximo índice e atualize o uso.
Dispositivos movem bytes; o servidor publica o estado autoritativo.

Regras antes dos conflitos

A maioria das decisões de sincronização não são conflitos. O dispositivo compara a linha de base, os dados atuais do dispositivo e o índice da nuvem. Se apenas a nuvem mudou, puxe. Se apenas o dispositivo mudou, pressione. Se ambos foram alterados, roteie por tipo de conteúdo. Se algo desapareceu, insira o caminho de segurança contra exclusão em vez de remover os dados imediatamente.

Mecanismo de decisão
Linha de baseO que este dispositivo confirmou pela última vez.
Dados do dispositivo agoraO que este dispositivo possui atualmente.
Nuvem agoraO que o índice do servidor declara.
AçãoPuxar, enviar por push, mesclar, marcar para exclusão, confirmar ou restaurar.
A linha de base torna possível uma regra simples: lados inalterados não precisam de fusão.

Tratamento de conflitos

Quando ambos os lados realmente mudaram, Orkas não reduz tudo em vitórias do último escritor. Os logs de estilo anexado podem ser mesclados por registros ausentes. As listas podem ser mescladas por identidade de registro estável. JSON estruturado pode usar contadores de versão e carimbos de data/hora. Markdown e arquivos binários são conservadores: se o sistema não conseguir provar uma mesclagem sem perdas, ele mantém uma cópia completa da versão perdida.

Para conflitos de texto ambíguo ou conteúdo estruturado, o produto pode empacotar as versões relevantes para manipulação assistida por modelo. O modelo pode explicar o conflito, redigir uma versão mesclada ou ajudar o usuário a escolher. Não é a única proteção: validação determinística, originais arquivados e recuperação visível ao usuário continuam fazendo parte do caminho.

Pipeline de resolução de conflitos
ClassificarDetectar o formato do arquivo e os metadados da versão disponível.
Mesclagem de regrasUse mesclagem determinística quando for seguro.
Assistência de modeloExplicar ou rascunhar conflitos de texto ambíguos.
ArquivarMantenha os originais quando a segurança for incerta.
ValidarVerifique o esquema, a identidade e a forma esperada.
PublicarConfirmar apenas o resultado aceito.
A assistência do modelo melhora a qualidade da resolução, enquanto as verificações determinísticas a mantêm limitada.

Confirmação de exclusão

As exclusões são tratadas como transições de estado. Uma exclusão remota se torna uma lápide. Uma exclusão no lado do dispositivo torna-se uma operação candidata. Orkas verifica gravações recentes, observa grandes ondas de exclusão e pausa a passagem para confirmação quando a quantidade de dados do usuário que desaparecem parece arriscada.

Excluir caminho de confirmação
Excluir vistoUm item de dados está ausente ou marcado para exclusão.
Escrita recenteVerifique se foi recriada ou editada.
Verificação de ondaDetecta lotes de exclusão excepcionalmente grandes.
AvisarPeça confirmação quando o risco for alto.
ConfirmarConfirmar marcas de exclusão após aprovação.
CancelarRecuperar cópias da nuvem quando a exclusão for acidental.
A exclusão arriscada é interrompível; o usuário pode escolher antes de se tornar um estado de nuvem durável.

Lixeira e recuperação

Antes que uma exclusão válida remova uma cópia do dispositivo, Orkas a move para a lixeira de sincronização. Os perdedores do conflito são arquivados para revisão. Os uploads pendentes sobrevivem a uma falha na confirmação para que a próxima passagem possa reutilizar bytes. Se um usuário limpar deliberadamente os dados da nuvem, outros dispositivos verão um marcador de limpeza e pararão de reenviar conteúdo desatualizado.

Superfícies de recuperação
LixeiraAs cópias excluídas do dispositivo permanecem recuperáveis.
Arquivo de conflitosAs versões perdidas são mantidas quando a mesclagem é incerta.
Uploads pendentesUploads de objetos bem-sucedidos podem ser reutilizados após falha no commit.
Marcador de limpezaContas limpas na nuvem não reidratam dados antigos silenciosamente.
A recuperação de sincronização não é um recurso; são várias pequenas escotilhas de fuga colocadas em pontos de falha.

O que isso nos traz

O resultado é um sistema de sincronização com limites claros. Os dispositivos preparam e verificam o conteúdo. O armazenamento de objetos contém bytes criptografados. O servidor publica o índice. O bloqueio de sincronização da conta e o bloqueio do servidor mantêm os passes ordenados. As regras tratam dos casos comuns. A assistência do modelo ajuda em conflitos ambíguos. A confirmação de exclusão e a lixeira protegem os usuários dos erros mais caros.

Esse é o padrão que o Orkas precisa para sincronização na nuvem: não é mágica, não é um espelho cego, mas um mecanismo cuidadoso que permite que os dados do usuário se movam entre dispositivos e ainda pareçam consistentes.