구조 설계
1차 설계

2차 설계(최종 설계)

redis queue
- 요청이 몰렸을 때 누락되지 않고 순서대로 처리할 수 있도록 queue를 사용한다.
코드 실행서버
- 혹시나 악의적인 코드로 공격하더라도 문제가 전체로 퍼지지 않도록 도커를 사용해 격리한다.
- 테스트 케이스별로 병렬적 채점을 할 수 있게 여러개의 도커를 사용한다.
https://www.figma.com/file/Muux6igNnXxpQ2wvXhuuL2/아키텍처?type=whiteboard&node-id=0-1&t=2mFkoIsjSVxvqvjD-0
DB 설계
ERD
https://www.erdcloud.com/d/ZsZxjh5MZ5aE4Ry7j