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
- No fim da tarde, muitos moradores do bairro usam o aplicativo da biblioteca comunitária para reservar livros, renovar…
- Compare replicação e erasure coding como estratégias de armazenamento distribuído: aponte vantagens e desvantagens de…
- Que esquema de criptografia usa um par de chaves (pública e privada) para cifrar e decifrar dados, possibilitando…
- Ao decompor um algoritmo que agrega dados de múltiplos nós em uma rede, qual subtarefa define como tratar dados…
- Qual é o objetivo principal de um algoritmo de consenso em uma rede distribuída de nós?
- Em sistemas que executam várias threads, o que se entende por concorrência ao acessar a mesma variável?
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
