Projete a arquitetura de um sistema distribuído para um aplicativo de anotações que permite edição offline em…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Compreender os conceitos de paralelismo, concorrência e armazenamento/ processamento distribuídos.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete a arquitetura de um sistema distribuído para um aplicativo de anotações que permite edição offline em vários dispositivos: descreva como aplicar replicação, resolução de conflitos e onde processar dados (nós locais versus servidores), indicando algoritmos ou estruturas de dados que garantam sincronização e disponibilidade.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Arquitetura: clientes mantêm banco local e interface; servidor é cluster replicado que armazena cópias e fornece API. Replicação/particionamento: armazenamento replicado nos servidores com hashing consistente; cada cliente faz sincronização em segundo plano. Resolução de conflitos: usar CRDTs (ex.: RGA para sequências, LWW-register ou mapas convergentes) ou OT para permitir merges sem intervenção humana; vetor de versão ou causal clocks para detecção de concorrência. Processamento: operações locais aplicadas imediatamente (baixa latência) e enviadas ao servidor; servidores aplicam merges e propagam atualizações a outros nós e clientes conectados. Disponibilidade/consistência: optar por consistência eventual para suportar offline; usar líder temporário para tarefas de coordenação quando estrita ordem for necessária. Outros cuidados: compressão de diffs, retries idempotentes, TLS para segurança, mecanismos de compactação de histórico e garbage collection de versões antigas.
Explicação
A resposta aborda os principais desafios de um sistema distribuído, como replicação, resolução de conflitos e processamento de dados, apresentando soluções práticas e adequadas para cada um. A utilização de algoritmos como CRDTs e técnicas de sincronização garante que as edições offline sejam gerenciadas de forma eficiente, minimizando conflitos. Além disso, a consideração de aspectos como disponibilidade e segurança demonstra uma compreensão abrangente dos requisitos para um aplicativo de anotações robusto.
Raio-X da questão
sistemas distribuídos
avaliacao
sistemas distribuídos · replicação de dados
Revisar conceitos de replicação e sincronização em sistemas distribuídos.
O aluno pode falhar ao não considerar a necessidade de sincronização entre dispositivos, resultando em conflitos de dados não resolvidos.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Sua escola fará um projeto de campo para registrar observações de aves. Proponha uma solução computacional que combine…
- Um aplicativo de notas permite escrever sem internet e sincroniza o conteúdo automaticamente quando o celular volta a se…
- Descreva um procedimento para armazenar registros sensíveis em um dispositivo móvel com conectividade intermitente…
- Considere um projeto escolar com fotos, textos e código editados por uma equipe que trabalha remotamente. Analise…
- Proponha uma política e um algoritmo em etapas para armazenar e recuperar documentos escolares sensíveis (trabalhos e…
- Na final de um campeonato de robôs, uma equipe montou um sistema para publicar “melhores momentos” quase em tempo real…
Todas as questões de Sistemas distribuídos e internet - Fundamentos de sistemas distribuídos
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
