MSA 란?

2021. 11. 15. 18:33Cloud

Micro-Service Architecture 의 약자로,

하나의 플랫폼에 있는 서비스를 여러 개의 작은 단위로 나누어서 운영 및 관리하는 방식을 말한다.

 

# 왜 사용할까?

1. 하나의 Error로 전체 서비스 불가 사태 방지

예를 들어, 하나의 포털 웹사이트를 구축하는 데, 하나의 서버만으로 사이트의 모든 데이터를 관리한다고 하자.

서버에 문제가 발생하면,

해당 사이트와 관련된 모든 서비스는 사용 불가능 상태가 된다.

 

이를 해결하기 위해

여러 개의 작은 서비스(서버)로 웹사이트를 구축한다. (=MSA)

따라서 위와 같은 문제상황이 발생하더라도

일부분의 서비스만 불가능할 뿐, 다른 서비스를 사용하는 데는 지장이 없도록 한다.

 

2. 서로 다른 특성의 데이터들로 서비스가 운영되는 경우

예를 들어, 

서비스들이 각각 NoSQL, MariaDB 특화, API 호출로 데이터 이루어진다면 

하나의 서버에서 모두 처리하는 것이 아니라 별도로 각각의 서버가 운영하는 것이 효율적이다.

 

3. 빠르게 배포하기 위해

큰 프로젝트나 애플리케이션의 경우 빌드시간이 상당히 오래 걸리는 데,

작은 단위로 서비스를 관리하면 배포시간을 보다 단축시킬 수 있다.

 

여기서 빌드시간이 오래 걸린다는 말은 

작업한 내용이 반영되기 까지 시간이 오래 걸린다는 말이다.

반응형