๋ณธ ํ๋ก์ ํธ๋ ์ฝ๋ฉ ํ ์คํธ, ๊ฒ์ ์คํ ์ด, ๊ทธ๋ฆฌ๊ณ ์น ๊ฒ์ ์๋น์ค ์ฐ๋์ ํ๋๋ก ํตํฉํ ๊ณ ์ฑ๋ฅ ํ๋ซํผ์ ๊ตฌ์ถํ๊ณ ์ด์ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
- ์ฝ๋ฉ ํ ์คํธ ๋ฐ ๊ธฐํ ๊ฒ์ ํ๋ซํผ ํ์ ๋ชจ๋: ์์์ ์ค์๊ฐ ๋ชจ๋ํฐ๋ง ๋ฐ ์ฝ๋ ์ปดํ์ผ/์คํ ํ๊ฒฝ ์ ๊ณต (30%)
- ๊ฒ์ ์คํ ์ด: Windows ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ฐ ๊ฒ์ ๋ฑ๋ก, ์๋ ์ ๋ฐ์ดํธ ๋ฐ ์น ๊ฒ์ ํ๋ซํผ ์๋น์ค ์ฐ๋. (0%)
- ๋ชจ๋ฐ์ผ: ์์ ( 0% )
- Framework:
React.js (v18),Next.js - State Management:
Redux,Recoil
- Languages:
Go,Spring Boot,Node.js - Infrastructure:
Nginx - Communication:
RESTful API,WebSocket - Messaging:
Apache Kafka
- Database:
MySQL(๋์ ์์ ),H2(๋ก์ปฌ ํ ์คํธ์ฉ) - Deployment:
Docker,Kubernetes (K8s)(3๊ฐ ๋ ธ๋ ์ด์ ๊ธฐ์ค) - CI/CD: ๋์ ๋ฐ ์๋ํ ๊ฒํ ์ค
ํ์ฌ ํ๋ซํผ์ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ MSA ์ ํ ํ ์ ์๋๋ก ๊ฐ๋ฐ์ ์งํฅํ๋ฉฐ ๊ฐ ํ๋ก์ ํธ๋ค์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ฉ๋๋ค.
- MSA ์ ํ ์ ํ๋ก์ ํธ ๋ช ์์ : api-server(PP), api-server(FI)
| ๋ชจ๋๋ช | ์ํ | ์ฃผ์ ์ญํ |
|---|---|---|
| web-front | ๊ตฌ์ถ ์๋ฃ (๊ณ ๋ํ ํ์) | React ๊ธฐ๋ฐ ์ฌ์ฉ์ ์น ์๋น์ค ํ๋ฉด |
| API-gateway | ์๋ฃ | ์ธ์ฆ ํํฐ ๋ฐ ์๊ทธ๋์ฒ ๊ฒ์ฆ (Go ๊ธฐ๋ฐ) |
| API-server | ๊ตฌ์ถ ์๋ฃ (๊ณ ๋ํ ํ์) | ํต์ฌ ๋น์ฆ๋์ค ๋ก์ง ์ฒ๋ฆฌ ๋ฐ API ์ ๊ณต |
| Signal-server | ๊ตฌ์ถ ์๋ฃ (๊ณ ๋ํ ํ์) | P2P ํต์ ๋งค๊ฐ ๋ฐ SFU ์๋ฒ ์ฌ์ฉ์ ์ ๋ณด ์ ๋ฌ |
| SFU-server | ๊ฐ๋ฐ ์ค | ์ค์๊ฐ ๋ฏธ๋์ด ์คํธ๋ฆฌ๋ฐ(Streaming) ์ฃผ์ฒด ์๋ฒ |
| game-server | ๊ฐ๋ฐ ์ค | Protobuf ๊ธฐ๋ฐ IOCP ์ค์๊ฐ ํต์ ์ฑ๋ฅ ๊ทน๋ํ ์๋ฒ |
| coding-test-server | ๊ฐ๋ฐ ์ค | ์ฝ๋ฉ ํ ์คํธ ๋ต์ ๊ฒ์ฆ ๋ฐ ๊ฒฐ๊ณผ ์ฒ๋ฆฌ ์๋ฒ |
| oauth2-server | ๋์ ์์ | ํตํฉ ๋ก๊ทธ์ธ(SSO) ์ง์์ ์ํ ์ธ์ฆ ์๋ฒ |
| kubernetes-setting | ์๋ฃ ํด๋ | K8s ํด๋ฌ์คํฐ ์๋ํ Shell Script (3 Nodes) |
| Infra-setting | ์๋ฃ ํด๋ | Kafka, Redis ๋ฑ๋ฑ ์ธํ๋ผ ๊ด๋ จ ๋ด์ฉ ๊ธฐ์ |
- ์ฑ๋ฅ ๊ทน๋ํ: ๋ก๋ ๋ฐธ๋ฐ์ฑ ๋ฑ ์ต์ ๊ธฐ์ ์ ์ ์ฉํ์ฌ ์๋ฒ ํจ์จ์ฑ ์ต์ ํ.
- ํตํฉ ํ๋ซํผ ๊ตฌ์ถ: ์น ๊ธฐ๋ฐ์ ์ ๊ธฐ์ ์ธ ์๋น์ค ์ํ๊ณ ์กฐ์ฑ.
- ๋ฉํฐ OS ์ง์: macOS ๋ฐ Windows ํ๊ฒฝ์ ์ ์ฉ ํด๋ผ์ด์ธํธ ๊ตฌ์ถ.
- ์์ฒด ๊ฒ์ ๊ฐ๋ฐ: ํ๋ซํผ์ ์ต์ ํ๋ ์น ์ฌ์ฉ์์ ๊ฒ์ ์ฌ์ฉ์์ ๊ณ์ ์ ๋ณด๋ฅผ ์ฐ๋ํ์ฌ ๋ฐ์นญ.
- Runtime:
Node.js v18,Go 1.22,JDK 17 - Compiler:
gcc