GeraProva GeraProva Provas com IA para professores do Brasil
Computação6º anoBNCC EF69CO09Difícil⏱ longo

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

Habilidade BNCC EF69CO09

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

Dificuldade Difícil
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

sistemas distribuídos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

sistemas distribuídos · replicação de dados

📚 Reveja

Revisar conceitos de replicação e sincronização em sistemas distribuídos.

⚠️ Erro mais comum

O aluno pode falhar ao não considerar a necessidade de sincronização entre dispositivos, resultando em conflitos de dados não resolvidos.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.