하나의 애플리케이션을 여러 개의 독립된 서비스로 나누는 것을 MSA 라 합니다.
각 서비스를 마이크로 서비스라 하며, 서비스 분할은 기능 중심으로 구성됩니다.(추천, 관리, 알림, 결제, 주문 등)
각 서비스는 독립적이므로 하나의 서비스가 문제가 발생해도 다른 서비스에 영향이 없으며, 매쉬 구조처럼 서로에게 접근할 수 있습니다.
MSA 장점
환경 제약
마이크로 서비스들은 독립적이기 떄문에, 해당 서비스에 가장 적합한 언어 및 버전을 선택할 수 있고, 데이터베이스 선택도 제약이 없습니다.
무중단 배포
하나의 마이크로 서비스에 변경에 발생해도, 다른 서비스에 영향이 미치지 않고 동작을 지속할 수 있습니다.
서비스 증설
서비스의 트래픽이 폭주했을 때 해당 서비스만 증설하여 해결할 수 있습니다.
신기술 도입
새로운 서비스를 추가하는 것으로 기존 서비스에 영향을 끼치지 않으며 쉽게 적용할 수 있습니다.
이미지를 통해 각 독립적인 서비스와 DB를 확인할 수 있습니다.
각 도메인 별로 서비스를 분할하여 동작할 수 있음을 나타내며 매쉬 구조가 가능한 것을 확인할 수 있습니다.
참고문헌
'기타' 카테고리의 다른 글
IntelliJ 라이브 템플릿 기능 사용하기 (0) | 2021.06.30 |
---|---|
Maven 소개 (0) | 2021.05.03 |
Tomcat 설치 (0) | 2021.05.03 |
Type vs Interface (0) | 2021.04.26 |
DevOps 란 (0) | 2021.04.26 |