Code States/TIL

[0525] 섹션 3. 프로젝트 - 마이크로서비스 Day 2 - Step 2(“재고 없음” 메세지 전달 시스템 구성)

ki1111m2 2023. 5. 25. 15:27

SNS 주제 생성

SQS 대기열 생성

SNS 구독 생성

람다 함수 환경변수에 TOPIC_ARN 추가

람다 함수 대상 추가

SNS 메시지 전송을 위한 코드 추가

재고가 0 이하일시, 구매 불가 메시지와 함께 sns로 메시지가 전송되어야 함

그러나 Internal Server Error 발생

SQS에 메시지도 들어가지 않음

트러블슈팅: ParameterValueInvalid

CloudWatch를 통해 로그를 살펴본 결과, ParameterValueInvalid 오류가 발생

console.log를 통해 Params를 찍어본 결과, MessageAttributeFactoryId의 값이 undefined인 것을 확인

POST 요청 시 바디 값으로 넘겨도 값을 읽지 못해서 코드를 수정하기로 결정

데이터베이스에서 읽어온 factory_id를 사용

성공적으로 작동하는 것을 볼 수 있다

Params에도 값이 정상적으로 들어갔다

트러블슈팅: SQS에 메시지 안들어감

메시지를 publish하는 코드까지 정상작동 했지만 SQS로 메시지가 들어가지 않는 상황이 발생했다

SQS와 SNS의 구독을 끊은 뒤, SQS에서 구독을 새로 생성해준 후 해결됐다

구독을 정상적으로 발행해도 이런 상황이 발생하는 경우가 종종 있다고 한다

SQS에서 구독을 생성해주면 보통 해결된다고 한다

 

SQS에도 메시지가 들어간 것을 확인