"๊ณต์ ์ฑ๊ณผ ํฌ๋ช ์ฑ์ ๊ฐ์ถ ์ ์ฐฉ์ ์ด๋ฒคํธ ์๋น์ค"
59์ด๋ ์ ์ฐฉ์ ์ด๋ฒคํธ ์ฐธ์ฌ ๊ณผ์ ์์ ๋ฐ์ํ๋ ๋ถํฌ๋ช
์ฑ์ ํด์ํ๊ณ , ์ฌ์ฉ์์๊ฒ ์์ ์ ์์์ ์ฐธ์ฌ ์๊ฐ์ ์ค์๊ฐ์ผ๋ก ์ ๊ณตํ๋ ํ๋ซํผ์
๋๋ค.
์๋น์ค์ ์ค์๊ฐ์ฑ๊ณผ ๊ณต์ ์ฑ์ ์ง์ํ๊ธฐ ์ํด ๋๊ท๋ชจ ํธ๋ํฝ ์ฒ๋ฆฌ์ ๋์์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ Dream Solution์
๋๋ค.
- ํ๋ก์ ํธ ๊ฐ์
- ๊ธฐํ ๋ฐฐ๊ฒฝ
- ๊ธฐ์กด ํ๋ซํผ ๋ฌธ์ ์ ๋ฐ ๊ฐ์ ํ์์ฑ
- Dream Solution
- ์๋น์ค ์ฐจ๋ณ์ฑ
- ๊ธฐ์ ์ฐจ๋ณ์ฑ
- ์ํคํ
์ฒ
- ๋ชจ๋๋ฆฌํฑ ๊ตฌ์กฐ
- MSA ๊ตฌ์กฐ
- ์ฃผ์ ํ๋ฉด
- ์ฑ๋ฅ ํ ์คํธ ๊ฒฐ๊ณผ
- ์ฌ์ฉ ๊ธฐ์ ์คํ
- ๊ฒฐ๋ก ๋ฐ ์ฐจ๋ณ์ฑ ์์ฝ
- ํ๋ก์ ํธ ์ด๋ฆ: 59์ด (1 Second Before)
- ํ๋ก์ ํธ ๊ธฐ๊ฐ: 2024๋ 10์ 14์ผ - 2024๋ 11์ 19์ผ
- ๋ชฉ์ :
- ์ฌ์ฉ์๊ฐ ์ ์ฐฉ์ ์ด๋ฒคํธ ์ฐธ์ฌ ๊ณผ์ ์์ ์์ ์ ์์์ ์ฐธ์ฌ ์๊ฐ์ ๋ช ํํ ์ ์ ์๋๋ก ์ ๊ณต.
- ๊ณต์ ์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ด๋ฒคํธ ์ฐธ์ฌ ํ๊ฒฝ ์กฐ์ฑ.
- ์ฃผ์ ๊ธฐ๋ฅ:
- ์ค์๊ฐ ์์ ์ ๊ณต
- ์์ ๋๊ธฐ ์ค ์ฌ์ฉ์ ๊ฐ ์ฑํ ๊ธฐ๋ฅ ์ ๊ณต
- ํด๋ฆญ ์๊ฐ ๋ฐ ์์ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๋ถ์
-
๋นํจ์จ์ ์ธ ์ด๋ฒคํธ ์ด์
- ์ด๋ฒคํธ ์ฃผ์ต์๊ฐ ๋ชจ๋ ๋๊ธ์ ์ฝ๊ณ ์ถ์ฒจํด์ผ ํ๋ ๋ถํธํจ๊ณผ ๋นํจ์จ์ฑ ์กด์ฌ.
-
๊ณต์ ์ฑ๊ณผ ์ ๋ขฐ์ฑ ๋ถ์กฑ
- ๋๊ธ ๊ธฐ๋ฐ ์ถ์ฒจ ๋ฐฉ์์ ์ด๋ฏธ ๋น์ฒจ์๊ฐ ์ ํด์ ธ ์๋ ๊ฒ ๊ฐ๋ค๋ ๋ถ์ ์ ์ธ์์ ์กฐ์ฅ.
- ์ฐธ์ฌ์๋ค ์ฌ์ด์์ ๊ณต์ ์ฑ๊ณผ ํฌ๋ช ์ฑ ๋ถ์กฑ์ผ๋ก ์ธํด ์ ๋ขฐ๊ฐ ์ ํ๋จ.
-
๊ฐ์ธ ์ ๋ณด ๋ ธ์ถ ๋ฐ ๋ณด์ ๋ฌธ์
- ๋น์ฒจ์๋ฅผ ํน์ ํ๊ธฐ ์ํด ๋ชจ๋ ์ฐธ์ฌ์์ ๊ฐ์ธ ์ ๋ณด๋ฅผ ์์งํด์ผ ํ๋ ๊ตฌ์กฐ๋ก, ์ฌ์ฉ์๋ค์ด ๊ฑฐ๋ถ๊ฐ์ ๋๋ผ๊ฒ ๋จ.
-
์ค์๊ฐ ๊ฒฝ์ ๋์
- ์ด๋ฒคํธ์ ์ค์๊ฐ ๊ฒฝ์ ์์๋ฅผ ์ถ๊ฐํ์ฌ, ๊ณต์ ์ฑ๊ณผ ํฌ๋ช ์ฑ์ ๊ทน๋ํ.
- ํน์ ์์ ์ ๊ฒฝ์์ด ์ด๋ค์ง๋๋ก ํ์ฌ ์ฐธ์ฌ์ ๊ฐ ๊ณตํํ ๊ธฐํ๋ฅผ ๋ณด์ฅ.
-
์ฆ์ ๊ฒฐ๊ณผ ํ์ธ
- ์ด๋ฒคํธ ์ข ๋ฃ์ ๋์์ ๋น์ฒจ ๊ฒฐ๊ณผ๋ฅผ ์ฆ์ ํ์ธ ๊ฐ๋ฅ, ์ง์ฐ ์๋ ๋น ๋ฅธ ํผ๋๋ฐฑ ์ ๊ณต.
-
ํฌ๋ช ํ ํ๋ก์ธ์ค
- ์๋ฒ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ญํน๊ณผ ๋น์ฒจ ์ฌ๋ถ๋ฅผ ๋ช ํํ ํ์ํ์ฌ ์ ๋ขฐ๋ ํฅ์.
- ๋ชจ๋ ์ฐธ์ฌ์์ ์ด๋ฒคํธ ์์ฑ์๊ฐ ์์คํ ์ ํตํด ํฌ๋ช ํ ๊ณผ์ ํ์ธ ๊ฐ๋ฅ.
-
์ด๋ฒคํธ ์์ฑ์์ ์ฐธ์ฌ์ ํ์ด์ง ๋ถ๋ฆฌ
- ์ฃผ์ต์์ ์ฐธ์ฌ์๋ฅผ ์ํ ๊ฐ๊ฐ์ ์ ์ฉ ์ธํฐํ์ด์ค ์ ๊ณต.
- ์ฃผ์ต์๋ ์ด๋ฒคํธ ์์ฑ ๋ฐ ๊ด๋ฆฌ์ ์ต์ ํ๋ UI๋ฅผ, ์ฐธ์ฌ์๋ ์ค์๊ฐ์ผ๋ก ์ด๋ฒคํธ ์ฐธ์ฌ ๋ฐ ๊ฒฐ๊ณผ ํ์ธ์ ์ต์ ํ๋ UI๋ฅผ ์ฌ์ฉํ ์ ์์.
- ๊ธฐ์กด์ ํฐ์ผํ /์ด๋ฒคํธ ์์คํ ์ ์ฐธ์ฌ์์ ์์์ ์๋ต ์๊ฐ์ ๊ณต๊ฐํ์ง ์์.
- 59์ด๋ ์ค์๊ฐ์ผ๋ก ์์ ์ ์์์ ๋ค๋ฅธ ์ฐธ์ฌ์๋ค์ ํด๋ฆญ ์๊ฐ์ ํ์ธํ ์ ์์ด, ๊ณต์ ์ฑ๊ณผ ํฌ๋ช ์ฑ์ ๋ณด์ฅ.
- ์ฌ์ฉ์ ๊ฐ ์ค์๊ฐ ์ฑํ ๊ธฐ๋ฅ์ ํตํด ๋๊ธฐ ์ค์๋ ์ฐธ์ฌ ๊ฒฝํ์ ํฅ์.
- ๋๊ท๋ชจ ํธ๋ํฝ ์ฒ๋ฆฌ์ ๋์์ฑ ๋ฌธ์ ๋ฅผ ๊ณ ๋ คํด ์น์์ผ(WebSocket) ๊ธฐ์ ์ ๋์ .
- ์ค์๊ฐ ์์ ๋ฐ์ดํฐ์ ์ฑํ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๋ถ๋ฆฌํ์ฌ ํด๋ผ์ด์ธํธ์ ์ ๊ณต.
- ์ด๊ธฐ์๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ๋จ์ผ ์๋ฒ์์ ์ฒ๋ฆฌํ์ฌ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐ ๋ฐ ํ ์คํธ ์งํ.
- ์ฑ๋ฅ ํ ์คํธ ๊ฒฐ๊ณผ: ์ด๋น 1,500๋ช ์ฒ๋ฆฌ ๊ฐ๋ฅ.
- ์ด๋ฒคํธ ์ ์ฐฉ์ ๋ก์ง์ ๋ณ๋ ์๋น์ค๋ก ๋ถ๋ฆฌํ์ฌ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ฅ ๊ฐ๋ฅํ๋๋ก ์ค๊ณ.
- ์ฑํ ์๋น์ค๋ ๋ถ๋ฆฌํ์ฌ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ก ์๋ฒ ๋ถํ ๊ฐ์.
- ์ฑ๋ฅ ํ ์คํธ ๊ฒฐ๊ณผ: ์ด๋น 3,500๋ช ์ด์ ๋์ ์ฒ๋ฆฌ ๊ฐ๋ฅ.
- Redis ๋ถ์ฐ๋ฝ์ ํ์ฉํ์ฌ ์ด๋ฒคํธ ์ฐธ์ฌ ์ ๋ฐ์ํ๋ ๋์์ฑ ๋ฌธ์ ํด๊ฒฐ.
- ๋ค์์ ์ฌ์ฉ์๊ฐ ๋์ผํ ์์(์์ ๋ฐ์ดํฐ)์ ์ ๊ทผํ๋๋ผ๋ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์ง.
- **์น์์ผ(WebSocket)**์ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ ์๋ฐฉํฅ ์ค์๊ฐ ํต์ ๊ตฌํ.
- ์์ ๋ฐ์ดํฐ๋ ๋ฐ๋ฆฌ์ด ๋จ์๋ก ์ ๋ฐ์ดํธ๋์ด ์ฌ์ฉ์์๊ฒ ์ ํํ ์ ๋ณด๋ฅผ ์ ๊ณต.
- ์ฑํ ๋ฉ์์ง๋ ๋ฎ์ ๋ ์ดํด์๋ก ์ ์ก๋์ด ๋๊ธฐ์ ๊ฐ ์ํํ ์ํต ์ง์.
์ํคํ ์ฒ ์ค๊ณ๋ ์ด๊ธฐ ๋ชจ๋๋ฆฌํฑ์์ MSA๋ก ์ ํํ์ฌ ์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ์ ์ต์ ํํ์ต๋๋ค.
- ์ด๊ธฐ ์ค๊ณ: ๋ชจ๋ ๊ธฐ๋ฅ(์์ ์ฒ๋ฆฌ, ์ฑํ , ์ ์ ๊ด๋ฆฌ)์ ๋จ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ตฌํ.
- ์ฑ๋ฅ:
- ์ด๋น 1,000๋ช ์ ํธ๋ํฝ์ ์ฒ๋ฆฌ ๊ฐ๋ฅ(K6 ํ ์คํธ ๊ธฐ์ค).
- ํ๊ณ:
- ๊ธฐ๋ฅ ํ์ฅ ์ ๋จ์ผ ์๋ฒ์ ๋ถํ ์ฆ๊ฐ.
- ์ฑํ ๊ณผ ์์ ์ฒ๋ฆฌ๊ฐ ์์ผ ๋๊ธฐ ์๊ฐ์ด ์ฆ๊ฐํ ๊ฐ๋ฅ์ฑ.
- ์ด๋ฒคํธ ์ฒ๋ฆฌ ์๋น์ค์ ์ฑํ
์๋น์ค๋ฅผ ๋ณ๋๋ก ๋ถ๋ฆฌ.
- ์ด๋ฒคํธ ์ฒ๋ฆฌ ๋ก์ง์ ๋น๋๊ธฐ๋ก ๋์ํ๋ฉฐ, Redis๋ฅผ ํตํด ์์ฒญ์ ๊ด๋ฆฌ.
- ์ฑํ ์ ๋ ๋ฆฝ์ ์ธ ์น์์ผ ์๋ฒ์์ ์ฒ๋ฆฌ.
- ์ฑ๋ฅ:
- ์ด๋น 3,400๋ช ์ด์ ์ฒ๋ฆฌ ๊ฐ๋ฅ(K6 ํ ์คํธ ๊ธฐ์ค).
- ์ด์ :
- ๊ธฐ๋ฅ ํ์ฅ ๋ฐ ์ ์ง๋ณด์๊ฐ ์ฉ์ด.
- ๊ฐ ์๋น์ค๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ฅ ๊ฐ๋ฅ.
๋ก๊ทธ์ธ ๋ฐ ํ ๊ธ ์ ํ | ์ด๋ฒคํธ ์์ธ ํ์ด์ง |
---|---|
![]() |
![]() |
๋ง์ดํ์ด์ง | ๊ฒ์์ฐฝ |
---|---|
![]() |
![]() |
์ด๋ฒคํธ ์ฐธ์ฌ (๋น์ฒจ) | ์ด๋ฒคํธ ์ฐธ์ฌ (๋ฏธ๋น์ฒจ) |
---|---|
![]() |
![]() |
๋น์ฒจ์ ์ ๋ณด ์ ๋ ฅ |
---|
![]() |
์ด๋ฒคํธ ์์ฑ | ๋น์ฒจ์ ํ์ธ |
---|---|
![]() |
![]() |
- ์ด๋น ์ฒ๋ฆฌ ๊ฐ๋ฅ ์์ฒญ ์: 1,000๋ช
- ํ ์คํธ ํ๊ฒฝ: ๋จ์ผ ์๋ฒ, 4 vCPU, 8GB RAM
- ์ด๋น ์ฒ๋ฆฌ ๊ฐ๋ฅ ์์ฒญ ์: 2,000๋ช ์ด์
- ํ ์คํธ ํ๊ฒฝ: ๋ค์ค ์๋ฒ, Redis ์บ์ฑ ํ์ฉ, ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํตํ ์ฑ๋ฅ ์ต์ ํ
- Lock ํ๋/ํด์ ํ๊ท ์๊ฐ: 1ms ์ดํ
- 6,000๋ช ์ด์์ด ๋์์ ์ ๊ทผํ๋ ํ๊ฒฝ์์๋ ๋ฐ์ดํฐ ์ถฉ๋ ์์ด ์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌ.
๋ถ๋ฅ | ์ฌ์ฉ ๊ธฐ์ |
---|---|
ํ๋ก ํธ์๋ | Next.js, WebSocket API |
๋ฐฑ์๋ | Spring Boot |
๋ฐ์ดํฐ๋ฒ ์ด์ค | MySQL, Redis |
ํ ์คํธ | K6 |
๋ฐฐํฌ | AWS, Docker |
59์ด๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ์ ์ ๊ฐ์ ์ ๋ฐํ์ผ๋ก ๋ ์ฐฝ์ ์ด๊ณ ์ค์๊ฐ์ฑ์ ์ต์ ํ๋ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค:
- ์ค์๊ฐ ์์ ์ ๊ณต: ๋ฐ๋ฆฌ์ด ๋จ์๋ก ์ ๋ฐ์ดํธ๋๋ ์ ๋ฐํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณต.
- ๋๊ท๋ชจ ํธ๋ํฝ ์ฒ๋ฆฌ: Redis์ MSA๋ฅผ ํ์ฉํด ์ด๋น 2,000๋ช ์ด์ ์ฒ๋ฆฌ ๊ฐ๋ฅ.
- ์ค์๊ฐ ์ฑํ : ์น์์ผ ๊ธฐ๋ฐ์ผ๋ก ๋ฎ์ ๋ ์ดํด์์ ์ค์๊ฐ ๋ํ ์ง์.
- ํฌ๋ช ์ฑ๊ณผ ๊ณต์ ์ฑ: ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์์๊ฒ ํฌ๋ช ํ๊ฒ ๊ณต๊ฐ.