2025/05/20 3

헥사고날 아키텍처란?

1. 헥사고날 아키텍처의 개념1-1. 정의 및 기원 헥사고날 아키텍처(Hexagonal Architecture)는 Alistair Cockburn이 2005년에 처음 제안한 개념으로, ‘포트와 어댑터(Ports and Adapters)’ 아키텍처라는 이름으로도 널리 알려져 있다. 이 구조는 기존의 레이어드 아키텍처에서 발생하던 문제, 즉 도메인 로직이 프레임워크나 외부 기술에 종속되는 현상을 해결하기 위해 고안되었다. 핵심 철학은 애플리케이션의 핵심 도메인을 외부와 철저히 분리하고, 포트와 어댑터를 통해서만 상호작용을 허용하는 것이다. 이를 통해 도메인 로직의 순수성을 유지하고, 테스트 용이성과 시스템 유연성을 극대화할 수 있다. 단순히 코드 구조가 아니라, 비즈니스 규칙 중심 설계의 실천 철학이라 볼..

컴퓨터공학 2025.05.20

레이어드 아키텍처 구조

1. 레이어드 아키텍처란 무엇인가?1-1. 개념 정의 레이어드 아키텍처(Layered Architecture)는 소프트웨어 시스템을 **기능적 역할에 따라 층(Layer)**으로 나누어 설계하는 가장 전통적이면서도 널리 사용되는 구조다. 일반적으로는 3계층 또는 4계층 구조로 나누며, 각 계층은 고유한 책임을 갖고 상위 계층에 서비스를 제공한다. 각 계층은 아래 계층에만 의존하도록 구성되어 구조적 안정성을 확보할 수 있다.1-2. 구성 계층의 종류 가장 대표적인 구성은 다음과 같다:Presentation Layer (UI)Application Layer (Service)Domain Layer (Business Logic)Infrastructure/Data Layer (Persistence) 필요에 따라 ..

컴퓨터공학 2025.05.20

모놀리식 vs 마이크로서비스 아키텍처

1. 아키텍처 스타일의 이해1-1. 아키텍처 스타일이란? 아키텍처 스타일은 시스템을 어떻게 구성할 것인지에 대한 일종의 설계 철학이다. 이는 소프트웨어 시스템의 구조적 특성과 통신 방식, 책임 분리 수준을 정의하는 고수준 설계 패턴이다. 대표적으로 모놀리식(Monolithic), 마이크로서비스(Microservices), 이벤트 기반(Event-Driven), 클린 아키텍처(Clean Architecture) 등이 있다.1-2. 구조 선택의 영향 아키텍처 스타일은 기능 개발에 영향을 줄 뿐만 아니라, 팀 구조, 배포 전략, 운영 모델까지 좌우한다. 동일한 기능을 구현하더라도 어떤 스타일을 채택하느냐에 따라 개발 생산성, 장애 대응력, 확장 방식이 달라진다. 특히 규모가 커질수록 스타일의 선택이 시스템 생..

컴퓨터공학 2025.05.20