์ฑ๋ฅ ์ต์ ํ๋?
- ์๋ฒ์ ํธ๋ํฝ์ด ๋ชฐ๋ฆด ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ธ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์ฑ๋ฅ์ ๊ฐ์ ํ๋ ์์ ์ ์๋ฏธํ๋ค.
- ์ฆ, ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต์ ๋ณด๋ด๋ ๊ณผ์ ์์ ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ธ ์๋น์ค ์ ๊ณต์ ์ํด์์ด๋ค.
- ์๋ฒ๋ ๊ฒฐ๊ตญ ๋คํธ์ํฌ๋ฅผ ํตํด ํต์ ์ ํ๋ฉฐ, ์ด ๊ณผ์ ์์ ๋ณผ ์ ์๋ ๋ํ์ ์ธ ์ต์ ํ๋ 3๊ฐ์ง๊ฐ ์๋ค.
๐งฑ1. ํ๋์จ์ด ์ต์ ํ (Infastructure ์ธก๋ฉด)
- ์ค์ผ์ผ ์ : CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ ๋ฑ ํ ๋์ ์๋ฒ ์ฌ์์ ์ ๊ทธ๋ ์ด๋.
- ์ค์ผ์ผ ์์: ์๋ฒ์ ์๋ฅผ ๋๋ ค ๋ถํ๋ฅผ ๋ถ์ฐ (์ํ ํ์ฅ).
- Auto Scaling, Load Balancer(HW) ๋ ์ฌ๊ธฐ์ ํฌํจ.
- ์์: EC2 ์ธ์คํด์ค ํ์ ๋ณ๊ฒฝ, ์๋ฒ ๊ฐ์ ์ฆ๊ฐ
- ๋ด๋น: ์ธํ๋ผ ์์ง๋์ด, ํด๋ผ์ฐ๋ ์์ง๋์ด
๐ 2. ๋คํธ์ํฌ ์ต์ ํ (OSI ๊ณ์ธต ๊ธฐ๋ฐ, ์ ์ก ํ์ง ํฅ์)
- NIC ํ๋, ์ปค๋ ํ๋ผ๋ฏธํฐ ์กฐ์ (net.core, tcp_* ๋ฑ)
- TCP/UDP ์ค์ ์ต์ ํ, MTU, Window size ์ค์
- CDN, ํ๋ก์ ์๋ฒ ํ์ฉ (ํธ๋ํฝ ๋ถ์ฐ)
- ๋ฐฉํ๋ฒฝ/๋ผ์ฐํ /ํจํท ํํฐ๋ง ์ค์
- ์์: Cloudflare๋ก ์ ์ ๋ฆฌ์์ค ์บ์ฑ, TCP Keep-Alive ์ ์ฉ
- ๋ด๋น: ๋คํธ์ํฌ ์์ง๋์ด
๐ ๏ธ 3. ์ ํ๋ฆฌ์ผ์ด์ ์ต์ ํ (์ํํธ์จ์ด ๋ก์ง & ๋ด๋ถ ๊ตฌ์ฑ ์ต์ ํ)
- NGINX: ๋ฆฌ๋ฒ์ค ํ๋ก์, ์บ์ ์ค์ , gzip ์์ถ, worker ์ ์ค์ ๋ฑ
- Spring: ๋น์ฆ๋์ค ๋ก์ง ๊ฐ์ , ๋น๋๊ธฐ ์ฒ๋ฆฌ, ์ฐ๋ ๋ํ ์ค์ , @Transactional ๋ฒ์ ์ต์ ํ
- DB: ์ปค๋ฅ์ ํ ์ค์ (HikariCP), ์ธ๋ฑ์ฑ, N+1 ๋ฌธ์ ํด๊ฒฐ, ์ฟผ๋ฆฌ ํ๋
- ์ ๋ฐ์ ๊ตฌ์ฑ: API ์๋ต ์บ์ฑ, WebSocket ์ต์ ํ, CI/CD๋ก ๋ฌด์ค๋จ ๋ฐฐํฌ
- ๋ด๋น: ๋ฐฑ์๋ ๊ฐ๋ฐ์
โ ๊ฒฐ๋ก
- ์๋ฒ ์ต์ ํ๋ ๊ฒฐ๊ตญ ๋ง์ ์ฌ์ฉ์๋ค์ ํธ๋ํฝ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ๋๊ฐ๋ ๊ณผ์ ์์ ์ ์ ์๋ค.
- ์์ ์ธ ๊ฐ์ง ์์๋ ์ ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐ์ด ๋์ด ์์ผ๋ฉฐ, ํ๋ํ๋๊ฐ ์๋ฒ ์ฑ๋ฅ์ ์ํฅ์ ์ฃผ๊ฒ ๋๋ค.
- ํฐ ํ๋ก ๋ณด๋ฉด, ์๋ฒ ์ต์ ํ = ํ๋์จ์ด + ๋คํธ์ํฌ + ์ ํ๋ฆฌ์ผ์ด์ ์ด๊ฒ ๋๋ค.
- ํฐ ์นดํ ๊ณ ๋ฆฌ ์์๋ ๋ค์ํ ์ต์ ํ ๋ฐฉ๋ฒ์ด ์์ผ๋, ํฐ ํ์ ๊ธฐ์ ์ผ๋ก ์ต์ ํ ๋ฐฉ๋ฒ์ ์ฐพ์๊ฐ๋๊ฒ์ด ํต์ฌ์ด๋ค.
'๐ ๏ธBackend' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Backend] ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ์ต์ ํ ์ข ๋ฅ (0) | 2025.04.27 |
---|