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 | Tamanho | Formato | |
---|---|---|---|---|
MONOGRAFIA_DesenvolvimentoMicroservicoCorretor.pdf | 1,16 MB | Adobe PDF | Visualizar/Abrir |
Os itens na BDTCC estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.