λͺ¨λ리μ€
λͺ¨λλ¦¬μ€ (Monolith)
μννΈμ¨μ΄μ λͺ¨λ κ΅¬μ± μμκ° νλμ μμ© νλ‘κ·Έλ¨μΌλ‘ ν΅ν©λ ꡬ쑰
λͺ¨λ리μ€μ μμ΄ ννμ "Monolith" μ
λλ€.
μ΄λ κ±°λν λ¨μΌ λλ©μ΄λ ꡬ쑰물μ μλ―Ένλ©°, κ³ λ 건μΆλ¬Όμ΄λ μμ° νμ±λ¬Όμ μ§μΉν λ μ£Όλ‘ μ¬μ©λ©λλ€.
Mono λ "νλ" λλ "λ¨μΌ"μ μλ―Έν©λλ€
λͺ¨λ Έ(Mono)μ μ€ν λ μ€(Stereo)μ μ°¨μ΄
λͺ¨λ
Έμ μ€ν
λ μ€λ μ€λμ€ μ νΈμ μ±λ μμ κ΄λ ¨λ μ©μ΄μ
λλ€:
β’
λͺ¨λ
Έ(Mono): λ¨μΌ μ±λ μ€λμ€ μ νΈλ₯Ό μλ―Έν©λλ€. λͺ¨λ μλ¦¬κ° νλμ μ±λλ‘ ν΅ν©λμ΄ μ¬μλ©λλ€.
β’
μ€ν
λ μ€(Stereo): λ κ°μ λ
립λ μ±λ(μ’μ°)μ μ¬μ©νλ μ€λμ€ μ νΈλ₯Ό μλ―Έν©λλ€. μ΄λ λ λμ μμ₯κ³Ό 곡κ°κ°μ μ 곡ν©λλ€.
λͺ¨λ
Έλ λ¨μνκ³ μ§μ μ μΈ μ리λ₯Ό μ 곡νλ λ°λ©΄, μ€ν
λ μ€λ λ νλΆνκ³ μ
체μ μΈ μν₯ κ²½νμ μ 곡ν©λλ€.
λͺ¨λλ¦¬μ€ μν€ν μ²λ‘ ꡬνλ μΌνλͺ° μ¬μ΄νΈ ꡬ쑰λ
λͺ¨λλ¦¬μ€ μν€ν
μ²λ₯Ό μ¬μ©ν μΌνλͺ° μ¬μ΄νΈμ ꡬ쑰λ λ€μκ³Ό κ°μ΅λλ€:
graph TD A[μΌνλͺ° μ ν리μΌμ΄μ ] --> B[μ¬μ©μ μΈν°νμ΄μ€] A --> C[μν κ΄λ¦¬] A --> D[μ£Όλ¬Έ μ²λ¦¬] A --> E[κ²°μ μμ€ν ] A --> F[μ¬κ³ κ΄λ¦¬] A --> G[νμ κ΄λ¦¬] A --> H[κ²μ μμ§] A --> I[λ°μ΄ν°λ² μ΄μ€]
Mermaid
볡μ¬
μ΄ κ΅¬μ‘°μμ λͺ¨λ κΈ°λ₯μ΄ νλμ μ ν리μΌμ΄μ
λ΄μ ν΅ν©λμ΄ μμ΅λλ€. κ° λͺ¨λμ κΈ΄λ°νκ² μ°κ²°λμ΄ μμΌλ©°, μ 체 μμ€ν
μ λ¨μΌ λ°μ΄ν°λ² μ΄μ€λ₯Ό 곡μ ν©λλ€.
μ΄λ¬ν ꡬ쑰μ νΉμ§:
β’
λ¨μμ±: μ 체 μμ€ν
μ΄ νλμ λ¨μλ‘ κ°λ°λκ³ λ°°ν¬λ©λλ€.
β’
μΌκ΄μ±: λͺ¨λ κΈ°λ₯μ΄ λμΌν κΈ°μ μ€νμ μ¬μ©ν©λλ€.
β’
ν΅ν©λ λ°μ΄ν° κ΄λ¦¬: λͺ¨λ λͺ¨λμ΄ λμΌν λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νμ¬ λ°μ΄ν° μΌκ΄μ±μ μ μ§ν©λλ€.
β’
μ±λ₯: λͺ¨λ κ° ν΅μ μ΄ λ΄λΆμ μΌλ‘ μ΄λ£¨μ΄μ Έ λΉ λ₯Έ μλ΅ μκ°μ μ 곡ν μ μμ΅λλ€.
κ·Έλ¬λ μ΄ κ΅¬μ‘°λ μμ€ν
μ΄ μ»€μ§μλ‘ μ μ§λ³΄μμ νμ₯μ΄ μ΄λ €μμ§ μ μμ΅λλ€.
λͺ¨λλ¦¬μ€ μν€ν μ²μ μ₯λ¨μ
μ₯μ | λ¨μ |
Β·κ°λ° λ° λ°°ν¬κ° λ¨μν¨Β·μ΄κΈ° κ°λ° μλκ° λΉ λ¦Β·ν
μ€νΈκ° μλμ μΌλ‘ μ¬μ | Β·κ·λͺ¨ νμ₯μ΄ μ΄λ €μΒ·μ μ§λ³΄μκ° λ³΅μ‘ν΄μ§Β·κΈ°μ μ€ν λ³κ²½μ΄ μ΄λ €μ |
Β·μ 체 μμ€ν
μ΄ν΄κ° μ©μ΄ν¨Β·μ±λ₯ μ΅μ νκ° μ¬μ | Β·λΆλΆμ λ°°ν¬κ° μ΄λ €μΒ·μ₯μ λ°μ μ μ 체 μμ€ν
μ μν₯ |
λͺ¨λλ¦¬μ€ μν€ν
μ²λ λ¨μνκ³ μ§κ΄μ μ΄μ§λ§, μμ€ν
μ΄ μ»€μ§μλ‘ κ΄λ¦¬μ νμ₯μ μ΄λ €μμ κ²ͺμ μ μμ΅λλ€.
MSA (Microservices Architecture) μν€ν μ²
MSAλ λͺ¨λλ¦¬μ€ μν€ν
μ²μ λ¨μ μ 보μνκΈ° μν΄ κ°λ°λ μννΈμ¨μ΄ μ€κ³ λ°©μμ
λλ€.
MSA
MSAλ μ ν리μΌμ΄μ
μ λ
립μ μΌλ‘ κ°λ°, λ°°ν¬, νμ₯ν μ μλ μμ μλΉμ€λ€μ λͺ¨μμΌλ‘ ꡬμ±ν©λλ€.
MSAμ μ£Όμ νΉμ§:
β’
λ
립μ±: κ° μλΉμ€λ λ
립μ μΌλ‘ κ°λ°, λ°°ν¬, νμ₯ κ°λ₯ν©λλ€.
β’
μ μ°μ±: μλΉμ€λ³λ‘ λ€μν κΈ°μ μ€νμ μ¬μ©ν μ μμ΅λλ€.
β’
νμ₯μ±: νμν μλΉμ€λ§ μ νμ μΌλ‘ νμ₯ν μ μμ΅λλ€.
β’
μ₯μ 격리: ν μλΉμ€μ λ¬Έμ κ° μ 체 μμ€ν
μ λ―ΈμΉλ μν₯μ μ΅μνν©λλ€.
MSAλ λͺ¨λ리μ€μ λ¨μ μ ν΄κ²°νμ§λ§, 볡μ‘μ± μ¦κ°μ μλΉμ€ κ° ν΅μ κ΄λ¦¬ λ± μλ‘μ΄ κ³Όμ λ₯Ό κ°μ Έμ΅λλ€.