인프라 아키텍처 (v.0.0.1)

ok0·2022년 11월 28일
0

예금 적금 트래킹

목록 보기
5/7
post-thumbnail

Layer v.0.0.1

컨셉

  • External 과 Internal의 완벽한 경계
  • 각 도메인의 명확한 경계, 명확한 책임
  • 모든 비즈니스 로직은 Backend Layer에 작성
  • Client에 비즈니스 로직 작성 금지

External

Client

  • 사용자가 직접 열람해서 사용하는 기능
  • Javascript & HTML: React 오픈소스 찾아보기
  • SSR(Server Side Rendering)
  • Server to Server 통신 필요

API Gateway

  • Client에게 단일 도메인으로 API 제공
  • Backend의 API를 직접 호출하지 않고 중간에서 제어
  • 사용자의 인증인가를 중간에서 catch.
    • Client -> API Gateway -> Lambda -> Auth API(w/ Redis) -> User API

Internal - API

  • Backend API Layer
  • 주요 비즈니스 로직 작성
  • 도메인 단위로 물리적 분리 (Data Storage / Code Level)

Auth API

  • 사용자의 인증/인가에 대한 책임

User API

  • 사용자에 대한 Backend API

Finance API

  • 금융상품에 대한 Backend API
  • 금융상품 데이터 싱크를 위한 Backend JOB
  • 금융상품 주요 데이터 변경 감지 & 알람 데이터 프로듀싱

Cache Layer

캐싱 레이어 고민 필요: Backend간의 호출이 필요할지?가 중요 의사결정 포인트가 될 듯?

  • 1안) Client 캐시
  • 2안) API Gateway - (Cache) - Backend
  • 3안) Backend - (Cache) - Data Storage

Etc & Review

  • 각 도메인간의 호출을 허용할 것인지?
    • 커플링 이슈
    • Client의 호출과 Backend가 원하는 로직이 동일한가?
    • Client <-> ( ? ) <-> Backend. 신규 레이어가 필요할지
    • Facade API ?

Internal - Job

  • 금융감독원 API를 이용하여 데이터 수집
  • 주요 데이터 변경 감지 & 알림 데이터 Producing
  • 알림 데이터 Consuming & 알림 데이터 전송
profile
백엔드 개발자.

0개의 댓글