ECPJT log-2

ECPJT log-2

Sep 14, 2019    

프로젝트의 전반적인 아키텍쳐는 이렇다.

  • 클라이언트-서버 통신은 HTTP(REST) API를 사용한다.
  • 각 서비스 모듈은 독립적으로 개발, 데이터베이스를 분리한다.
  • 서비스 모듈 앞엔 API 게이트웨이가 있다. API 게이트웨이는 토큰 검증, 트래픽(quota) 관리, 라우팅 등의 기능을 수행한다.
  • 서비스 간 통신은 Message Queue를 사용한다. 단 조회성 통신은 API를 직접 호출한다.
  • 프론트 오피스(사용자가 직접 접근하는 쇼핑몰, 이를테면 전시 공간)와 백 오피스(쇼핑몰 직원의 업무 공간, 상품 등록, 클레임 처리등)를 분리하고 각 영역 앞에 API 게이트웨이 혹은 프록시 서버를 둔다.
  • 웹 브라우져 혹은 모바일 기기와 같은 클라이언트가 직접 API 서버(게이트웨이)를 호출한다. 이 때 사용자에 대한 인증은 로그인할 때 발급받은 인증토큰을 헤더에 실어서 검증한다.
  • 별도의 세션 스토리지에서 접속 세션을 관리한다.
  • 웹 페이지는 SPA 프레임워크를 사용한다.
  • 각 서비스 모듈은 컨테이너로 운영된다. Docker, Kubernetes같은 도구를 사옹한다.