No contexto da arquitetura de software, a escolha de um determinado padrão arquitetural é crítica para o sucesso de um projeto, influenciando aspectos como escalabilidade, manutenibilidade e resiliência. Considere um sistema de e-commerce que precisa lidar com um volume variável de requisições, picos de acesso sazonais e a necessidade de fácil adição de novas funcionalidades, como métodos de pagamento ou integração com diferentes serviços de entrega. A equipe de arquitetura decide que cada funcionalidade principal do sistema (catálogo de produtos, carrinho de compras, processamento de pedidos, etc.) será desenvolvida e implantada de forma independente, comunicando-se por meio de APIs leves. As bases de dados também são independentes para cada componente.
- A)A arquitetura de microserviços seria a mais apropriada para o cenário descrito, devido à sua capacidade de lidar com picos de acesso, permitir o desenvolvimento independente de funcionalidades e utilizar tecnologias heterogêneas.gabarito
- B)A descrição do sistema aponta para uma arquitetura monolítica distribuída, onde os componentes se comunicam, mas compartilham uma base de código e banco de dados centralizados, o que não corrobora o requisito de bases de dados independentes.
- C)O padrão arquitetural em camadas, com uma camada de apresentação, uma de negócios e uma de dados, seria mais adequado para o cenário, pois oferece uma clara separação de responsabilidades e facilita a manutenção, embora dificulte a escalabilidade independente de componentes.
- D)A arquitetura orientada a serviços (SOA), embora promova a reutilização de serviços, não enfatiza a independência total de implantação e a granularidade fina dos componentes como o padrão descrito.
- E)A escolha por componentes independentes com comunicação via APIs leves e bases de dados independentes é uma clara indicação do uso de uma arquitetura baseada em eventos, que foca na troca assíncrona de mensagens entre serviços desacoplados.