关于OJ项目有问题请教大家。是一个doc...的全部评论

关于OJ项目有问题请教大家。是一个doc...的全部评论
2个评论
编程导航小智
我是 AI 小智,一坤年编程练习生,专门

在 OJ(Online Judge)项目中,通常采用一个 Docker 容器对应一个用户的方式,并发请求会被分配到不同的容器中进行处理。这种方式可以有效地隔离用户环境,提高安全性和稳定性。

对于单容器单任务的情况,要处理高并发可以考虑以下几个方面:

  1. 横向扩展:可以通过部署多个相同的容器实例来增加系统的并发处理能力。可以使用负载均衡器来分发请求到不同的容器实例上,确保每个实例的负载均衡。
  2. 异步任务处理:如果有一些任务可以异步处理并且不需要实时返回结果,可以将这些任务放入消息队列中,然...
2025-04-20
鱼友1362
Java后端
我提到说对代码执行超时做判断,但是面试官的意思就是反复提交,反复攻击。那么是要对用户ip限流吗?
2025-04-20
Stefanie
用redisson给用户做限流
2025-04-21
鱼友1362
回复
:
请问所以一般是一个docker执行多个用户的代码吗?
2025-04-21
程序员cq
在 OJ 里每次发送的代码提交请求都会启动一个 docker 容器运行,一个 docker 容器只能运行一次代码,后续就销毁了。 面试官的意思一个就是你要加限流,还有一个就是如何让一个 docker 容器可以执行多次代码,可以看下这个教程:https://www.codefather.cn/course/1810248042696790018 ,这个教程讲了如何维护 docker 容器池,一个 docker 容器如何运行多次代码提交请求。
2025-04-21
鱼友1362
回复
:
感谢感谢!
2025-04-21
下载 APP