

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Diferentemente das arquiteturas tradicionais de N camadas, a arquitetura de microsserviços se baseia na descentralização da gestão de dados, em que cada serviço deve, idealmente, possuir sua própria base de dados, de forma a garantir a independência de implantação e o baixo acoplamento.
Certo
Errado
A arquitetura de microsserviços contrasta com a arquitetura monolítica em aspectos como acoplamento entre componentes, independência dos serviços e forma de interação entre eles. Nesse sentido, assinale a alternativa correta.
Em uma arquitetura monolítica, a aplicação é decomposta em serviços independentes de plataforma, fracamente acoplados, que interagem por interfaces para compor o sistema.
Na arquitetura orientada a serviços, os componentes devem ser fortemente acoplados entre si e compartilhar estado e dependências comuns, para garantir a consistência das operações distribuídas sem necessidade de coordenação explícita.
Na arquitetura de microsserviços, os serviços devem basear-se em componentes externos compartilhados, para garantir seu comportamento funcional e não funcional consistente em qualquer ambiente de execução.
Na arquitetura de microsserviços, a aplicação é composta por serviços independentes de plataforma e linguagem de implementação, fracamente acoplados, que interagem entre si para compor o sistema.
Na arquitetura de microsserviços, cada serviço executa de forma completamente isolada, sem necessitar de comunicação com os demais serviços do sistema para realizar suas operações.
A arquitetura de microsserviços fundamenta-se na decomposição de uma aplicação em serviços independentes, cada um responsável por uma capacidade específica de negócio, o que permite que esses serviços sejam desenvolvidos, implantados e escalados de forma autônoma.
Certo
Errado
Com a crescente demanda por sistemas escaláveis e de rápida evolução, a arquitetura de microsserviços tem sido amplamente adotada em ambientes corporativos modernos.
Nesse contexto, assinale a alternativa que descreve corretamente uma característica essencial da arquitetura de microsserviços.
Cada microsserviço é desenvolvido e implantado de forma independente, comunicando-se com outros serviços por meio de interfaces bem definidas.
Todos os microsserviços devem compartilhar o mesmo banco de dados para garantir consistência transacional entre operações.
A arquitetura de microsserviços elimina completamente a necessidade de mecanismos de comunicação entre serviços.
Em microsserviços, a aplicação deve ser empacotada e implantada como uma única unidade executável.
Uma equipe de desenvolvimento de sistemas de um órgão público pretende modernizar seu ambiente sistêmico, atualmente baseado em uma estrutura cliente-servidor saturada. A nova solução deve permitir o desacoplamento de funcionalidades críticas, facilitar a integração com órgãos externos via protocolos padronizados e garantir que falhas em módulos especificos não paralisem o trâmite processual completo, por meio de uma estratégia técnica que atenda aos requisitos de escalabilidade e integração institucional, que é:
Evolução para uma arquitetura de microsserviços com bancos de dados independentes, utilizando princípios de SOA para a interoperabilidade com sistemas externos e mantendo camadas lógicas para a organização dos serviços internos.
Manutenção da arquitetura cliente-servidor para os sistemas legados e adoção de multicamadas para os novos módulos, centralizando a orquestração de processos no servidor de aplicação para minimizar a latência de rede entre as unidades.
Transição para arquitetura multicamadas com foco na separação lógica entre apresentação e persistência, utilizando o modelo SOA para gerenciar a comunicação síncrona entre os módulos internos via barramento de serviços centralizado.
Implementação de uma arquitetura orientada a serviços para substituir o modelo cliente-servidor, mantendo a lógica de negócio concentrada em um único repositório de dados para evitar a fragmentação da integridade referencial.
Migração da estrutura cliente-servidor para um modelo de microsserviços onde cada componente compartilha a camada de persistência, garantindo a performance nas consultas complexas e a simplicidade na manutenção do código.
Em sistemas distribuídos, especialmente em arquiteturas de microsserviços, é comum a implementação de mecanismos de repetição automática (retry) para lidar com falhas transitórias de rede ou indisponibilidade temporária de serviços. Nessas condições, o conceito de idempotência em APIs é essencial para garantir a consistência dos dados. Com base nos fundamentos da arquitetura REST e nas propriedades dos métodos HTTP amplamente estabelecidas na literatura e em boas práticas na construção e integração de APIs, assinale a alternativa correta:
A idempotência de um método HTTP exige que o servidor mantenha um registro persistente de todas as requisições já processadas, independentemente do método utilizado, para que requisições repetidas sejam ignoradas.
Um método HTTP é considerado idempotente quando múltiplas requisições idênticas produzem exatamente a mesma resposta HTTP (código de status e corpo), independentemente do estado final do recurso.
O método HTTP PUT é considerado idempotente, pois múltiplas requisições idênticas resultam no mesmo estado final do recurso no servidor, independentemente do número de vezes que sejam executadas.
O método HTTP DELETE não é idempotente, pois uma segunda requisição DELETE para o mesmo recurso já removido pode retornar um código de status diferente (ex.: 404 em vez de 200 ou 204), alterando a resposta visível ao cliente.
O método HTTP POST nunca pode ser implementado de forma idempotente, pois sua semântica padrão exige a criação de um novo recurso a cada requisição.
Em uma arquitetura de microsserviços com integração via APIs REST, o serviço A realiza chamadas síncronas ao serviço B. Quando o serviço B apresenta instabilidade, alta latência ou indisponibilidade, o serviço A acumula requisições pendentes, o que aumenta o tempo de resposta e pode provocar falhas em cascata em toda a aplicação. Para prevenir esse problema, a equipe decide implementar o padrão Circuit Breaker. Assinale a alternativa que descreve corretamente o funcionamento desse padrão:
O Circuit Breaker exige intervenção manual do operador para restabelecer a comunicação entre os serviços após o disparo.
O Circuit Breaker aumenta automaticamente o número de requisições enviadas ao serviço B para compensar as falhas temporárias detectadas.
O Circuit Breaker, por padrão, interrompe permanentemente todas as chamadas ao serviço B após a primeira falha detectada.
O Circuit Breaker monitora as falhas nas chamadas ao serviço B e, ao atingir um limiar configurado de falhas, interrompe temporariamente as requisições, podendo retornar uma resposta alternativa (fallback) até que o serviço se recupere.
O Circuit Breaker só pode ser aplicado em integrações que utilizam protocolos baseados em SOAP/XML.
No design pattern conhecido como Circuit Breaker, o estado que permite que as chamadas aos serviços ocorram normalmente é o
Half Open.
Open.
Closed.
Correct.
Ready.
Em arquitetura de microsserviços, o API Gateway é utilizado prioritariamente para a comunicação interna entre os próprios serviços, cabendo aos clientes acessar cada microsserviço de forma direta para evitar a formação de um ponto único de entrada.
Certo
Errado
A equipe de uma Secretaria da Fazenda, que tinha um sistema monolítico o qual evoluiu para uma arquitetura SOA, enfrenta dificuldades para escalar e manter a agilidade no desenvolvimento de novas funcionalidades. Por tal razão, os arquitetos de sistemas estão considerando realizar a migração para uma arquitetura de microsserviços. Um dos integrantes da equipe questionou aos demais sobre qual seria o principal benefício da transição de SOA para microsserviços, cuja resposta unânime foi:
redução da granularidade dos serviços para diminuir a complexidade do sistema.
descentralização dos serviços em componentes independentes para permitir escalabilidade e implantações independentes.
aumento do acoplamento entre os serviços para garantir a consistência dos dados.
centralização do barramento de serviços (ESB) para facilitar a comunicação entre os serviços.
padronização rígida das tecnologias utilizadas em todos os serviços para simplificar a manutenção.
Assinale a alternativa correta em relação a webservices, microsserviços e JSON.
Em uma arquitetura de microsserviços, todos os serviços devem compartilhar o mesmo banco de dados para garantir consistência.
O formato JSON é utilizado apenas em microsserviços que utilizam a arquitetura SOAP para comunicação.
Webservices são obrigatoriamente implementados com XML e não funcionam com JSON.
Microsserviços geralmente utilizam o formato JSON para enviar e receber dados, pois ele é mais eficiente e amplamente suportado por APIs REST.
Em uma arquitetura de microsserviços, todos os serviços devem ser escritos na mesma linguagem de programação.
Entre outras vantagens, a arquitetura de microsserviços facilita a escalabilidade e manutenção de componentes individuais da aplicação, sem afetar o restante do sistema.
Certo
Errado
Em uma arquitetura de microsserviços, o sistema de software é desenvolvido como um conjunto de
pequenos serviços dependentes que fazem uma determinada funcionalidade.
serviços que compartilham o mesmo banco de dados por questões de segurança.
serviços independentes e coesos que podem ter fluxos de liberação de releases diferentes.
serviços que devem ter no máximo 1 KLOC de código fonte.
serviços que usam a mesma linguagem de programação e são responsáveis por múltiplas funcionalidades para redundância.
Considerando os conceitos e melhores práticas no design de microsserviços, assinale a alternativa correta.
A comunicação entre microsserviços deve ser feita de forma síncrona para garantir a independência dos serviços.
A resiliência dos microsserviços é garantida apenas pelo uso de APIs REST, independentemente de como falhas são tratadas.
Cada microsserviço pode ser escalado de maneira independente, permitindo maior flexibilidade e eficiência no uso dos recursos.
Microsserviços devem compartilhar um banco de dados centralizado para garantir a consistência e evitar a duplicação de dados entre os serviços.
A arquitetura de software de microsserviço permite que um sistema seja dividido em vários serviços menores, individuais e independentes, que são executados como processos autônomos e se comunicam entre si por meio de APIs. Cada microsserviço pode ser implementado em uma linguagem de programação diferente em uma plataforma diferente. Entre os tipos de microsserviços, um combina vagamente os serviços com a funcionalidade relacionada, enquanto que outro facilita a interação entre aplicativos não relacionados.
Esses tipos de microsserviços são denominados, respectivamente, de:
Tecnologia e integração.
Tecnologia e homologação.
Domínio e homologação.
Domínio e integração.
Uma das consequências da adoção da arquitetura de microsserviços é a necessidade de coordenação das atividades desempenhadas por eles. Sobre a orquestração de serviços, é correto afirmar:
Quando a arquitetura dos serviços desenvolvidos utiliza uma infraestrutura baseada em máquinas virtuais, a orquestração torna-se desnecessário, pois o gerenciamento dos recursos é feito automaticamente pelo servidor onde a máquina virtual está hospedada.
A orquestração de serviços é sinônima de automatização de serviços, onde possui a responsabilidade de implantar e escalar os recursos de infraestrutura de TI, sem a preocupação com os fluxo de trabalho envolvidos na interação entre os serviços.
A utilização de orquestração de serviços traz algumas desvantagens, como a necessidade de correções manuais em serviços que apresentaram falha durante a execução, além de não prover mecanismos possibilitando a escalabilidade dos serviços.
A orquestração de serviços possibilita uma maior precisão e produtividade das equipes, pois os processos e fluxos de trabalho são automatizados diminuindo a ocorrência de erros. Um exemplo de orquestrador é a tecnologia Kubernetes.
A arquitetura baseada em microsserviços tem sido muito utilizada em detrimento da arquitetura monolítica.
Assinale a alternativa que apresenta CORRETAMENTE o principal benefício do uso de microsserviços em comparação a uma arquitetura monolítica:
Facilidade de depuração.
Melhor integração com APIs externas.
Melhor desempenho em consultas SQL.
Escalabilidade independente dos serviços.
A arquitetura de microsserviços organiza o sistema como um conjunto de serviços independentes, com responsabilidades bem definidas.
Certo
Errado
Assinale a alternativa que indica um dos principais desafios que precisa ser tratado em uma arquitetura de microsserviços.
Redução do acoplamento entre camadas internas de um único sistema monolítico.
Eliminação da integração contínua, pois cada serviço é independente.
Aumento da complexidade de gerenciamento e monitoramento.
Diminuição da latência de comunicação, pois as chamadas de serviços ocorrem sempre localmente.
Eliminação do versionamento de APIs.
Em um sistema distribuído utilizando microsserviços, qual padrão de projeto é mais adequado para lidar com falhas temporárias de comunicação entre serviços?
Circuit Breaker
Singleton
Observer
Factory Method
Proxy