Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/85581
Título: | Estudo sobre a importância dos princípios e padrões das arquiteturas orientadas a microsserviços |
Outro(s) título(s): | Study on the importance of the principles and patterns of microservices architectures |
Autor(es): | Pereira, José André Martins |
Orientador(es): | Ribeiro, António Nestor |
Palavras-chave: | Arquiteturas de software CQRS Microsserviços Padrões de desenho Saga Software architecture Microservices Design patterns |
Data: | 13-Jul-2023 |
Resumo(s): | Com o atual crescimento do desenvolvimento de software e aumento da procura para solução
de diversos problemas, começa-se a verificar a incapacidade de certas abordagens
arquiteturais para lidarem com alguns dos desafios atuais. Efetivamente, alguns destes
desafios estão relacionados com o aumento da adesão das pessoas à tecnologia,
personalização das aplicações, implementação rápida de novas funcionalidades, crescimento
e complexidade das aplicações, otimização da produtividade das equipas de desenvolvimento,
adequação das melhores tecnologias, entre outros. Deste modo, as arquiteturas orientadas a
microsserviços resolvem alguns destes problemas atuais. Este projeto de dissertação tem
como objetivo estudar as arquiteturas orientadas a microsserviços, os seus princípios, padrões
e testar a aplicabilidade dos mesmos a um caso de estudo do mundo real, um sistema E commerce, com a finalidade de resolver alguns dos problemas e desafios desta abordagem
arquitetural. As categorias de padrões de arquiteturas orientadas a microsserviços estudadas
são: Decomposição, Manutenção de Dados, Mensagens Transacionais, APIs Externas,
Descoberta de Serviços e Segurança. Dos padrões estudados e implementados, os que tiveram
resultados interessantes foram o Saga e CQRS, devido a resolverem problemas relacionados
com a manutenção dos dados, que se torna complexa com a característica distribuída deste
tipo de arquiteturas. A avaliação da aplicabilidade destes padrões ao caso de estudo, faz-se
em comparação do desenho e implementação, com o estudo do estado de arte, através dos
pontos positivos e negativos, bem como são efetuados testes à aplicação desenvolvida para
conclusão de resultados. Por fim, foram efetuados testes de carga, para verificar a capacidade
de escalabilidade, mas principalmente o impacto que as decisões arquiteturais têm na
performance e disponibilidade das funcionalidades. With the current growth of software development and increased demand for solutions of multiple problems, we start to verify the inability of certain architectural approaches to deal with some of the current challenges. Effectively, some of these challenges are related with people's adherence to technology, application customization, quick implementation of new features, application growth and complexity, productivity's optimization of the development teams, adaption of the best technologies, etc. The microservices architectures solve some of these current problems. This dissertation project has the objective to study the microservices architectures, their principles, patterns and test their applicability in one real world case study, an E-commerce system, to solve some problems and challenges of that architectural approach. The categories of microservices architecture patterns studied are: Decomposition, Data Management, Transactional Messaging, External APIs, Service Discovery and Security. Of the patterns studied and implemented, the ones that had interesting results were Saga and CQRS, due to solving problems related with data management, which becomes complex with distribution characteristic of these architectures. The applicability of these patterns to the case study is evaluated by comparing the design and implementation with the state of the art study, with positive and negative points, as well with application testing to get the conclusion results. Finally, were carried out charge tests, to verify the scalability capacity, but mainly the impact of the architecture decisions has in features performance and availability. |
Tipo: | Dissertação de mestrado |
Descrição: | Dissertação de mestrado integrado em Engenharia Informática |
URI: | https://hdl.handle.net/1822/85581 |
Acesso: | Acesso aberto |
Aparece nas coleções: | BUM - Dissertações de Mestrado DI - Dissertações de Mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Jose Andre Martins Pereira.pdf | Dissertação de Mestrado | 10,58 MB | Adobe PDF | Ver/Abrir |
Este trabalho está licenciado sob uma Licença Creative Commons