-
[MSA] ν΄λ£¨ν° MSA λμ νκ³STOVE DEVCAMP 3κΈ°/MSA 2023. 3. 10. 02:46
π MSA λμ λ°°κ²½
νλ‘μ νΈ μμ μ λ°±μλ νμλ€κ³Ό μ€μ μ μΌλ‘ κ³ λ €ν 3κ°μ§ μ¬ν
- λ°±μλ νμλ€ κ°μ ν¨μ¨μ μΈ μμ μν
- ꡬν κΈ°λ₯λ³ μμ‘΄μ±μ μ€μ¬ μμ λ‘μ΄ κΈ°μ μ ν
- μλΉμ€ κ·λͺ¨κ° 컀μ§μ λ°λΌ κΈ°λ₯ λ° μλ² νμ₯μ΄ μ¬μ΄ μν€ν μ² κ΅¬μ±
μ΄λ₯Ό λ°νμΌλ‘ μλΉμ€λ³ λ 립λ ꡬμ±μ μ 곡νλ MSA κΈ°λ° μν€ν μ² λμ νκΈ°λ‘ ν¨
π MSA λμ μ ν΅ν κΈ°λν¨κ³Ό
μμ ν¨μ¨μ±
- κ° μλΉμ€λ λ 립λ λ°°ν¬ λ¨μλ₯Ό κ°μ§λ―λ‘, λ³λ ¬μ μΈ μμ κ³Ό ν μ€νΈκ° κ°λ₯ν¨
κΈ°μ μ νμ μμ¨μ±
- μ 곡νκ³ μ νλ μλΉμ€(νμ/νΈμ/μλ¦Ό)κ° λ€μνκ³ κ°λ³ λ§μ΄ν¬λ‘μλΉμ€λ‘ ꡬμ±λμ΄ μμ λ‘μ΄ κΈ°μ μ€ν μ μ μ΄ κ°λ₯ν¨
μλ² νμ₯μ±
- μμ λ€νΈμν¬ μλΉμ€μΈ 'ν΄λ£¨ν°'μμ κ°μ₯ νΈλν½μ΄ λ§μ κ²μΌλ‘ μμλλ κΈ°λ₯μ νΈμ μμ± λ° νΌλ μ‘°νμ΄λ―λ‘, ν΄λΉ κΈ°λ₯μ ν¬ν¨νκ³ μλ νΉμ μλ²μ νμ₯(scale-out)μ΄ μ©μ΄ν¨
μλ² κ°μ©μ±
- κ° μλΉμ€λ λ 립μ μΌλ‘ ꡬμ±λμ΄ λ°°ν¬λλ―λ‘, νΉμ μλ²μμμ μ₯μ μ ν λ°©μ§ κ°λ₯ν¨
π MSA λμ μ΄ν κΈ°λν¨κ³Ό κ²μ¦ - μ°Έκ³ ) ν΄λ£¨ν° MSA λμ κ³Όμ
1) μμ ν¨μ¨μ±μ΄ μ¦λν¨
- ν΄λ£¨ν°κ° μ 곡νλ ν΅μ¬ κΈ°λ₯μ μ€μ¬μΌλ‘ μ μ / μλ¦Ό / νΈμ κ°κ°μ κ°λ³ λ§μ΄ν¬λ‘μλΉμ€λ‘ ꡬμ±νμμ
- λ°λΌμ νλμ μλ²λ νλμ λλ©μΈμ λν κΈ°λ₯λ§ ν¬ν¨νκ³ μμ΄, κ° μλΉμ€λ λ 립λ λ°°ν¬ λ¨μλ₯Ό κ°μ§
- κ°λ³ μλΉμ€μ κΈ°λ₯ ꡬνμ λμμ μ§ννμ¬ λΉ λ₯Έ ꡬνμ΄ κ°λ₯νκ³ , ꡬν μ΄νμλ κ° μλΉμ€λ³ κΈ°λ₯μ λν΄ λͺ¨λ°μΌκ³Ό ν μ€νΈκ° κ°λ₯νμ
- κ°λ³ κΉ λ ν¬μ§ν 리λ₯Ό κ°μ§λ―λ‘, λ²κ·Έ λ°μ μ μμ μ΄ νμν λΆλΆμ λΉ λ₯΄κ² κ³ μΉ μ μμμ
2) κΈ°μ μ νμ μμ¨μ±μ μ 곡ν¨
- κ° λ§μ΄ν¬λ‘μλΉμ€λ€μ λ³λμ μλ²λ‘ ꡬμ±λμ΄ μμ΄ κ΅¬ννλ κΈ°λ₯μ λ°λΌ μ ν©ν κΈ°μ μ€ν μ μ μ΄ κ°λ₯νμ
- ꡬ체μ μΌλ‘ νμ¬ κ΅¬μ±λ μλ²λ€μ μμλ‘ μ΄ν΄λ³΄λ©΄, μλμ κ°μ΄ νμν κΈ°λ₯μ μ ν©ν κΈ°μ μ νμ΄ κ°λ₯νμ
- λ°μ΄ν°λ² μ΄μ€
- μ μ μλΉμ€ & νΈμ μλΉμ€μ κ²½μ° μ¬μ©μ κ΄κ³ μ μ₯ λ° μ‘°νμ λ μ ν©ν κ·Έλν λ°μ΄ν°λ² μ΄μ€μΈ Neo4j μ¬μ©ν¨
- μλ¦Ό μλΉμ€μ κ²½μ° μλ¦Ό λ°μ΄ν°μ νΉμ§μ λ μ ν©ν λ¬Έμ λ°μ΄ν°λ² μ΄μ€μΈ MongoDB μ¬μ©ν¨
- μΉ νλ μμν¬
- API κ²μ΄νΈμ¨μ΄μ κ²½μ° spring-webflux κΈ°λ°μ Spring Cloud Gatewayλ₯Ό μ¬μ©ν¨
- μ΄μΈμ μλΉμ€λ€μ spring-mvc κΈ°λ°μ Spring Bootλ₯Ό μ¬μ©ν¨
- λ°μ΄ν°λ² μ΄μ€
- λ λμκ° μλμ κ°μ κ²½μ°μλ μ μ©ν¨
- λ§μ½ ν΄λ£¨ν°μ κΈ°λ₯ νμ₯μΌλ‘ μ€μκ° νΈλ λ, μ±ν
κΈ°λ₯μ΄ μΆκ°λλ€λ©΄?
- ν΄λΉ κΈ°λ₯λ€λ λ³λμ λλ©μΈμΌλ‘ λΆλ₯λμ΄ κ°λ³ λ§μ΄ν¬λ‘μλΉμ€λ‘ ꡬμ±λλ―λ‘, κ° κΈ°λ₯μ μ ν©ν μΈμ΄ λ° νλ μμν¬ λ±μ μμ λ‘κ² μ νν΄ κ΅¬νν μ μμ
- κΈ°μ‘΄ μλΉμ€μ λ€λ₯Έ κΈ°μ μ΄ λ μ ν©ν΄ κΈ°μ μ€νμ λ°κΏμΌ νλ μν©μ΄ μ¨λ€λ©΄?
- λ€λ₯Έ μλΉμ€μ μν₯μμ΄ ν΄λΉ λ§μ΄ν¬λ‘μλΉμ€λ§ λ€λ₯Έ μΈμ΄ λ° νλ μμν¬λ‘ λ³κ²½μ΄ κ°λ₯ν¨
- λ§μ½ ν΄λ£¨ν°μ κΈ°λ₯ νμ₯μΌλ‘ μ€μκ° νΈλ λ, μ±ν
κΈ°λ₯μ΄ μΆκ°λλ€λ©΄?
3) μλ²μ νμ₯μ± μ 곡ν¨
- νμ¬ λ§μ΄ν¬λ‘μλΉμ€λ€μ΄ μ¬λ΄ μΈνλΌ νκ²½μΈ μΏ λ²λ€ν°μ€ ν΄λ¬μ€ν°μ Podμ λ°°ν¬λ μνμ
- μΏ λ²λ€ν°μ€λ CPU μ¬μ©λμ΄λ κΈ°ν λ©νΈλ¦μ 체ν¬νμ¬ Podμ κ°μλ₯Ό μ€μΌμΌνλ κΈ°λ₯μΈ HPA(Horizontal Pod Autoscaling)λ₯Ό μ 곡ν¨
- λ°λΌμ νΈλν½μ΄ λ§μ κ²½μ°, ν΄λΉ κΈ°λ₯μ ν¬ν¨ν μλ²μ νμ₯(scale-out)μ΄ μ¬μ
- μλ₯Ό λ€μ΄, SNSμΈ ν΄λ£¨ν°μμ κ°μ₯ νΈλν½μ΄ λ§μ κ²μΌλ‘ μμλλ κΈ°λ₯μ νΈμ μμ± λ° νΌλ μ‘°νμ΄λ―λ‘, ν΄λΉ κΈ°λ₯μ ν¬ν¨νκ³ μλ νΈμ μλ²μ νμ₯(scale-out)μ΄ μ¬μ
4) μλ²μ κ°μ©μ± μ 곡ν¨
- κ° μλΉμ€λ λ
립μ μΌλ‘ ꡬμ±λμ΄ λ°°ν¬λλ―λ‘, νΉμ μλ²μμ μ₯μ λ°μ μ λ€λ₯Έ μλ²μ μν₯μ μ£Όμ§ μμ
- μ΄λ μ₯μ λ°μ μλ²κ° λ€λ₯Έ μλ²μ μν΄ νΈμΆλ κ²½μ°μλ νΈμΆν μλ² μͺ½μ timeout μ€μ μ΄λ circuit breaker λ±μ μ μ©μ΄ λ³λλ‘ νμν¨
μ°Έκ³
https://kubernetes.io/ko/docs/tasks/run-application/horizontal-pod-autoscale/
'STOVE DEVCAMP 3κΈ° > MSA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[MSA] Spring Cloud Gatewayλ‘ API κ²μ΄νΈμ¨μ΄ ꡬμΆνκΈ° (0) 2023.03.10 [MSA] ν΄λ£¨ν° MSA λμ κ³Όμ (0) 2023.03.10