멀티모듈

    [Spring] 멀티모듈 단일 프로젝트 구성하기 (gradle)

    [Spring] 멀티모듈 단일 프로젝트 구성하기 (gradle)

    마이크로서비스의 복잡성 모든 것이 분리된 마이크로서비스는 정말 복잡하다. 장점을 100% 사용하려고 하면 그만큼 프로젝트가 복잡해지고 많은 리소스 비용이 발생한다. 예를 들어 서비스를 도메인 별로 분리한다고 생각해보자. 이때 들어가는 비용으로는 다음과 같은 것들이 있을 수 있다. 1. 인스턴스 생성 또는 컨테이너 생성 비용 2. MS간 통신에 사용되는 네트워크 I/O 3. 데이터 동기화 4. CI/CD 운영의 복잡도 증가 5. 도메인에 대한 비즈니스 로직 fragmentation 기존 모놀리식 서비스에는 모든 코드가 서로 섞여있을 수 있다. 그러면 스파게티같은 의존성때문에 함부로 마이크로서비스로 나누기 힘들 수 있다. 이때 점진적으로 서비스를 나누기 위해서 Spring의 멀티모듈을 사용할 수 있다. 왜 ..