MSA

chael_lo·2022년 2월 21일
0

Programming

목록 보기
2/5

MicroService Architecture의 줄임말로,
독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크라고 할 수 있다.

MSA의 특징

완전히 독립적으로 배포가 가능하다.

다른 기술 스택(개발 언어, 데이터베이스 등)이 사용 가능한 단일 사업 영역에 초점을 둔다.

MSA는 API를 통해서만 상호작용할 수 있다.

서비스의 end-point(접근점)을 API 형태로 외부에 노출하고, 실질적인 세부 사항은 모두 추상화한다.
내부의 구현 로직, 아키텍처와 프로그래밍 언어, 데이터베이스, 품질 유지 체계와 같은 기술적인 사항들은 서비스 API에 의해 철저하게 가려진다.

각각의 서비스는 모듈화가 되어있다.

각각 개별의 서비스 개발을 빠르게 하며, 유지보수도 쉽게할 수 있다.
모듈끼리 되어있어서 기술 스택을 다르게 가져갈 수 있다.
예를 들어 회사가 java의 spring 기반이라도 MSA를 적용하면 node.js을 사용하는 것도 무리가 없다.
모듈끼리는 RPC 또는 message-driven API등을 이용하여 통신한다.

서비스별로 독립적 배포가 가능하다.

지속적인 배포 CD도 모놀로식에 비해서 가볍게 할 수 있다.
각각 서비스의 부하에 따라 개별적으로 scale-out이 가능하다.
메모리, CPU에서 이득이 된다.

profile
천천히 꾸준히

0개의 댓글