Alternativas "Independência em relação a outros componentes" e "Comunicação HTTP(S)"
Análise da Questão
Esta questão aborda os fundamentos da arquitetura de microserviços, um padrão de design de software onde uma aplicação é construída como uma coleção de serviços pequenos e independentes.
Por que essas são as respostas corretas?
- Independência em relação a outros componentes:
- Este é o princípio central dos microserviços. Cada serviço roda em seu próprio processo e pode ser desenvolvido, testado, implantado e escalado independentemente dos outros.
- Isso reduz o risco de falhas: se um componente falha, os outros continuam funcionando. Também permite que diferentes equipes trabalhem em partes diferentes do sistema sem conflitos constantes de código.
- Comunicação HTTP(S):
- Microserviços geralmente se comunicam através de interfaces leves e bem definidas. O protocolo HTTP(S) (usando formatos como JSON ou XML, frequentemente via REST) é o padrão da indústria para essa comunicação.
- Essa escolha permite que serviços escritos em linguagens de programação diferentes (ex: Java, Python, Node.js) interajam facilmente, pois HTTP é universalmente suportado.
Por que as outras opções não se aplicam?
- Interfaces padrão do setor: Embora REST seja comum, microserviços não exigem interfaces "padrão do setor" rigidamente; eles valorizam a flexibilidade de escolher a melhor ferramenta para cada serviço.
- Código-fonte aberto: A arquitetura de microserviços não depende do software ser open source. Empresas privadas utilizam microserviços constantemente com código proprietário.
- Resolução de um problema comercial específico: Qualquer arquitetura (monolito, microsserviços, serverless) pode resolver um problema comercial específico. Isso não é um diferencial exclusivo da arquitetura de microserviços.
Conclusão
Um arquiteto recomenda microserviços principalmente pela capacidade de independência no ciclo de vida dos componentes e pela facilidade de comunicação via protocolos web universais como HTTP(S).