Title: | Estudo de padrões de projeto para tolerância a falhas voltados a serviços |
Author: | Jovelli, Eric Segala |
Abstract: |
A arquitetura orientada a serviços (SOA) é um conceito amplamente utilizado em projeto de software. Alguns de seus benefícios são: alta qualidade de serviço, reutilização, confiabilidade, escalabilidade, disponibilidade e heterogeneidade de tecnologia e plataforma utilizada. SOA está atualmente evoluindo para incluir microsserviços na resolução de problemas relacionados com os limites da arquitetura monolítica usual. As necessidades das aplicações deram nascimento a opções leves e altamente escaláveis oferecidas pela arquitetura de microsserviços. É essencial a constante busca por alternativas e possibilidades para aprimorar a confiabilidade e disponibilidade dos serviços. O objetivo deste trabalho é comparar padrões arquiteturais de microsserviços para aumentar a confiabilidade de serviços por meio de implementação de padrões voltados à tolerância à falhas. Para as avaliações, foram implementadas provas de conceito e estas foram submetidas a testes de carga, com a injeção de falhas para a observação do comportamento do sistema. A partir desta carga, foram definidos cenários de teste para avaliar o comportamento e desempenho do dos protótipos que implementam cada padrão. Foram realizados estudos de caso para os padrões retry, disjuntor, sidecar e throttling. Para a análise, foram consideradas métricas de latência, saturação e erros, comparando implementações do serviço com e sem mecanismos de tolerância a falhas. Service-oriented architecture (SOA) is a widely used concept in software design. Some of its benefits are: high quality of service, reusability, reliability, scalability, availability and heterogeneity of technology and platform used. SOA is currently evolving to include microservices in solving problems related to the limits of the usual monolithic architecture. Application needs gave birth to lightweight and highly scalable options offered by microservices architecture. It is essential to constantly search for alternatives and possibilities to improve the reliability and availability of services. The objective of this work is to compare microservices architectural patterns to increase the reliability of services through the implementation of fault tolerance-oriented design patterns. For the evaluations, proofs of concept were implemented and these were subjected to load tests, with fault injection to observe the system’s behavior. Based on this load, test scenarios were defined to evaluate the behavior and performance of the prototypes that implement each standard. Case studies were carried out for the retry, circuit breaker, sidecar and throttling patterns. For the analysis, latency, saturation and error metrics were considered, comparing service implementations with and without fault tolerance mechanisms. |
Description: | TCC (graduação) - Universidade Federal de Santa Catarina, Centro Tecnológico, Sistemas de Informação. |
URI: | https://repositorio.ufsc.br/handle/123456789/255687 |
Date: | 2024-06-26 |
Files | Size | Format | View | Description |
---|---|---|---|---|
tcc-final.pdf | 1.600Mb |
View/ |
Monografia | |
código-fonte-tcc.zip | 1.260Mb | Unknown |
View/ |
Código fonte |