본문 바로가기

MSA (MicroServiceArchitecture)/MSA 개요 및 설계 관련

모놀리틱 아키텍처와 MSA

# 모놀리틱 아키텍처 단점

1. [리소스 낭비의 효과] 하나의 서비스로 묶여있기 때문에, 예를들어 USER 서비스만 스케일 아웃으로 서비스를 확장시키면 되는데, 전체 서비스를 스케일링을 해야하는 단점이 존재한다.

2. [종속적 라이브러리의 충돌] 서비스가 분산되어 있지 않기 때문에 필요한 서비스마다 라이브러리를 설치하는게아니라 전체 라이브러리를 설치해야하는 비효율적인 현상 및 라이브러리 충돌현상 발생

3. [작은 수정사항이 있어도 코드 전체를 배포 해야함] 애플리케이션이 커지면 커질수록 빌드 및 테스트 하는데 상당한 시간이 소요됨

위의 단점을 극복하기위해 MSA 즉 MicroServiceArchitect 라는 개념이 생겼으며 하나의 문화로 자리잡아 가는중... 

MSA의 장점

1. 서비스 단위의 빠른 개발

2. 배포용이

3. 서비스 단위 고효율 저비용 (스케일 아웃 구조)

MSA의 단점

1. 분산 시스템 환경에서 테스트, 배포, 트랙잭션 보장 및 관리 복잡

# MSA의 단점을 도커와 쿠버네티스가 보완

모놀리틱 아키텍처와 마이크로 서비스 아키텍처 비교

# 위의 단점들을 이미지, 컨테이너, 도커와 쿠버네티스로 극복

컨테이너 : 용기 > 효율적 가상환경 제공

도커 : 항만 노동자 > 다수의 컨테이너를 효율적으로 관리

쿠버네티스 : 항해자 > 다수의 도커를 효율적으로 컨트롤 및 관리