728x90
반응형

소프트웨어아키텍처 2

모듈러 모노리스(Modular Monolith)

개요모듈러 모노리스(Modular Monolith)는 전통적인 모놀리식(monolithic) 아키텍처의 단일 배포 방식은 유지하되, 내부 구조를 모듈화하여 명확한 경계와 책임을 갖는 컴포넌트로 구성한 현대적 소프트웨어 아키텍처입니다. 이는 마이크로서비스 이전 단계 또는 대안으로 주목받으며, 코드 품질, 유지보수성, 도메인 분리 등의 장점을 제공하면서도 복잡한 분산 시스템의 단점은 회피할 수 있습니다. 본 글에서는 모듈러 모노리스의 개념, 구성 원칙, 장단점, 실무 적용 전략을 소개합니다.1. 개념 및 정의모듈러 모노리스란 단일 애플리케이션 내에 **도메인 기반으로 독립된 모듈(또는 패키지, 컴포넌트)**을 설계하고, 이를 명확한 경계 및 인터페이스로 연결하여 마치 마이크로서비스처럼 동작하지만, 단일 배포..

Topic 2025.03.27

DDD(Domain Driven Design)

개요DDD(Domain Driven Design, 도메인 주도 설계)는 복잡한 비즈니스 도메인을 효과적으로 반영하고 유지보수 가능한 소프트웨어를 개발하기 위한 모델 중심의 설계 철학입니다. Eric Evans가 제안한 이 개념은 도메인 전문가와 개발자 간의 협업을 중심에 두고, 공통된 언어(Ubiquitous Language), 도메인 모델링, 계층화 설계 등을 통해 소프트웨어와 비즈니스 간의 일관성을 확보합니다. 이 글에서는 DDD의 개념, 핵심 원칙, 구성 요소, 적용 전략 등을 체계적으로 설명합니다.1. 개념 및 정의DDD는 비즈니스 도메인 지식을 바탕으로 소프트웨어를 설계하고 구현하는 접근 방식입니다. 소프트웨어의 구조와 용어가 비즈니스의 본질을 반영하도록 하여, 개발자와 도메인 전문가가 동일한 ..

Topic 2025.03.26
728x90
반응형