Please use this identifier to cite or link to this item:
https://repositorio.ufu.br/handle/123456789/49988| ORCID: | http://orcid.org/0009-0004-5193-5559 |
| Document type: | Trabalho de Conclusão de Curso |
| Access type: | Acesso Aberto |
| Title: | Resiliência em microsserviços: análise dos padrões circuit breaker e retry |
| Alternate title (s): | Resilience in Microservices: Analysis of the Circuit Breaker and Retry Patterns |
| Author: | Leite, Gabriel Antônio de Oliveira |
| First Advisor: | Maia, Marcelo de Almeida |
| First member of the Committee: | Dorça, Fabiano Azevedo |
| Second member of the Committee: | Couto, Leandro Nogueira |
| Summary: | 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. |
| Keywords: | 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 |
| Area (s) of 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 |
| Language: | por |
| Country: | Brasil |
| Publisher: | Universidade Federal de Uberlândia |
| Quote: | 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 |
| Date of defense: | 10-Aug-2026 |
| Appears in Collections: | TCC - Sistemas de Informação (Uberlândia) |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| ResilienciaMicrosservicosAnalise.pdf | TCC = Trabalho de Conclusão de Curso | 5.48 MB | Adobe PDF | View/Open |
This item is licensed under a Creative Commons License