Use este identificador para citar ou linkar para este item:
https://bia.ifpi.edu.br/jspui/handle/123456789/5654| Tipo: | Trabalho de Conclusão de Curso |
| Título: | Escalabilidade em sistemas web: uma análise comparativa entre Java e Rust em arquitetura monolítica |
| Autor: | Santos, Luis Henrique de Moura |
| Orientador(a): | Sousa, Aislan Rafael Rodrigues de |
| Resumo: | A expansão das aplicações web intensificou a busca por escalabilidade, e a arquitetura monolítica permanece como ponto de partida para muitos sistemas. Diante do aumento da carga, presume-se que a migração para arquiteturas distribuídas seja inevitável, ignorando-se uma variável anterior: o ecossistema de execução da linguagem, que compreende o modelo de gerenciamento de memória, o framework e o modelo de concorrência. Este trabalho compara duas implementações funcionalmente equivalentes de um serviço de encurtamento de endereços web, uma em Java com Spring Boot e servidor embarcado Tomcat, e outra em Rust com Actix-web sobre runtime assíncrono Tokio, submetidas a cargas progressivas de até 1.500 requisições por segundo em containers limitados a meio núcleo de processamento e 512 megabytes de memória. Três algoritmos de coleta de lixo da máquina virtual Java foram avaliados como variável independente. Os resultados mostram que a implementação em Rust manteve latência mediana estável entre 260 e 272 microssegundos com consumo fixo de 7 megabytes, enquanto a configuração Java padrão registrou picos de latência no percentil 95 de até 196 milissegundos e consumo de aproximadamente 420 megabytes. O coletor concorrente de última geração, projetado para latência mínima, falhou nos critérios de aceitação nas três execuções devido à contenção por processamento fracionado. O coletor sequencial, o mais simples disponível, superou as demais configurações Java em latência, variância e consumo de memória. No cenário investigado, a escolha do ecossistema de execução e do algoritmo de coleta mostrou-se fator determinante nos limites de desempenho do monólito antes de migração arquitetural. |
| Abstract: | The expansion of web applications has intensified the pursuit of scalability, and monolithic architecture remains the starting point for many systems. As load increases, migration toward distributed architectures is often assumed to be inevitable, overlooking an earlier variable: the execution ecosystem of the language, encompassing its memory management model, framework, and concurrency model. This work compares two functionally equivalent implementations of a web address shortening service, one in Java with Spring Boot and embedded Tomcat server, and another in Rust with Actix-web on the asynchronous Tokio runtime, subjected to progressive loads of up to 1,500 requests per second in containers limited to half a processing core and 512 megabytes of memory. Three garbage collection algorithms of the Java virtual machine were evaluated as an independent variable. Results show that the Rust implementation maintained a stable median latency between 260 and 272 microseconds with a fixed footprint of 7 megabytes, while the default Java configuration exhibited 95th-percentile latency peaks of up to 196 milliseconds and approximately 420 megabytes of memory consumption. The latest-generation concurrent collector, designed for minimal latency, failed the acceptance thresholds in all three runs due to contention over the fractional processing capacity. The sequential collector, the simplest available, outperformed the other Java configurations in latency, variance, and memory consumption. Within the investigated scenario, the choice of execution ecosystem and collection algorithm proved to be a determining factor in the performance limits of the monolith before architectural migration. |
| Palavras-chave: | Escalabilidade Arquitetura monolítica Gerenciamento de memória Coleta de lixo Desempenho sob carga |
| Cnpq: | 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::LINGUAGENS DE PROGRAMACAO |
| metadata.dc.language: | por |
| País: | Brasil |
| Editor: | Instituto Federal de Educação, Ciência e Tecnologia do Piauí |
| Sigla: | IFPI |
| Unidade: | Campus Teresina Central |
| Citação: | SANTOS, Luis Henrique de Moura. Escalabilidade em sistemas web: uma análise comparativa entre Java e Rust em arquitetura monolítica. Orientador: Aislan Rafael Rodrigues de Sousa. 2026. 14 f. Trabalho de Conclusão de Curso (Tecnologia em Análise e Desenvolvimento de Sistemas) - Instituto Federal do Piauí, Campus Teresina Central, Teresina, 2026 |
| Tipo de acesso: | Acesso Aberto |
| URI: | https://bia.ifpi.edu.br/jspui/handle/123456789/5654 |
| Data do documento: | 2026 |
| Aparece nas coleções: | Analise e Desenvolvimento de Sistemas - Teresina Central |
Arquivos associados a este item:
| Arquivo | Descrição | Tamanho | Formato | |
|---|---|---|---|---|
| 2026_tcc_lhsantos.pdf | 162.76 kB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.
