MSA가 뭐야?
- 마이크로 서비스 아키텍처 스타일은 단일 응용 프로그램을 나누어 작은 서비스의 조합으로 구축하는 방법
- 가장 기본적인 철학은 “한가지만 아주 잘 처리하자”임
Monolithic Architecture
와 반대되는 개념- 서로에 영향을 미치지 않기 위해, 분산 데이터베이스를 두게 됨
장점
- 빌드 및 테스트 시간을 단축시킬 수 있다.
- 폴리글랏 아키텍처 구성이 가능하다.(서비스별 상황에 맞게, 기술을 유연하게 적용 가능)
- 탄력적이고 선택적인 확장(Scale out)이 가능하다.
- 하나의 서비스가 다른 서비스에 영향을 주지 않는다.(한 서버가 죽어도 모두가 함께 죽진 않음)
단점
- 성능 이슈가 있다.(물론, Client가 크게 체감하지 못할 정도라면 이는 괜찮다고 봐도 된다.)
- 트랜잭션이 불편하다.
- 관리 포인트가 늘어난다.