λͺ¨λ리μ€
λͺ¨λλ¦¬μ€ (Monolith)
μννΈμ¨μ΄μ λͺ¨λ κ΅¬μ± μμκ° νλμ μμ© νλ‘κ·Έλ¨μΌλ‘ ν΅ν©λ ꡬ쑰
λͺ¨λ리μ€μ μμ΄ ννμ "Monolith" μ
λλ€.
μ΄λ κ±°λν λ¨μΌ λλ©μ΄λ ꡬ쑰물μ μλ―Ένλ©°, κ³ λ 건μΆλ¬Όμ΄λ μμ° νμ±λ¬Όμ μ§μΉν λ μ£Όλ‘ μ¬μ©λ©λλ€.
Mono λ "νλ" λλ "λ¨μΌ"μ μλ―Έν©λλ€
λͺ¨λ Έ(Mono)μ μ€ν λ μ€(Stereo)μ μ°¨μ΄
λͺ¨λ
Έμ μ€ν
λ μ€λ μ€λμ€ μ νΈμ μ±λ μμ κ΄λ ¨λ μ©μ΄μ
λλ€:
β’
λͺ¨λ
Έ(Mono): λ¨μΌ μ±λ μ€λμ€ μ νΈλ₯Ό μλ―Έν©λλ€. λͺ¨λ μλ¦¬κ° νλμ μ±λλ‘ ν΅ν©λμ΄ μ¬μλ©λλ€.
β’
μ€ν
λ μ€(Stereo): λ κ°μ λ
립λ μ±λ(μ’μ°)μ μ¬μ©νλ μ€λμ€ μ νΈλ₯Ό μλ―Έν©λλ€. μ΄λ λ λμ μμ₯κ³Ό 곡κ°κ°μ μ 곡ν©λλ€.
λͺ¨λ
Έλ λ¨μνκ³ μ§μ μ μΈ μ리λ₯Ό μ 곡νλ λ°λ©΄, μ€ν
λ μ€λ λ νλΆνκ³ μ
체μ μΈ μν₯ κ²½νμ μ 곡ν©λλ€.
λͺ¨λ리μ€
MSA
MSA (Microservice Architecture)
μ ν리μΌμ΄μ
μ μκ³ λ
립μ μΈ μλΉμ€λ€μ λͺ¨μμΌλ‘ ꡬμ±νλ μν€ν
μ²
β’
MSA ꡬ쑰
β’
μΌνλͺ° μ¬μ΄νΈ μμ
β’
MSA ꡬμ±μμ
MSA ꡬ쑰
μ λ€μ΄μ΄κ·Έλ¨μ MSAμ κΈ°λ³Έμ μΈ κ΅¬μ‘°λ₯Ό 보μ¬μ€λλ€:
β’
ν΄λΌμ΄μΈνΈ: μ¬μ©μ λλ λ€λ₯Έ μμ€ν
μμ μμ²μ 보λ
λλ€.
β’
API Gateway: λͺ¨λ ν΄λΌμ΄μΈνΈ μμ²μ λ¨μΌ μ§μ
μ μν μ ν©λλ€.
β’
λ§μ΄ν¬λ‘μλΉμ€ (Service A, B, C): κ°κ° λ
립μ μΌλ‘ λμνλ μμ μλΉμ€λ€μ
λλ€.
β’
λ°μ΄ν°λ² μ΄μ€: κ° μλΉμ€λ μ체 λ°μ΄ν°λ² μ΄μ€λ₯Ό κ°μ§ μ μμ΅λλ€.
MSA
Spring κΈ°λ° MSA κ°λ° κΈ°μ
Springμ λ€μν λͺ¨λκ³Ό ν΄μ ν΅ν΄ MSA κ°λ°μ μ§μνμ¬, κ° λ§μ΄ν¬λ‘μλΉμ€κ° λ
립μ μΌλ‘ λμνλ©΄μλ μλ‘ μνν ν΅μ νκ³ νλ ₯ν μ μκ² ν©λλ€.
β’
Spring Boot
β’
Spring Cloud
β’
Spring Data
β’
Spring Security
β’
Spring Kafka
Spring Boot
Spring Bootλ MSA κ°λ°μ ν΅μ¬μΌλ‘, λ
립μ μΌλ‘ λ°°ν¬ κ°λ₯ν λ§μ΄ν¬λ‘μλΉμ€λ₯Ό μ½κ² λ§λ€ μ μλλ‘ μ§μν©λλ€. λ΄μ₯ μΉ μλ²λ₯Ό ν¬ν¨νμ¬ μλΉμ€ μ€νμ νμν νκ²½μ μλμΌλ‘ ꡬμ±νλ―λ‘ μ€μ μ κ°μννκ³ λΉ λ₯Έ κ°λ°μ΄ κ°λ₯ν©λλ€.
Spring Cloud
Spring Cloudλ MSAλ₯Ό μν΄ Springμμ μ 곡νλ μ¬λ¬ λͺ¨λμ ν¬ν¨νκ³ μμ΄, κ° μλΉμ€ κ° ν΅μ , κ΅¬μ± κ΄λ¦¬, μλΉμ€ λμ€μ»€λ²λ¦¬, λ‘λ λ°Έλ°μ± λ± λΆμ° μμ€ν
μμ νμν λ€μν κΈ°λ₯μ μ 곡ν©λλ€.
Spring κΈ°λ° MSA κ°λ°

