목록 보기
아키텍처에 대한 고민은 처음이라
아키텍처

아키텍처에 대한 고민은 처음이라

당근마켓
당근마켓
2024년 7월 25일

두줄요약

계층형과 육각형 아키텍처를 실제 서비스 사례로 비교하며 적용 기준을 설명했습니다. 도메인 변화와 외부 의존성이 큰 환경에서는 육각형 아키텍처가 유리하다고 정리했습니다.

핵심 내용

  • 계층형 아키텍처와 육각형 아키텍처를 실제 업무 사례로 비교한 글
  • 기능만 단순한 소프트웨어에는 단일 진입점 수준의 단순 구조도 가능하나, 도메인과 외부 환경 변화가 커지면 아키텍처 고민이 필요
  • 번역 봇 사례에서는 웹·도메인·인프라로 나눈 계층형 구조를, 영상 플랫폼 사례에서는 포트와 어댑터를 둔 육각형 구조를 적용

선택 이유

  • 계층형 아키텍처는 역할 분리가 명확해 새 기능과 변경 지점을 직관적으로 파악하기 쉬움
  • 육각형 아키텍처는 도메인이 외부 프로바이더 변화에 덜 흔들리도록 의존성을 역전시키는 데 유리
  • 공통 서비스처럼 여러 외부 인프라를 통일된 인터페이스로 제공해야 하는 상황에 적합

장단점

  • 계층형 아키텍처는 이해하기 쉽지만 비즈니스 로직이 인프라 계층으로 몰리기 쉬움
  • 육각형 아키텍처는 외부 변경의 영향도를 줄이고 OCP에 부합하지만 구조와 관계를 처음 이해하기 어려움
  • 복잡도 증가로 인해 계층 침범 유혹이 생길 수 있음

적용해볼 점

  • 도메인 변화 가능성과 외부 의존성의 개수를 먼저 분석한 뒤 아키텍처를 선택할 필요
  • 새로운 프로바이더나 인터페이스 추가 가능성을 고려해 포트와 어댑터로 경계를 나누는 방식 검토
  • 아키텍처 결정과 하위호환성 이슈는 ADR 같은 문서로 관리하는 방식 참고 가능

다음 읽기

#Layered Architecture 주제를 이어서 읽기

당근페이 백엔드 아키텍처가 걸어온 여정

당근페이 백엔드가 계층형 아키텍처에서 헥사고날 아키텍처를 거쳐 클린 아키텍처와 모노레포로 진화한 과정을 소개했습니다. 서비스 성장에 따른 결합도와 배포 복잡도를 줄이기 위해 도메인 분리와 의존성 역전을 강화했습니다.

당근마켓
당근마켓
아키텍처

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...