[내일배움캠프 Spring 심화] 2024.08.06 TIL

박상훈·2024년 8월 6일

[내일배움캠프] TIL

목록 보기
6/20

오늘은 지금까지 배운 내용을 가지고 직접 MSA를 구현하는 과제를 수행했다.


현재까지는 모놀리틱 아키텍쳐만 구현했었는데, 이번 과제에서는 각 기능별로 애플리케이션을 나누고 필요한 데이터를 요청해야한다.

  • 위와같이 아키텍쳐를 구성하기위해 각 패키지 별 포트를 지정해주고, 게이트웨이를 설정한다.

  • Order, Product, Auth 애플리케이션에서 DB에 접근하여 자원을 사용한다.


ISSUE 발생

DB 테스트를 위해 AWS의 RDS 서비스를 이용해 테스트하던 도중, 문제가 발생했다.

Git Bash를 이용해 EC2에 접속한 후 RDS 접근은 가능했지만, 내 로컬 컴퓨터에서 RDS 접근은 불가했다. VPC 설정, 보안 그룹 설정, 방화벽 등 다양한 원인을 찾아보다 튜터님께 질문을 드려 해결했다.

RDS 데이터베이스 수정을 클릭하여 추가 구성을 살펴 보면 위와 같이 '퍼블릭 액세스 가능'에 체크를 해두어야 한다. 지금까지는 퍼블릭 액세스 불가능으로 체크가 되어 있어서 접근이 불가했던 것 같다.


API 구성

기본적으로 구현해야 할 기능들은 아래와 같다.

  1. POST /products 상품 추가 API
    상품 Entity

    KeyValue
    product_idLong (Primary, Auto Increment)
    nameString
    supply_priceInteger
  2. GET /products 상품 목록 조회 API

    응답 형태: List<응답 객체>

    응답 객체

    KeyValue
    product_idLong
    nameString
    supply_priceInteger
  3. POST /order 주문 추가 API

    주문 Entity

    KeyValue
    order_idLong (Primary, Auto Increment)
    nameString
    product_idsList<주문 매핑 상품 Entity>

    주문 매핑 상품 Entity

    KeyValue
    idLong (Primary, Auto Increment)
    order주문 Entity
    product_idLong
  4. PUT /order/{orderId} 주문에 상품을 추가하는 API

    요청 Body

    KeyValue
    product_idLong
  5. GET /order/{orderId} 주문 단건 조회 API

    응답 객체

    KeyValue
    order_idLong
    product_idsList
  6. GET /auth/signIn?user_id={string} 로그인 API 구현

profile
안녕하세요

0개의 댓글