-
기본 API 구성하기
- API 목록
-
POST /products
상품 추가 API 상품 EntityKey Value product_id Long (Primary, Auto Increment) name String supply_price Integer -
GET /products
상품 목록 조회 API응답 형태: List<응답 객체>
응답 객체
Key Value product_id Long name String supply_price Integer -
POST /order
주문 추가 API주문 Entity
Key Value order_id Long (Primary, Auto Increment) name String product_ids List<주문 매핑 상품 Entity> 주문 매핑 상품 Entity
Key Value id Long (Primary, Auto Increment) order 주문 Entity product_id Long -
PUT /order/{orderId}
주문에 상품을 추가하는 API요청 Body
Key Value product_id Long -
GET /order/{orderId}
주문 단건 조회 API응답 객체
Key Value order_id Long product_ids List -
GET /auth/signIn?user_id={string}
로그인 APIGateway 서비스의 Filter를 통과할 수 있도록 구성해
-
- API 목록
-
상품 서비스는 라운드로빈 형식으로 로드밸런싱 구성하기
- 라운드로빈 형식으로 로드밸런싱을 구현해서 상품 서비스가 호출될 때마다 두 서비스를 반복하며 호출되게 구성
- 상품 목록을 조회할 때마다 API 의 응답 헤더의
Server-Port
값이19093
,19094
로 변경되어야 함
-
주문에 상품을 추가하는 API를 만들 때 아래와 같이 구성
FeignClient
를 이용해서 주문 서비스에 상품 서비스 클라이언트 연결- 상품 목록 조회 API를 호출해서 파라미터로 받은
product_id
가 상품 목록에 존재하는지 검증 - 존재할경우 주문에 상품을 추가하고, 존재하지 않는다면 주문에 저장하지 않음.
-
분산추적 구현해보기
주문 서비스
와상품 서비스
에 Zipkin 을 연동하고, 호출시 Zipkin 대시보드에Duration
이 측정 되는지 확인해보기
-
캐싱 기능 구현하기
- 주문 조회 API 의 결과를 캐싱 처리하여 60초 동안은 DB 에서 불러오는 데이터가 아닌 메모리에 캐싱된 데이터가 보여지도록 설정
-
외부 요청 보호
- Oauth2,JWT 기반으로 인증/인가를 구성하여 인가 없이
상품 서비스
,주문 서비스
를 호출할 때 401 HTTP Status Code를 응답하도록 설정
- Oauth2,JWT 기반으로 인증/인가를 구성하여 인가 없이
-
캐시를 더 활용 해보기
- 상품 추가 API를 호출 할 경우 상품 목록 조회 API의 응답 데이터 캐시가 갱신되도록 구현
- 상품 추가 후 상품 목록 조회 API호출 시 데이터가 변경 되는지 확인
-
로컬과 서버의 환경을 분리
- 로컬에서는 localhost:3306 으로 DB에 접근하고, 서버에 배포시엔 RDS 주소로 접근하게 구성하도록 환경을 분리 - 환경은
dev
,prod
프로필로 나누기
- 로컬에서는 localhost:3306 으로 DB에 접근하고, 서버에 배포시엔 RDS 주소로 접근하게 구성하도록 환경을 분리 - 환경은
-
Notifications
You must be signed in to change notification settings - Fork 0
asd0236/MSA_Redis_Docker_CICD_Study
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published