## MSA의 장점 ### 독립성 MSA의 가장 큰 장점으로, 각 마이크로서비스가 독립적으로 비즈니스 기능을 담당한다. 이는 다른 마이크로서비스의 간섭을 최소화하며, 데이터 저장소도 독립적으로 유지해 데이터 간섭에서 자유롭다. ### 서비스 배포 주기 단축 마이크로서비스 환경에서는 필요한 기능만 먼저 배포할 수 있어 배포 주기가 단축된다. 버그 발생 시에도 해당 마이크로서비스만 롤백하거나 수정하여 재배포할 수 있다. 이를 위해서는 MSA에 더불어 CI/CD 시스템을 구축해야 한다. ### 시스템 장애에 견고 마이크로서비스의 독립성 덕분에 한 마이크로서비스에서 문제가 생겨도 다른 마이크로서비스는 정상적으로 서비스된다. 클라우드 서비스와 결합하면 탄력 회복성을 갖춘 시스템을 만들 수 있다. 이는 장애 발생 시 새로운 컴퓨팅 자원을 추가해 빠르게 서비스를 복구하는 기능을 의미한다. ### 대용량 데이터 저장 처리에 용이 MSA는 대용량 데이터를 분산 처리하기에 적합하다. 각 마이크로서비스가 독립적으로 데이터 저장소를 가지므로, 데이터 저장 및 처리를 병렬로 수행할 수 있다. 이는 데이터 저장 및 조회 성능을 향상시키며, 대용량 데이터 처리에 유리하다. ### 사용자 반응에 민첩한 대응 가능 사용자 반응에 따라 기존의 마이크로서비스를 시스템에서 빠르게 제외하거나 새로운 마이크로서비스를 시스템에 추가할 수 있다. 특히 스프링 부트와 같은 빠르게 서비스 개발을 할 수 있는 프레임워크와 결합할 때 이 장점이 더욱 부각된다.