Microservice

박찬효·2022년 10월 21일
0
post-custom-banner

Microservice 란?

MSA는 Microservice Architecture의 줄임말로, 소프트웨어 개발 기법 중 하나입니다.
MSA는 작고, 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스들로 구성된 프레임워크입니다.
경량화되고 독립적인 여러 개의 서비스를 조합하여 애플리케이션을 구현하는 방식으로 서비스마다 자체 데이터베이스를 가지고 동작하기 때문에 개발부터 빌드, 배포까지 효율적으로 수행할 수 있습니다.

Monolithic 구조에 대해..

웹 개발을 예로들면, 웹 프로그램을 개발하기 위해서 모듈별로 개발을 하고, 개발이 완료된 웹 어플리케이션을 하나의 결과물로 패키징 하여 배포되는 형태를 말합니다. 이런 어플리케이션을 모놀리식 어플리케이션이라 하며, 웹의 경우 WAR파일로 빌드되어, WAS에 배포하는 형태를 말합니다.

Microservice 구조

모놀리식의 문제를 해결하기 위해 제안된 대용량 분산형 아키텍처가 마이크로서비스 입니다. 마이크로 서비스는 각 로직을 독립적인 작은 서비스 단위로 배포 및 업데이트를 진행하도록 구성이 되어 있으며, 이들은 각각 느슨한 결합으로 연결되어있습니다.

장점

  • 개별 서비스를 소규모의 모듈로 구성이 가능합니다.

  • 개별 서비스들도 각각 다양하게 구현이 되기 때문에 장애에 강해집니다.

  • 각각의 서비스가 다른 언어, 프레임워크 등을 자율적으로 선택하여 배포하는 것이 가능하기 때문에 기술에 대한 빠른 적용이 가능합니다.

단점

  • 여러 서비스로 나누고 각각 배포를 진행하여야 하므로 배포과정을 수동으로 진행하기 복잡합니다.

  • 각각의 서비스를 배포하기 위해 서비스 뿐만 아니라 환경 또한 따로 구축해야 하므로 시스템의 메모리 소요가 상대적으로 높아집니다.

profile
개발자가 되기 위한 1인
post-custom-banner

0개의 댓글