Questões de Concurso
Sobre sistemas distribuídos em arquitetura de software
Foram encontradas 223 questões
À medida que sistemas back-end evoluem para arquiteturas distribuídas e baseadas em microsserviços, torna-se inviável compreender o comportamento do sistema apenas por meio de testes locais ou depuração tradicional. Nesse contexto, práticas de observabilidade permitemanalisar o estado interno do sistema a partir de seus artefatos externos, possibilitando identificação de falhas, gargalos de desempenho e comportamentos anômalos em ambientes de produção.
Considere uma aplicação composta por diversos microsserviços que se comunicam entre si para atender requisições de usuários. Em produção, a equipe precisa identificar rapidamente a causa raiz de falhas intermitentes e degradações de desempenho que ocorrem apenas sob carga real, sem interromper o serviço.
Nesse cenário, assinale a alternativa que descreve corretamente a combinação de práticas de observabilidade mais adequada para atender a esse objetivo em sistemas distribuídos.
Sistemas distribuídos modernos frequentemente combinam diferentes modelos de comunicação para atender requisitos de desempenho, escalabilidade e resiliência. A comunicação síncrona, como chamadas diretas via HTTP, oferece simplicidade e resposta imediata, enquanto a comunicação assíncrona, baseada em eventos ou mensageria, reduz acoplamento temporal e aumenta tolerância a falhas, sendo especialmente relevante em arquiteturas de microsserviços.
Considere uma arquitetura de microsserviços em que um serviço de Processamento de Pedidos precisa acionar, de forma confiável, serviços de Faturamento e Notificação. O sistema deve continuar aceitando pedidos mesmo quando um desses serviços estiver temporariamente indisponível, sem bloquear o fluxo principal da aplicação.
Nesse contexto, assinale a alternativa que descreve corretamente a estratégia arquitetural mais adequada para atender a esses requisitos, considerando comunicação entre serviços.
Em arquiteturas baseadas em microsserviços, a execução de aplicações em contêineres exige mecanismos robustos para gerenciamento de implantação, escalabilidade, tolerância a falhas e atualização contínua. O Kubernetes consolidou-se como uma plataforma de orquestração que abstrai a infraestrutura subjacente e automatiza tarefas operacionais, permitindo que aplicações back-end escalem de forma controlada e resiliente.
Considere uma aplicação back-end executada em contêineres Docker, implantada em um cluster Kubernetes. A aplicação apresenta variação significativa de carga ao longo do dia e precisa manter disponibilidade mesmo diante de falhas em nós do cluster, sem intervenção manual da equipe de operações.
Nesse contexto, assinale a alternativa que descreve corretamente um recurso do Kubernetes que atende simultaneamente aos requisitos de escalabilidade e alta disponibilidade da aplicação.
Considere um sistema de marketplace implementado em microsserviços, com os seguintes serviços: Pedido, Pagamento e Estoque, cada um com seu próprio banco de dados. Ao confirmar uma compra, o fluxo exige: (1) criar o pedido, (2) reservar o estoque e (3) confirmar o pagamento. Em caso de falha em qualquer etapa, o sistema deve retornar a um estado consistente, sem depender de uma transação distribuída única com bloqueio entre bancos.
Assinale a alternativa que descreve corretamente a estratégia arquitetural mais adequada, nesse cenário, para garantir consistência de dados sem uso de transações distribuídas ACID, reduzindo risco de bloqueios e aumentando resiliência.
Uma organização implementou um sistema distribuído no qual a execução de uma operação de negócio complexa depende da coordenação centralizada de múltiplos microsserviços, com um componente dedicado responsável por invocar cada serviço na sequência correta, tratar falhas parciais e garantir a consistência do fluxo transacional. Nesse modelo de coordenação, o padrão adotado é:
I. A transição do monólito para microsserviços reduz a complexidade operacional da infraestrutura, uma vez que os serviços passam a compartilhar um único banco de dados centralizado, reduzindo a necessidade de coordenação distribuída.
II. O padrão Strangler Fig (Padrão Estrangulador) representa uma estratégia recomendada para migração gradual, na qual funcionalidades do sistema legado são substituídas incrementalmente por novos serviços até a possível desativação do sistema original.
III. Em arquiteturas de microsserviços, ganhos relacionados à escalabilidade e autonomia de desenvolvimento podem ser acompanhados por desafios associados à consistência eventual de dados, observabilidade e monitoramento de transações distribuídas.
Está correto o que se afirma apenas em
Analise as afirmações, considerando-as verdadeiras (V) ou falsas (F).
(_) Para que os dados de um banco de dados persistam após a remoção do container, é necessário configurar um volume, pois, por padrão, o sistema de arquivos de um container é efêmero e todos os dados são perdidos ao destruí-lo.
(_) No Docker Compose, containers declarados no mesmo arquivo são automaticamente colocados em uma rede compartilhada, permitindo que se comuniquem usando o nome do serviço como hostname, sem necessidade de configuração adicional de rede.
(_) O Docker Compose garante, por padrão, que um container de aplicação só inicie após o banco de dados estar completamente pronto para aceitar conexões, bastando usar a diretiva depends_on.
A sequência CORRETA, de cima para baixo, é
• aplicação primária on-premise;
• réplica em nuvem atualizada continuamente;
• mecanismo de failover por DNS, com troca automática de endpoint; e
• pequeno atraso na propagação do DNS.
Considerando esse cenário, é correto afirmar que essa arquitetura
No contexto de desenvolvimento de software em nuvem e uso de containers, considere os itens a seguir.
I. Recurso que pode ser compartilhado pelos containers com o sistema operacional do hospedeiro, mas não pelas máquinas virtuais.
II. Orquestrador de containers.
III. Novo modelo de desenvolvimento em que as aplicações são feitas para a nuvem, e não adaptadas a ela.
Assinale a opção que apresenta, respectivamente, os recursos ou conceitos listados.
I. Uma nuvem tipo híbrida é uma combinação de dois ou mais modelos de implantação de nuvem.
II. Uma nuvem tipo pública é aquela que provê os serviços do setor público do Estado, de forma gratuita aos cidadãos.
III. Um provedor de serviço em nuvem do tipo privada não oferece o modelo SaaS.
Está correto o que se afirma em
( ) A resiliência na computação em nuvem pode abranger a disponibilidade de recursos em uma única nuvem ou entre múltiplas nuvens.
( ) A arquitetura de computação em nuvem não contempla virtualização, pois os recursos são fisicamente dedicados a cada usuário.
( ) A elasticidade é uma característica da computação em nuvem que permite o redimensionamento dos recursos de TI na nuvem conforme a demanda.
As afirmativas são, respectivamente,
Ao utilizar um modelo de comunicação assíncrona para o processamento de petições e atos processuais, o sistema busca mitigar o risco de falhas em cascata e lidar com picos de demanda.
Uma característica fundamental e intrínseca a esse modelo de interação é o