κ°μ
μ€λ λ λ§μ μ ν리μΌμ΄μ
μ κ³μ° μ€μ¬ (compute-intensive) κ³Όλ λ€λ₯΄κ² λ°μ΄ν° μ€μ¬ (data-intensive)
μ μ΄λ€.
λ°μ΄ν° μ€μ¬ μ ν리μΌμ΄μ
μ 곡ν΅μΌλ‘ νμλ‘ νλ κΈ°λ₯μ μ 곡νλ νμ€ κ΅¬μ± μμ(standard building block)
λ‘ λ§λ λ€.
νμ€ κ΅¬μ± μμλ λ€μκ³Ό κ°λ€.
- λ°μ΄ν°λ² μ΄μ€
- ꡬλ μ ν리μΌμ΄μ μ΄λ λ€λ₯Έ μ ν리μΌμ΄μ μμ λμ€μ λ€μ λ°μ΄ν°λ₯Ό μ°Ύμ μ μκ² λ°μ΄ν°λ₯Ό μ μ₯
- μΊμ
- μ½κΈ° μλ ν₯μμ μν΄ κ°λΉμΌ μν κ²°κ³Όλ₯Ό κΈ°μ΅
- κ²μ μμΈ
- μ¬μ©μκ° ν€μλλ‘ λ°μ΄ν°λ₯΄ γΉκ²μνκ±°λ λ€μν λ°©λ²μΌλ‘ νν°λ§ν μ μκ² μ 곡
- μ€νΈλ¦Ό μ²λ¦¬
- λΉλκΈ° μ²λ¦¬λ₯Ό μν΄ λ€λ₯Έ νλ‘μΈμ€λ‘ λ©μμ§ λ³΄λ΄κΈ°
- μΌκ΄ μ²λ¦¬
- μ£ΌκΈ°μ μΌλ‘ λλμ λμ λ λ°μ΄ν°λ₯Ό λΆμ
μ ν리μΌμ΄μ
λ§λ€ μꡬμ¬νμ΄ λ€λ₯΄κΈ° λλ¬Έμ λ°μ΄ν°λ² μ΄μ€ μμ€ν
λν μ λ§λ€ λ€μν νΉμ±μ κ°μ§κ³ μλ€.
μΊμ±μ μν λ€μν μ κ·Ό λ°©μκ³Ό κ²μ μμΈμ ꡬμΆνλ μ¬λ¬ κ°μ§ λ°©λ² λ±μ΄ μλ€.
μ ν리μΌμ΄μ
μ λ§λ€ λ μ΄λ€ λꡬμ μ΄λ€ μ κ·Ό λ°©μμ΄ μν μ€μΈ μμ
μ κ°μ₯ μ ν©νμ§ μκ°ν΄μΌ νλ€.
μ΄ μ±
μ λ°μ΄ν° μμ€ν
μ μμΉ(principle)
κ³Ό μ€μ©μ±(practivality)
, κ·Έλ¦¬κ³ μ΄λ₯Ό νμ©ν λ°μ΄ν° μ€μ¬ μ ν리μΌμ΄μ
μ κ°λ°νλ λ°©λ²μ λͺ¨λ λ΄κ³ μλ€.
λ°μ΄ν° μμ€ν μ λν μκ°
μΌλ°μ μΌλ‘ λ°μ΄ν°λ² μ΄μ€, ν, μΊμ λ±μ λ§€μ° λ€λ₯Έ λ²μ£Όμ μνλ λκ΅¬λ‘ μκ°νλ€.
λ°μ΄ν°λ² μ΄μ€μ λ©μμ§ νλ νλ©΄μ μΌλ‘ λΉμ·νλλΌλ λ§€μ° λ€λ₯Έ μ κ·Ό ν¨ν΄μ κ°κ³ μμ΄ μλ‘ λ€λ₯Έ μ±λ₯ νΉμ±μ΄ μκΈ° λλ¬Έμ ꡬν λ°©μμ΄ λ§€μ° λ€λ₯Έλ€.
κ·ΈλΌ λͺ¨λ κ²μ μ λ°μ΄ν° μμ€ν μ΄λΌλ ν¬κ΄μ μ©μ΄λ‘ λ¬Άμ΄μΌ ν κΉ?
λ°μ΄ν° μ μ₯κ³Ό μ²λ¦¬λ₯Ό μν μ¬λ¬ μλ‘μ΄ λꡬλ μ΅κ·Όμ λ§λ€μ΄μ‘λ€.
μλ‘μ΄ λꡬλ€μ λ€μν μ¬μ© μ¬λ‘μ μ΅μ ν λμκΈ° λλ¬Έμ λ μ΄μ μ ν΅μ μΈ λΆλ₯μ λ± λ€μ΄λ§μ§ μλλ€.
λ©μμ§ νλ‘ μ¬μ©νλ λ°μ΄ν°μ€ν μ΄μΈ redis, λ°μ΄ν°λ² μ΄μ€μ²λΌ μ§μμ±μ 보μ₯νλ λ©μμ§ νμΈ μνμΉ μΉ΄νμΉ΄κ° μλ€.
μ μ λ λ§μ μ ν리μΌμ΄μ
μ΄ λ¨μΌ λꡬλ‘λ λ μ΄μ λ°μ΄ν° μ²λ¦¬μ μ μ₯ λͺ¨λλ₯Ό λ§μ‘±μν¬ μ μλ κ³Όλνκ³ κ΄λ²μν μꡬμ¬νμ κ°λλ€.
λμ μμ
μ λ¨μΌ λꡬμμ ν¨μ¨μ μΌλ‘ μνν μ μλ νμ€ν¬λ‘ λλκ³ λ€μν λꡬλ€μ μ ν리μΌμ΄μ
μ½λλ₯Ό μ΄μ©ν΄ μλ‘ μ°κ²°νλ€.
λ°μ΄ν° μμ€ν μ΄λ μλΉμ€λ₯Ό μ€κ³ν λ κΉλ€λ‘μ΄ λ¬Έμ κ° λ§μ΄ μκΈ΄λ€.
- λ΄λΆμ μΌλ‘ λ¬Έμ κ° μμ΄λ λ°μ΄ν°λ₯Ό μ ννκ³ μμ νκ² μ μ§νλ €λ©΄ μ΄λ»κ² ν΄μΌν κΉ?
- μμ€ν μ μΌλΆ μ±λ₯μ΄ μ νλλλΌλ ν΄λΌμ΄μΈνΈμ μΌκ΄λκ² μ’μ μ±λ₯μ μ΄λ»κ² μ 곡ν μ μμκΉ?
- λΆν μ¦κ°λ₯Ό λ€λ£¨κΈ° μν΄ μ΄λ ν₯ κ·λͺ¨λ₯Ό νμ₯ν μ μμκΉ?
- μλΉμ€λ₯Ό μν΄ μ’μ API λ μ΄λ€ λͺ¨μ΅μΌκΉ?
λ±μ μ¬λ¬ μμλ€μ κ³ λ €ν΄μΌνλ€.
κ΄λ ¨μμ κΈ°μ μλ ¨λ, κΈ°μ‘΄ μμ€ν
μ μμ‘΄μ±, μ λ¬ μκ° μ²λ, λ€μν μ’
λ₯μ μνμ λν μ‘°μ§μ λ΄μ±, κ·μ μ μ½ λ±μ μμ€ν
μ€κ³μ μν₯μ μ€ μ μλ λ§μ μμλ€.
μ΄λ° μμλ μν©μ ν¬κ² μ’μ°λλ€.
- μ λ’°μ± (Reliability)
νλμ¨μ΄λ μννΈμ¨μ΄ κ²°ν¨. μ΄λ ν λ¬Έμ κ° λ°μνλλΌλ μμ€ν μ μ§μμ μΌλ‘ μ¬λ°λ₯΄κ² λμν΄μΌ νλ€. - νμ₯μ± (Scalability)
μμ€ν μ λ°μ΄ν° μ, νΈλν½ μ, 볡μ‘λκ° μ¦κ°νλ©΄μ μ΄λ₯Ό μ²λ¦¬ν μ μλ μ μ ν λ°©λ²μ΄ μμ΄μΌ νλ€. - μ μ§λ³΄μμ± (Maintainability)
μκ°μ΄ μ§λ¨μ λ°λΌ μ¬λ¬ λ€μν μ¬λλ€μ΄ μμ€ν μμμ μμ μ ν κ²μ΄κΈ° λλ¬Έμ λͺ¨λ μ¬μ©μκ° μμ°μ μΌλ‘ μμ ν μ μμ΄μΌ νλ€.
μ 리
λ°μ΄ν°λ₯Ό μ²λ¦¬νκ³ μ μ₯νκΈ° μν μλ‘μ΄ λꡬλ€μ μ΅κ·Όμ λ§λ€μ΄μ‘κΈ° λλ¬Έμ μ ν΅μ μΈ λͺ©μ μ λ§κ² μ¬μ©λμ§ μκ³ μ¬μ© μ¬λ‘μ λ§κ² μ¬μ©λκ³ μλ€κ³ νλ€. λ§μ§ μμ λ΄ κ²½ν μμμλ νμ€ν νΉμ λꡬλ§μ λ°μ΄ν° μ²λ¦¬μ μ μ₯νλλ° μ°μ΄μ§ μκ³ νμ¬ μλΉμ€μ λ§κ² νμν λꡬλ₯Ό κ° μν©μ λ§κ² μ¬μ©νμ¬ μ€κ³νλ €κ³ λ§μ κ³ λ―Όμ νμλ κ² κ°λ€.
λ°λΌμ, κ° λꡬλ€μ κ°μμ μν μ λ§κ² μ¬μ©λλ κ²μ΄ μλλΌ μ¬μ© μ¬λ‘μ λ§κ², λ¨μΌ λκ΅¬κ° μλ λ€μν κ΅¬μ± μμλ₯Ό κ²°ν©νμ¬ λ°μ΄ν° μμ€ν μ ꡬμ±νλ€κ³ λ§νκ³ μλ κ² κ°λ€.
νμ€ν μ΄λ€ νκ²½μ μλμ§μ λ°λΌ μ΄λ€ λ°μ΄ν° μμ€ν
μ μ€κ³νκ³ μ΄μν μ μλμ§μ λν΄μλ μΆ©λΆν κ³ λ €ν΄μΌν κ² κ°κ³
λ°μ΄ν° μμ€ν
μ΄λ μλΉμ€λ₯Ό μ€κ³νλ κ³Όμ μμ μΌλ§λ κ³ λ―Όμ λ§μ΄ νλμ§μ λ°λΌμ νλ¦¬ν° μ°¨μ΄κ° λ§μ΄ λμ§ μμκΉ
κ·Έλ¦¬κ³ λ°μ΄ν° μμ§λμ΄λ‘μ¨ λ€μν νκ²½μ λ§κ² μμ€ν
μ μ€κ³νλ λ₯λ ₯μ΄ λ§€μ° μ€μνμ§ μμκΉ μκ°μ΄ λ€μλ€.