Use este identificador para citar ou linkar para este item: http://www.monografias.ufop.br/handle/35400000/7704
Título: Desenvolvimento de um microsserviço de corretor automático de código-fonte para a ferramenta Opcoders Judge.
Autor(es): Ferreira, Lucas Mota
Orientador(es): Silva, Pedro Henrique Lopes
Fortes, Reinaldo Silva
Membros da banca: Zimerman, Fernando Euzebio
Andrade, Adriano Figueiredo de
Fortes, Reinaldo Silva
Silva, Pedro Henrique Lopes
Palavras-chave: Microsserviços
Docker
Kafka
Processamento paralelo
Data do documento: 2025
Referência: FERREIRA, Lucas Mota. Desenvolvimento de um microsserviço de corretor automático de código-fonte para a ferramenta Opcoders Judge. 2025. 56 f. Monografia (Graduação em Ciência Computação) - Instituto de Ciências Exatas e Biológicas, Universidade Federal de Ouro Preto, Ouro Preto, 2025.
Resumo: O opCoders Judge é uma plataforma de correção automática de código utilizada em ambiente educacional, voltada para cursos de programação. Inicialmente, a arquitetura da aplicação apresentava limitações quanto à escalabilidade e ao processamento paralelo de submissões. Este trabalho teve como objetivo o desenvolvimento e a integração de um microsserviço dedicado à correção de código. Foram implementadas melhorias ao utilizar uma arquitetura distribuída com a estratégia de Produtor-Consumidor com Apache Kafka em Python, suporte a paralelismo, isolamento por contêiner Docker e capacidade de escalonamento horizontal. Testes de desempenho demonstraram ganhos expressivos em throughput com o uso de múltiplas partições no Kafka. Além disso, foram realizados testes com diferentes algoritmos de ordenação para validar a robustez do sistema sob diferentes cargas computacionais. O sistema implementado em Python foi capaz de suportar um total de 10.000 requisições simultâneas de correção para um algoritmo de ordenação, o que confirma a viabilidade da proposta e indica que a solução oferece maior estabilidade, desempenho e adaptabilidade para contextos com alta concorrência. A arquitetura implementada também permite futura expansão com novas funcionalidades e tecnologias.
Resumo em outra língua: The opCoders Judge is an automatic code evaluation platform used in educational environments, specifically designed for programming courses. Initially, the system's architecture had limitations regarding scalability and parallel processing of submissions. This work aimed to develop and integrate a microservice dedicated to code evaluation. Improvements were implemented through a distributed architecture using the Producer-Consumer strategy with Apache Kafka in Python, supporting parallelism, Docker container isolation, and horizontal scalability. Performance tests demonstrated significant gains in throughput with the use of multiple partitions in Kafka. Additionally, tests were conducted using different sorting algorithms to validate the system’s robustness under varying computational loads. The system implemented in Python was capable of handling up to 10,000 simultaneous code correction requests for a sorting algorithm, confirming the viability of the proposed solution and indicating that it offers greater stability, performance, and adaptability in high-concurrency scenarios. The implemented architecture also enables future expansion with new features and technologies.
URI: http://www.monografias.ufop.br/handle/35400000/7704
Aparece nas coleções:Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
MONOGRAFIA_DesenvolvimentoMicroservicoCorretor.pdf1,16 MBAdobe PDFVisualizar/Abrir


Os itens na BDTCC estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.