Domain API · Business API · BFF 3계층 분리
데이터는 도메인 서비스만 만지고, 화면의 흐름은 업무 API가 조합하며, 브라우저는 BFF 하나만 봅니다.
구조와 근거 보기
데이터를 소유하는 도메인 API는 자기 테이블만 다루고, 업무 API는 여러 도메인을 조합해 화면이 필요로 하는 흐름을 만듭니다. 프론트마다 BFF를 두어 브라우저는 BFF만 알고, 세션과 토큰은 BFF 안에서만 다룹니다. 서비스 간 호출은 공통 HTTP 클라이언트 하나로 통일했습니다. 서킷브레이커와 재시도, 추적 ID 전파, M2M 토큰 발급이 내장되어 있어 서비스가 각자 구현하지 않습니다.
- 모든 응답은 같은 봉투를 씁니다. 추적 ID, 업무 코드, 페이지네이션이 한 형식입니다.
- 오류 계약은 프레임워크 독립 모듈(Problem Details 모델, 오류 코드 레지스트리)로 분리해 모든 서비스가 같은 코드 체계를 공유합니다.
- 서비스별 OpenAPI 계약을 저장소 안에 배포해, 개발자는 자기 서비스 문서만 보고 구현합니다.