Please use this identifier to cite or link to this item:
http://www.monografias.ufop.br/handle/35400000/7704
Title: | Desenvolvimento de um microsserviço de corretor automático de código-fonte para a ferramenta Opcoders Judge. |
Authors: | Ferreira, Lucas Mota |
metadata.dc.contributor.advisor: | Silva, Pedro Henrique Lopes Fortes, Reinaldo Silva |
metadata.dc.contributor.referee: | Zimerman, Fernando Euzebio Andrade, Adriano Figueiredo de Fortes, Reinaldo Silva Silva, Pedro Henrique Lopes |
Keywords: | Microsserviços Docker Kafka Processamento paralelo |
Issue Date: | 2025 |
Citation: | 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. |
Abstract: | 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. |
metadata.dc.description.abstracten: | 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 |
Appears in Collections: | Ciência da Computação |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
MONOGRAFIA_DesenvolvimentoMicroservicoCorretor.pdf | 1,16 MB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.