- Spring MVC
- Service Discovery
- API Gateway
- Security
- Resilience4J Circuit Breaker
- Distributed Tracing
- Event Driven Architechture using Kafka
- 거대한 코드베이스로 인해 코드이해가 어렵다.
- 하나의 코드 수정시 많은 테스트가 필요합니다.
- 모듈이 애플리케이션과 밀접하게 결합됩니다.
- 애플리케이션 스케일 증가시 비용이 많이 소모됩니다.
- 모듈을 단일 springboot 애플리케이션으로 분리 가능
- 비지니스별로 코드 분리하여 이해 쉬움
- 모든 구성 요소를 테스트할 필요 없이 한 부분의 코드만 수정
- 하나의 구성 요소가 다운되어도 전체 애플리케이션에 영향을 미치지 않는다.
- 구성 요소 확장시 효과적인 비용으로 가능