Use este identificador para citar ou linkar para este item: https://repositorio.ufu.br/handle/123456789/49988
ORCID:  http://orcid.org/0009-0004-5193-5559
Tipo do documento: Trabalho de Conclusão de Curso
Tipo de acesso: Acesso Aberto
Título: Resiliência em microsserviços: análise dos padrões circuit breaker e retry
Título(s) alternativo(s): Resilience in Microservices: Analysis of the Circuit Breaker and Retry Patterns
Autor(es): Leite, Gabriel Antônio de Oliveira
Primeiro orientador: Maia, Marcelo de Almeida
Primeiro membro da banca: Dorça, Fabiano Azevedo
Segundo membro da banca: Couto, Leandro Nogueira
Resumo: O presente trabalho analisa a eficácia de uma arquitetura de resiliência híbrida, composta pela integração sinérgica dos padrões Circuit Breaker e Retry, na mitigação de falhas em cascata e esgotamento de conexões (thread exhaustion) em micros- serviços. A dependência síncrona entre serviços distribuídos cria vulnerabilidades onde a latência de um único componente pode comprometer a disponibilidade de todo o sistema. Para avaliar essa abordagem, utilizou-se uma metodologia experimental quantita- tiva aplicada a um ecossistema conteinerizado via Docker Compose, desenvolvido em Java com Spring Boot 3 e Spring Cloud (Netflix Eureka). A arquitetura híbrida foi implementada de forma desacoplada por meio de Programação Orientada a As- pectos (AOP) com a biblioteca Resilience4j, estruturando hierarquicamente o Retry como aspecto interno sob o escudo do Circuit Breaker como aspecto externo. O ambiente foi submetido a testes sistemáticos de estresse, latência controlada e injeção de falhas com a ferramenta k6, sob perfis de carga escalonados de até 300 usuários virtuais simultâneos divididos em estágios de warm-up, ramping-up e cool-down. Os resultados demonstraram que, sob saturação extrema, o sistema desprotegido colap- sou rapidamente devido à retenção de threads, superando latências de 4,4 segundos. Em contrapartida, a atuação da arquitetura híbrida com o disjuntor em modo fail-fast interceptou as chamadas em memória, impedindo o enfileiramento de requisições no Tom- cat. Essa abordagem preservou a estabilidade da infraestrutura, limitando a latência de cauda (𝑝95) a 241,84 ms e sustentando uma vazão (throughput) de 1.820,10 requisições por segundo, com um overhead computacional de aspecto de aproximadamente 20 ms sob falhas contínuas. Adicionalmente, atestou-se a capacidade de auto-recuperação (self- healing) da arquitetura, que processou mais de 220 mil chamadas durante a transição dinâmica de estados, comprovando a hipótese de que o isolamento híbrido e estrutural de falhas garante a continuidade e a confiabilidade de sistemas distribuídos em nuvem.
Abstract: This work analyzes the effectiveness of a hybrid resilience architecture, composed of the synergistic integration of the Circuit Breaker and Retry patterns, in mitigating cascading failures and thread exhaustion in microservices. The synchronous dependency between distributed services creates vulnerabilities where the latency of a single component can compromise the entire system. To evaluate this approach, a quan- titative experimental methodology was executed on a containerized ecosystem us- ing Docker Compose, developed with Java, Spring Boot 3, and Spring Cloud (Netflix Eureka). The hybrid architecture was decoupled from the business logic via Aspect-Oriented Programming (AOP) with the Resilience4j library, hierarchi- cally structuring the Retry (internal aspect) under the Circuit Breaker shield (external aspect). The environment was subjected to systematic stress, controlled latency, and fault injection tests using the k6 tool, under load profiles of up to 300 simultaneous virtual users divided into warm-up, ramping-up, and cool-down stages. The experimental results demonstrate that, under extreme saturation, the unprotected system collapsed due to thread exhaustion, reaching latencies exceeding 4.4 seconds. In contrast, the hybrid architecture operating in fail-fast mode intercepted calls in mem- ory, avoiding thread queuing in Tomcat. This approach preserved infrastructure stability, keeping the tail latency (𝑝95) controlled at 241.84 ms and sustaining a throughput of 1,820.10 requests per second, with an AOP execution overhead of approximately 20 ms. Additionally, the architecture’s self-healing capacity was verified, processing over 220,000 requests during dynamic state transitions, proving the hypothesis that structured, hybrid fault isolation ensures the continuity and reliability of cloud-based distributed systems.
Palavras-chave: Microsserviços
Microservices
Padrões de resiliência
Resilience patterns
Esgotamento de threads
Thread exhaustion
Falhas em cascata
Cascading failures
Programação Orientada a Aspectos
Aspect-Oriented Programming
Resilience4j
Resilience4j
Circuit Breaker
Circuit Breaker
Retry
Retry
Área(s) do CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO::ARQUITETURA DE SISTEMAS DE COMPUTACAO
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::SISTEMAS DE INFORMACAO
Idioma: por
País: Brasil
Editora: Universidade Federal de Uberlândia
Referência: LEITE, Gabriel Antônio de Oliveira. Resiliência em microsserviços: análise dos padrões circuit breaker e retry. 2026. 53f. Trabalho de Conclusão de Curso (Graduação em Sistemas de Informação) - Universidade Federal de Uberlândia, 2026.
URI: https://repositorio.ufu.br/handle/123456789/49988
Data de defesa: 10-Ago-2026
Aparece nas coleções:TCC - Sistemas de Informação (Uberlândia)

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
ResilienciaMicrosservicosAnalise.pdfTCC = Trabalho de Conclusão de Curso5.48 MBAdobe PDFVisualizar/Abrir


Este item está licenciada sob uma Licença Creative Commons Creative Commons