2.2 마이크로서비스 아키텍처의 단점
마이크로서비스 아키텍처는 모놀리식 아키텍처의 문제점을 해결할 수 있는 좋은 대안이지만 장점만 있지는 않습니다.
• 공유 자원 접근이 어렵습니다
그림2-1에서 구매 관리 마이크로서비스가 회원 관리 마이크로서비스의 데이터를 참조해야 한다고 가정합시다. 모놀리식 아키텍처라면 프로세스가 같기 때문에 어렵지 않게 구매 관리 로직에서 회원 관리 로직으로 접근할 수 있습니다. 하지만 마이크로서비스에서는 서로 다른 프로세스로 실행하기 때문에 추가적인 고민이 필요합니다. 공유 자원을 처리하는 방법은 11장에서 다룹니다.
• 배포와 실행이 복잡해집니다
모놀리식 아키텍처에서는 프로세스 하나만 실행해도 서비스가 가능했지만, 마이크로서비스는 복잡한 실행 과정을 거쳐야만 정상적인 서비스가 가능합니다. 배포 자동화는 14장에서 다룹니다.
• 분산 시스템을 구현하기 어렵습니다
마이크로서비스에는 독립적인 프로세스들을 유기적으로 동작할 수 있게 하는 분산 네트워크 시스템이 필요합니다. 매우 중요한 시스템이지만 네트워크 레벨에서 다양한 상황별로 처리해야 하므로 구현하기 어려울 수 있습니다. 분산 아키텍처는 6장에서 다룹니다.