MSA 내부 아키텍처도 유연하고 확장성 있어야 한다.

황상익·2024년 10월 18일

MSA

목록 보기
19/20

MVC 패턴에 대한 오해


MVC 패턴이 백엔드 아키텍처 전부인 것처럼 오해되고 있음

비즈니스 로직은 어디? 관심사 분리

MSA는 유연셩과 확장성을 강조

하지만 이런 구조에서는 유연하다고 할 수는 없다.

레이어드 아키텍처

티어(물리적)와 레이어(논리적)


보편적으로 많이 사용되는 레이어

호출방향은 위에서 아래로, 아래서 위로는 불가
인접 레이어만 접근, 따라서 인접 레이어 변화에만 영향
각 Layer 간 인터페이스 호출을 통해 의존성을 낮춘다.

-> DIP 등장

의존을 하려면 잘 변경되지 않는 부분에 의존 (infra는 변경이 많다, Biz는 잘 변경 X)

아래 계층이 위 계층에 의존

핵사고널 아키텍처

내부영역 : 비지니스로직 처리 영역
외부영역 : 비지니스로직 결과 처리 영역
가장 좋은 설계는 비지니스로직에 영향을 미치지 않게 하는 것


내부 결과를 데이터베이스에 저장
메시지 메커니즘을 제공
연계되는 타임마다 이에 특화된 어댑터 존재
API를 통해 내부영역과 연결 -> 새로운 클라이언트가 필요한 경우, 내부영역의 API가 클라이언트의 입력을 이해 -> 변환 어댑터 추가

클린 마이크로서비스 패키지 구조


레이어드 아케텍처를 입체적으로 구현했다고 보면 된다.

profile
개발자를 향해 가는 중입니다~! 항상 겸손

0개의 댓글