π οΈBackend
[Backend] μ±λ₯ μ΅μ νλ?
junbin2
2025. 4. 27. 01:49
μ±λ₯ μ΅μ νλ?
- μλ²μ νΈλν½μ΄ λͺ°λ¦΄ λ λΉ λ₯΄κ³ μμ μ μΈ μλΉμ€λ₯Ό μ 곡νκΈ° μν΄ μ±λ₯μ κ°μ νλ μμ μ μλ―Ένλ€.
- μ¦, ν΄λΌμ΄μΈνΈκ° μλ²μ μμ²μ 보λ΄κ³ μλ΅μ 보λ΄λ κ³Όμ μμ λ λΉ λ₯΄κ³ μμ μ μΈ μλΉμ€ μ 곡μ μν΄μμ΄λ€.
- μλ²λ κ²°κ΅ λ€νΈμν¬λ₯Ό ν΅ν΄ ν΅μ μ νλ©°, μ΄ κ³Όμ μμ λ³Ό μ μλ λνμ μΈ μ΅μ νλ 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λ‘ λ¬΄μ€λ¨ λ°°ν¬
- λ΄λΉ: λ°±μλ κ°λ°μ
β κ²°λ‘
- μλ² μ΅μ νλ κ²°κ΅ λ§μ μ¬μ©μλ€μ νΈλν½μΌλ‘ μΈν΄ λ°μνλ λ¬Έμ λ₯Ό ν΄κ²°ν΄ λκ°λ κ³Όμ μμ μ μ μλ€.
- μμ μΈ κ°μ§ μμλ μ κΈ°μ μΌλ‘ μ°κ²°μ΄ λμ΄ μμΌλ©°, νλνλκ° μλ² μ±λ₯μ μν₯μ μ£Όκ² λλ€.
- ν° νλ‘ λ³΄λ©΄, μλ² μ΅μ ν = νλμ¨μ΄ + λ€νΈμν¬ + μ ν리μΌμ΄μ μ΄κ² λλ€.
- ν° μΉ΄ν κ³ λ¦¬ μμλ λ€μν μ΅μ ν λ°©λ²μ΄ μμΌλ, ν° νμ κΈ°μ μΌλ‘ μ΅μ ν λ°©λ²μ μ°Ύμκ°λκ²μ΄ ν΅μ¬μ΄λ€.