Em uma startup bancária que utiliza uma arquitetura de microsserviços para a integração entre diferentes sistemas, deseja-se melhorar o gerenciamento e o monitoramento das APIs, bem como otimizar a comunicação entre os microsserviços. Para isso, está sendo considerada a implementação de um API Manager e do Apache Kafka. Nesse contexto, essas tecnologias podem ser utilizadas do seguinte modo:
- A)API Manager: criar tópicos no Apache Kafka; Apache Kafka: gerenciar a comunicação entre microsserviços e sistemas externos.
Errada, porque o API Manager não serve para criar tópicos no Kafka, e o Kafka não é o componente adequado para gerenciar integração com sistemas externos como um gerenciador de APIs.
- B)API Manager: autenticar usuários diretamente nas APIs; Apache Kafka: armazenar logs de atividades da aplicação para análise futura.
Errada, porque autenticação direta em API é função típica de um API Manager ou gateway, mas armazenar logs para análise futura não é a finalidade principal do Apache Kafka nesse contexto.
- C)API Manager: centralizar toda a comunicação entre os microsserviços e o tráfego de dados; Apache Kafka: gerir e controlar as APIs.
Errada, porque inverte os papéis: o API Manager não centraliza toda a comunicação entre microsserviços, e o Kafka não gerencia nem controla APIs.
- D)API Manager: gerenciar a comunicação entre sistemas externos; Apache Kafka: gerenciar e rotear APIs.
Errada, porque o API Manager não é apenas um gerenciador de comunicação com sistemas externos, e o Kafka não faz gerenciamento ou roteamento de APIs.
- E)API Manager: gerenciar o ciclo de vida das APIs, aplicar políticas de segurança e monitorar o tráfego de dados; Apache Kafka: garantir a comunicação assíncrona e em tempo real entre os microsserviços.
Certa, porque o API Manager gerencia o ciclo de vida, a segurança e o monitoramento das APIs, enquanto o Apache Kafka viabiliza comunicação assíncrona e em tempo real entre microsserviços.
Gabarito: E
Quando você pensa em arquitetura de microsserviços, é comum separar dois mundos: o de gestão das APIs e o de troca de mensagens entre serviços. O API Manager entra no primeiro grupo. Ele ajuda a centralizar o ciclo de vida das APIs, controlar autenticação, aplicar políticas de segurança, fazer rate limiting, versionamento e acompanhar métricas de uso. Em resumo, ele é o porteiro e o painel de controle das APIs. Já o Apache Kafka não é ferramenta para “administrar API”. Ele funciona como uma plataforma de streaming e mensageria distribuída, muito usada para comunicação assíncrona entre microsserviços, com alta escalabilidade e baixo acoplamento. Em vez de um serviço chamar o outro diretamente e ficar esperando resposta, ele publica eventos no Kafka e outro serviço consome depois. Isso deixa a arquitetura mais leve e resiliente. Por isso, a alternativa E está correta: o API Manager fica com a governança das APIs, enquanto o Kafka cuida da comunicação assíncrona e em tempo real entre os microsserviços. Essa separação é bem alinhada com a prática de mercado e com a doutrina de arquitetura de microsserviços, que valoriza desacoplamento, observabilidade e controle centralizado onde faz sentido. As outras opções misturam papéis: algumas tratam Kafka como se fosse gerenciador de API, outras colocam o API Manager como se fosse uma fila de mensagens. Em prova, essa troca de funções é uma armadilha clássica.