마이크로 서비스 아키텍처란?
어플리케이션을 독립적인 서비스들로 분리하고 각 서비스가 서로 API를 통해 통신하는 아키택처
예시를 들면 모놀리식 아키텍처라면 로그인 서비스, 검색 서비스, 회원가입 서비스 등을 하나의 어플리케이션으로 빌드하겠지만
마이크로 서비스 아키텍처라면 전부 따로 빌드해서 배포하게 된다.

MSA의 장점
- 서비스 간 독립성으로 인해 확장성과 유연성이 높아진다.
- 각 서비스의 독립성으로 인해 하나의 서비스가 실패하더라도 나머지 서비스에 큰 영향을 미치지 않는다.
MSA의 단점
- 서비스 간 통신이 중요하며, 이로 인해서 구축 관리의 복잡성이 증가한다
- 구조가 복잡하기에 초기 개발에 시간이 많이 걸린다
- 서비스 간 통신이 활발하게 작용하기 때문에 보안 취약점이 생길 수도있다
MSA가 사용되는 경우
- 규모가 크거나 복잡한 프로젝트