소프트웨어 개발에서 발생할 수 있는 여러 문제를 해결하기 위해 다양한 시스템 아키텍처 패턴이 사용되고 있습니다. 기존에 검증된 패턴을 잘 활용하면 개발 시간을 절약하고 더 견고한 시스템을 만들 수 있는데요, 하지만 모든 경우에 딱 맞는 하나의 솔루션은 없기 때문에 각 패턴을 이해하고 프로젝트에 가장 적합한 접근 방식을 파악하는 것이 중요합니다. 아래는 흔히 사용되는 몇 가지 아키텍처 패턴입니다.
1️⃣ MVP 아키텍처
Model-View-Controller (MVC) 패턴의 파생으로, 데이터 관리, 사용자 인터페이스 및 제어 흐름(conrol flow)을 각각 분리
2️⃣ 도메인 주도 설계(Domain-Driven Design) 아키텍처
각 도메인의 로직과 복잡성을 중심으로 설계
3️⃣ 마이크로서비스(Microservice) 아키텍처
소프트웨어 시스템을 독립적으로 배포 가능한 작고 모듈화된 서비스들의 모음으로 설계
4️⃣ 오케스트레이션(Orchestration) 아키텍처
오케스트레이터(중앙 조정자)가 서비스 간 상호작용과 데이터 흐름을 관리
본문에서는 이외에도 다양한 아키텍처 패턴을 확인해 보실 수 있습니다!
https://blog.bytebytego.com/p/ep68-top-architectural-styles
📔 함께 읽어보면 좋은 글
- 소프트웨어 시스템 설계 시 고려할 세 가지: https://careerly.co.kr/comments/67065
- 시스템 설계 면접 준비 방법: https://careerly.co.kr/comments/67313