Microservice Architecture

진솔·2022년 12월 22일
0

MSA는 Monolithic Architecture 와 비교를 많이 한다.

Monolithic Architecture 는 쇼핑몰로 비유를 하게 된다면 사용자 관리, 상품관리, 주문관리 등이 하나의 큰 덩어리로 이루어져 있다.

Microservice Architecture 는 위와 다르게 사용자 관리, 상품관리, 주문관리가 각 각 쪼개져서 관리가 된다.

각 각의 서비스들이 쪼개져 관리가 되고, 각 각 서비스에 대한 호출은 API를 통해 관리하게 된다. 외부에서 서비스를 호출할 때는 서비스 자체를 노출을 시키지 않고 API Gateway 둬서 API를 불러올 수 있게 한다.

Monolithic 같은 경우에는 하나의 DB를 여러 서비스들이 공유하는 구조라면 Microservice는 쪼개진 서비스들이 자기만의 고유한 DB를 가지는 구조를 가지고 있다.

MSA가 인기를 끌게 된 이유

Monolithic Architecture은 종속되어 있는 서비스를 통째로 관리되다 보니까 특정 서비스만 배포하거나 새로운 서비스를 추가하기에 어려운 부분이 있다. 왜냐하면 여러 서비스들이 여기저기 엮여 있기 때문이다.
반면 Microservice 각 각의 서비스들이 느슨하게 연결되어 있기 때문에 새로운 기능 추가나 업데이트 부분에 있어서는 유리한 장점이 있다.

또 Monolithic Architecture는 한 부분에서 장애가 발생하게 된다면 엮여있는 다른 기능들에게 까지 영향을 끼치게 되어 전체적인 장애를 불러올 수가 있지만 Microservice Architecture는 서비스가 분리되어 있는 형태이기 때문에 다른 서비스 까지 장애가 전파되지 않는 장점이 있다.

이 외에도 Scale out을 고려하게 될 때도 전체적으로 Scale Out을 시키는 것이 아닌 특정 서비스 부분에만 적용 시킬 수 있어 효율적으로 관리가 가능한 부분이 있다는 점이 있다.

0개의 댓글

관련 채용 정보