프로젝트3 회고

Day3


평가항목

  1. 실습과제3 아키텍처 다이어그램 설명
  2. 평가질문지 답변
  3. 추가 시나리오 아키텍처 구성 설명

스크린샷 2023-05-30 오전 8 24 53

클라이언트 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)
}