Questões de Concurso
Comentadas sobre sistemas distribuídos em arquitetura de software
Foram encontradas 200 questões
Quando um médico ‘clica’ para emitir uma receita, a requisição passa por um API Gateway, dispara o Microsserviço de Autenticação, consome o Microsserviço de Pacientes, consulta o Banco de Dados Relacional e aciona uma função Serverless externa de validação de CRM. O tempo de resposta final na tela do usuário saltou de 1 para 12 segundos, mas os logs isolados de cada servidor indicam que todas as máquinas individuais estão operando com uso de CPU abaixo de 30%.
Para diagnosticar em qual etapa exata do ciclo de chamadas distribuídas a latência está ocorrendo e identificar o gargalo de rede ou processamento, o analista deve implementar o seguinte mecanismo:
O sistema exige o tráfego assíncrono massivo e contínuo de dados lógicos com baixíssima latência e em milissegundos. Os arquitetos rejeitaram o uso de uma arquitetura de Integração de Aplicações Corporativas baseada em Barramento de Serviços Corporativos (ESB) tradicional pesada com transformações XML complexas e decidiram implantar um broker de mensageria moderno altamente escalável baseado em logs imutáveis distribuídos em disco.
A principal justificativa técnica que ampara a escolha de um broker – baseado em logs distribuídos em detrimento de uma arquitetura baseada em ESB tradicional pesada para fluxos de dados de radar massivos em tempo real –, consiste no fato de o primeiro
Considerando o cenário descrito, é correto afirmar que a solução adequada é
</> JSON {"time":"10:01:02","service":"gateway","level":"INFO","message" :"Requisição recebida","request_id":"abc123"} {"time":"10:01:02","service":"A","level":"INFO","message":"Pedid o recebido","request_id":"abc123"} {"time":"10:01:03","service":"B","level":"INFO","message":"Proce ssando pagamento","request_id":"abc123"} {"time":"10:01:03","service":"C","level":"ERROR","message":"Err o no estoque","request_id":"abc123"} {"time":"10:01:04","service":"B","level":"WARN","message":"Retr y pagamento","request_id":"abc123"} {"time":"10:01:05","service":"D","level":"INFO","message":"Notifi cação enviada","request_id":"abc123"} {"time":"10:01:06","service":"gateway","level":"ERROR","messag e":"Falha na requisição","request_id":"abc123"}
Durante a análise de um incidente, a equipe conseguiu reconstruir o fluxo completo da requisição entre os diferentes serviços envolvidos, identificando o ponto exato de falha e as tentativas de recuperação.
Nesse cenário, assinale a opção que identifica corretamente a prática de estruturação de logs que foi determinante para viabilizar essa análise.
http_requests_total{job="api", instance="10.0.0.5:8080", method="GET", code="500"}
A equipe deseja calcular, no Prometheus, a taxa média por segundo de crescimento dessa métrica ao longo dos últimos 5 minutos, suavizada ao longo da janela de tempo completa, para alimentar um painel de erro no Grafana.
Assinale a opção que apresenta a expressão em PromQL conceitualmente mais adequada para esse objetivo.
Nessa nova abordagem, os desenvolvedores passaram apenas a submeter código, que é executado automaticamente em resposta a eventos, como requisições de usuários ou alterações em banco de dados. Além disso, o custo do serviço passou a variar conforme a utilização.
Com base no cenário apresentado, assinale a opção que indica o modelo de serviço em nuvem utilizado pela sociedade empresária.
As tecnologias que se associam as aplicações mencionadas são, respectivamente,
Nesse contexto, ferramentas surgiram para administrar clusters de nós computacionais e garantir alta disponibilidade e eficiência operacional.
Diante do exposto, analise as afirmativas a seguir.
I. O Kubernetes é uma plataforma de orquestração de contêineres que permite automatizar a implantação, o escalonamento e a gestão de aplicações em clusters de nós computacionais.
II. O Rancher é uma ferramenta nativa do Kubernetes utilizada para o gerenciamento de clusters.
III. Em um cluster Kubernetes, os nós de trabalho executam os pods, enquanto o plano de controle é responsável pelo gerenciamento do estado do cluster.
Está correto o que se afirma em
A avaliação de desempenho em sistemas back-end distribuídos exige a identificação precisa de gargalos que limitam escalabilidade e tempo de resposta. Em ambientes de alta concorrência, problemas de desempenho podem estar relacionados a CPU, memória, acesso a banco de dados, comunicação em rede ou sincronização entre componentes, sendo fundamental analisar o comportamento do sistema de forma sistêmica e baseada em evidências.
Considere uma aplicação back-end que passou por escalabilidade horizontal, com aumento do número de instâncias, mas continua apresentando alto tempo de resposta sob carga intensa. Monitoramentos indicam que o consumo de CPU e memória das instâncias estão baixos, enquanto o tempo médio de resposta das requisições permanece elevado.
Nesse contexto, assinale a alternativa que descreve corretamente a hipótese técnica mais plausível para explicar o problema observado e orientar a investigação do gargalo.
Em sistemas distribuídos e baseados em microsserviços, falhas parciais são esperadas e inevitáveis. Dependências externas podem tornar-se lentas ou indisponíveis, propagando falhas em cascata e degradando a experiência do usuário.
Para mitigar esse risco, padrões de resiliência são adotados com o objetivo de isolar falhas, proteger recursos e permitir recuperação controlada do sistema.
Considere uma API back-end que depende de um serviço externo de pagamento. Em situações de instabilidade desse serviço, a API começa a apresentar lentidão generalizada e falhas sucessivas, afetando usuários que não dependem diretamente da funcionalidade de pagamento.
Nesse contexto, assinale a alternativa que descreve corretamente a aplicação do padrão Circuit Breaker para aumentar a resiliência do sistema.
Considere uma API back-end que utiliza um banco de dados relacional como fonte primária de dados e um cache em memória (Redis) para acelerar consultas frequentes. Os dados podem ser atualizados por múltiplas operações concorrentes, e a aplicação deve equilibrar desempenho e consistência.
Nesse contexto, assinale a alternativa que descreve corretamente uma estratégia adequada de uso de cache para reduzir inconsistências sem comprometer significativamente o desempenho da aplicação.
Considere uma API corporativa que apresenta picos imprevisíveis de acesso e precisa manter alta disponibilidade mesmo em caso de falha de servidores individuais, além de permitir crescimento gradual da capacidade conforme a demanda.
Nesse contexto, assinale a alternativa que descreve corretamente a estratégia de escalabilidade mais adequada para atender a esses requisitos e a justificativa técnica associada.
À 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.