프로젝트3
Q&A
FYE
2023. 2. 21. 00:30
- 질문: 프로젝트3에서 운영하고 있는 서비스는 몇개인가요? 각각이 무엇인가요?
- 람다 , Lambda server, Lambda stock_lambda
- 질문: 서비스의 구현은 어떻게 되어있는지?
- 정답: API 서버가 서비스의 구현체입니다.
- 질문: 어떤 컴퓨팅 리소스를 사용해서 서비스가 운영되고 있나요?
- 정답: 람다
- 질문: 서비스는 어떻게 사용할 수 있나요?
- 정답: http 호출
- 질문: 그렇다면, 각각의 서비스에 어떤 기능이 있나요?
- 정답
- Lambda server : 도너츠 재고에 따라 구매자에게 물건을 판매하거나 제품 생산 요청을 한다.
- Lambda stock_lambda : 도너츠 생산 요청에 대한 제품 생산을 한다.
- 질문: 서비스에서 사용 가능한 기능에 대해 어떤 엔드포인트로 접근할 수 있나요? 메소드, path, 반드시 필요한 본문이 무엇인지도 함께 적어주세요.
- 정답
- get "/product/donut"
- post "/checkout"
- 반드시 필요한 본문 : MessageAttributeFactoryId - product_id
- 질문: 두 서비스를 연동해야 하는 이유가 무엇인가요?
- 정답: Lambda server는 DB랑 연결되어 있고, 재고 상황을 전달하기 위해 stock_lambda와 연동시켜야 한다.
- 질문: 두 서비스 사이에 있는 AWS 시스템은 무엇이 있나요?
- 정답: SQS, SNS
- 질문: SQS는 무슨 기능을 하나요?
- 정답: 애플리케이션에서 메시지를 전송하고 수신하는 메시지 대기열 서비스이다.
- 구매자와 판매자 사이에 존재하며 버퍼같은 역할을 한다.
- 구매자가 도넛을 구매한다고 메시지를 보내면 SQS가 그 메시지를 보관하고 판매자는 메시지를 확인한다.
- 메시지가 많아지면 중복이 발생할 수 있고 순서가 보장이 안된다는 점이 있지만 FIFO를 사용하면 해결할 수 있다.
- 질문: SQS를 사용하면 왜 느슨한 연결이 되나요?
- 정답
- 프로듀서와 컨슈머 간에 직접적인 연결없이 메시지 큐를 통해 메시지를 주고 받기때문에 서로 독립적인 확장이 가능하다.