💡 MSA란?
- 말 그대로 마이크로서비스란 작고, 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크이다.
- 완전히 독립적으로 배포가 가능하고, 다른 기술 스택(개발언어, 데이터베이스 등)이 사용 가능한 단일 사업 영역에 초점을 둔다.
🟢 장점
- 각각 개별의 서비스 개발을 빠르게 하며, 유지보수도 쉽게 할 수 있게 된다.
- 서비스별로 독립적 배포가 가능하다.
- 각각 서비스 부하에 따라 개별적으로 scale-out이 가능하다. 메모리, CPU적으로 상당 부분 이득이 된다.
🔴 단점
- 상대적으로 복잡하다. 서비스가 모두 분산되어있기 때문에 개발자는 내부 시스템의 통신을 어떻게 가져가야 정해야 한다. 또한, 통신의 장애와 서버의 부하 등이 있을 경우, 어떻게 transaction을 유지할지 결정하고 구현해야한다.
출처: https://wooaoe.tistory.com/57