프로젝트3 회고
Day3
평가항목
- 실습과제3 아키텍처 다이어그램 설명
- 평가질문지 답변
- 추가 시나리오 아키텍처 구성 설명
클라이언트 Sales api 주문 재고 -1 데이터베이스 저장
재고 0 일때 주문이 또 들어오면 sns 주문요청 메세지
sqs 대기열 메세지를 factory api 가 읽고 생산
factoryapi가 increase lambda에게 메세지를 보냄
increase lambda가 데이터베이스에 재고 증가 저장
Sqs
-
내구성있는 스토리지가 필요한 경우 큐를 쓴다
-
더 나은 내결함성을 확보하는 연결구조를 갖기 위해서
standard fifo 처리량이 높다 처리량 낮다 비용 낮다 비용 높다 최소 1회 중복처리될수도있음 순서대로 한번처리
lambda
- 생성비용 없고 백만건 이후 함수 실행시간에따른 비용
- 람다는 자동으로 오토스케일링 서버리스
Step 4 : 데이터베이스의 재고를 증가시키는 Lambda 함수 생성
axios는 node.js에서 HTTP 명령을 보내는 라이브러리입니다. (fetch와 유사)
- 코드 맨 윗줄에
const axios = require('axios').default
를 추가합니다.
exports.handler = async (event) => {
const payload = {
MessageGroupId: "stock-arrival-group",
MessageAttributeProductId: "e5b4bc11-faca-11ed-8f43-0e2f76dd43b0",
MessageAttributeProductCnt: "3",
MessageAttributeFactoryId: "FF-500293",
MessageAttributeRequester: "asdf",
CallbackUrl: "https://1ft5lpkkuj.execute-api.ap-northeast-2.amazonaws.com/product/donut"
}
const result = await axios.post('http://project3-factory.coz-devops.click/api/manufactures', payload)
console.log(result)
}