구성: 클라이언트 ↔ 데이터베이스
애플리케이션 로직을 클라이언트에 두거나 DB 안의 Stored Procedure로 처리.
- 장점: 단순하고 빠름.
- 단점: 확장성과 보안, 유지보수가 약함. Thick Client 환경에서 많이 쓰였음.
구성: Presentation → App → DB
- 장점: 책임분리, 수평확장 가능
- 단점: 계층 간 왕복 비용
구성: UI, 비즈니스 로직, 도메인, 데이터 접근 등 층위별로 나눔.
- 장점: 이해 쉬움, 모듈화
- 단점: 계층 누수/성능 이슈
구성: Publisher/Subscriber, Event Bus/Queue 기반.
- 장점: 느슨한 결합, 비동기 확장
- 단점: 일관성·재처리 설계 난이도
구성: 작은 독립 서비스들의 집합, 각 서비스가 자체 DB를 가질 수 있음.
- 장점: 독립 배포/확장, 장애 격리
- 단점: 분산 트랜잭션/옵저버빌리티 부담
구성: 여러 서비스가 ESB(Enterprise Service Bus)를 통해 통신.
- 장점: 표준화, 재사용
- 단점: ESB 의존/무거움
구성: 애플리케이션 로직을 Function 단위로 분리, 클라우드 이벤트에 의해 실행.
- 장점: 무서버 운영, 자동 확장
- 단점: 콜드스타트, 잠금
구성: 도메인 로직을 중심에 두고, 인프라·UI를 외곽에 둠.
- 장점: 테스트 용이, 기술 독립
- 단점: 러닝 커브