πŸ“š CS [ComputerScience]/πŸ“š CS λ©΄μ ‘

πŸ“š [CSλ©΄μ ‘] μ›Ή λ©΄μ ‘ 질문 [4] [MSA]

Dbswnstjd 2024. 1. 30. 19:13

1.  MSA μ•„ν‚€ν…μ³λž€ ?

MSA(Micro Serice Architecture) μ΄λž€  1개의 μ‹œμŠ€ν…œμ„ λ…λ¦½μ μœΌλ‘œ 배포 κ°€λŠ₯ν•œ 각각의 μ„œλΉ„μŠ€λ‘œ λΆ„ν• ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 각각의 μ„œλΉ„μŠ€λŠ” APIλ₯Ό 톡해 데이터λ₯Ό μ£Όκ³  λ°›μœΌλ©° 1개의 큰 μ„œλΉ„μŠ€λ₯Ό κ΅¬μ„±ν•©λ‹ˆλ‹€.

λͺ¨λ“  μ‹œμŠ€ν…œμ˜ κ΅¬μ„±μš”μ†Œκ°€ ν•œ ν”„λ‘œμ νŠΈμ— ν†΅ν•©λ˜μ–΄ μžˆλŠ” Monolithic Architecture의 ν•œκ³„μ μ„ κ·Ήλ³΅ν•˜κ³ μž λ“±μž₯ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 

 

- μž₯점

1. 일뢀 μ„œλΉ„μŠ€μ— μž₯μ• κ°€ λ°œμƒν•΄λ„ 전체 μ„œλΉ„μŠ€μ— 영ν–₯을 λΌμΉ˜μ§€ μ•ŠλŠ”λ‹€.

2. 각각의 μ„œλΉ„μŠ€λ“€μ€ μ„œλ‘œ λ‹€λ₯Έ 언어와 ν”„λ ˆμž„μ›Œν¬λ‘œ ꡬ성될 수 μžˆλ‹€.

3. μ„œλΉ„μŠ€μ˜ ν™•μž₯이 μš©μ΄ν•˜λ‹€.

 

- 단점

1. μ„œλΉ„μŠ€κ°€ λΆ„λ¦¬λ˜μ–΄ μžˆμ–΄ ν…ŒμŠ€νŠΈλ‚˜ νŠΈλžœμž­μ…˜ 처리 등이 μ–΄λ ΅λ‹€.

2. μ„œλΉ„μŠ€ 간에 API 둜 ν†΅μ‹ ν•˜κΈ° λ•Œλ¬Έμ— 그에 λŒ€ν•œ λΉ„μš©μ΄ λ°œμƒν•œλ‹€.

3. μ„œλΉ„μŠ€ κ°„μ˜ 호좜이 연속적이기 λ•Œλ¬Έμ— 디버깅 및 μ—λŸ¬ νŠΈλ ˆμ΄μ‹±μ΄ μ–΄λ ΅λ‹€.

 

λ©΄μ ‘μ—μ„œ μ§ˆλ¬Έλ°›μ€ MSA 아킀텍쳐에 λŒ€ν•œ μ§ˆλ¬Έμ„ λ– μ˜¬λ¦¬λ©° μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

 

1. κ°€μž₯ μ΅œκ·Όμ— ν•œ ν”„λ‘œμ νŠΈμ—μ„œ MSA λ₯Ό λ„μž…ν•˜μ§€ μ•Šμ€ 이유 ?

섀계에 λŒ€ν•œ λΉ„μš©μ΄ λ§‰λŒ€ν•œ MSA λ₯Ό λ„μž…ν•˜κΈ°μ—λŠ” 어렀움이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. μ„€μΉ˜ μž₯μ†Œ,IP λ“±κ³Ό IT μžμ›μ˜ 결합도가 맀우 높은 μ‹œμŠ€ν…œμ΄μ—ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μ‹œμŠ€ν…œκ°„ 결합도가 맀우 λ†’μ•˜κΈ° λ•Œλ¬Έμ— MSA λ³΄λ‹€λŠ” Monolithic Architectureλ₯Ό μ΄μš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μœ μ§€λ³΄μˆ˜μ™€ ν™•μž₯μ„± μΈ‘λ©΄μ—μ„œ κ°•ν•œ μž₯점을 κ°–κ³  μžˆλŠ” 것은 λ§žμœΌλ‚˜ νŠΈλžœμž­μ…˜ μ²˜λ¦¬μ™€ λΉ„μš©μ μΈ 문제 λ˜ν•œ μžˆμ—ˆκ³  Spring Boot ν”„λ ˆμž„μ›Œν¬λ§Œμ„ μ‚¬μš©ν•˜κ³  저희 μ‹œμŠ€ν…œμ— μ ν•©ν•œ 아킀텍쳐λ₯Ό κ΅¬μ„±ν•˜λŠ” 것이 더  효율적이라고 μƒκ°ν•˜μ˜€μŠ΅λ‹ˆλ‹€.