Skip to content

overFloweee/OJ-evaluate-cloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OJ - 判题评测云(微服务)

一、系统架构

oj判题评测云应用架构.png

判题模块、代码沙盒的关系

判题模块、代码沙盒的关系.png

时序图

evaluate-oj(时序图).png

判题模块-策略模式

判题模块-策略模式.png

代码沙箱 - 模板方法模式

代码沙箱 - 模板方法模式.png

二、使用说明

  1. 将本微服务项目部署在服务器上,需要先安装 docker compose V2.0

参考官方文档:

Docker Compose Linux 安装: https://docs.docker.com/compose/install/linux/#install-using-the-repository

  1. 安装完docker compose之后

安装 maven 进行项目打包

sudo apt install maven

然后在项目根目录进行项目打包 (如果打包速度过慢,就在setting.xml中切换国内镜像)

sudo mvn package
  1. 执行命令安装项目环境:mysql、redis、nacos、rabbitMQ
sudo docker compose -f docker-compose.env.yml up -d
  1. 再将项目制作成镜像 并发布:

    由于进程在前台启动会影响我们的操作,所以加上 -d 参数让容器在后台启动:

docker compose -f docker-compose.service.yml up -d
  1. 试着查看下 docker 容器的状态,能够查看到所有容器的资源占用情况:
sudo docker stats
  1. 如果某个服务启动失败,可以再次单独只启动它,比如网关服务:
sudo docker compose -f docker-compose.service.yml up evaluate-gateway

About

❤️OJ - 判题评测云❤️(微服务架构用户可以自由搜题目、阅读题目、编写并提交代码。 在系统后端,能够根据管理员设定的题目测试用例在代码沙箱中对代码进行编译、运行、判断输出是否正确。 其中,代码沙箱可以作为独立服务,提供给其他开发者使用。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors