본문 바로가기
개발

MSA 구조

by 카앙구운 2021. 5. 3.
728x90
반응형

MSAMicro Service Architecture 의 약자로 프로그램을 각 컴포넌트별로 쪼개서 작은 단위 서비스로 조합하여 구축하는 것을 말한다.

예전에는 MA Monolithic Architecture 구조로 웹서비스를 수정 또는 테스트하기 위해서는 전체 서비스를 재구동 해야하는 단점이 있었다. 

그리고 복잡한 구조로 갈 수록 더 개발하기가 힘들어지고 복잡성 때문에 코드 재사용도 힘들어지는 부분이 있었다.

그리서 복잡성을 줄이고 코드의 재활용성을 높이기 위해서 각 컴포넌트를 쪼개서 개발할 수 있도록 한 것이다.

예전에 개발했을 때는 웹개발을 하게 되면 전체 프로젝트에 배포하고 (Jenkins와 같은 걸로) 해당 서버를 재부팅하면서

전체 서비스가 중단되고 다시 시작하는 프로세스로 진행되었지만 MSA로 개발하는 경우 각 서비스마다 수정사항이 있는 경우 서비스 별로 재부팅하기 때문에 다른 서비스는 정상적으로 운영이 가능한 것이다.

예를 들면 주문에서 수정사항이 있어 반영을 하더라도 회원관리 쪽에서는 문제없이 가능한 것이다.

또 다른 장점은 반영이 아니더라도 서버에 오류가 생겼을 경우에도 해당 서비스만 안되며 나머지는 정상적인 운영이 가능하다는 점이다.

서버 전체가 다운되는 건 프로젝트에 큰 리스트이기 때문에 더 MSA구조를 사용하는 가 싶다.

모노리틱 구조와 마이크로 서비스 구조. 출처: https://www.egovframe.go.kr/ msa구조개발적용가이드 캡처

 

728x90
반응형

댓글