DLQ로 사용할 SQS 생성
기존 SQS에서 DLQ 선택
메시지 소비 람다 함수 생성을 위해 서버리스 템플릿 생성
메시지의 내용을 잘 읽어왔는지 확인하기 위해 console.log 작성
module.exports.handler = async (event) => {
console.log(event)
return event
};
생성된 람다 함수에 트리거 추가
그러나 권한 문제 발생
람다 함수의 권한 추가
트리거 생성 완료
데이터베이스 연결 오류 발생
too many connections
데이터베이스를 수강생 전체가 사용하면서 발생한 오류같았다
엔지니어님 이거 보시면 연결수 늘려주세요
curl 요청 후, SQS에 있던 메시지가 사라진 것을 볼 수 있다
람다 함수의 로그를 살펴보면 메시지가 정상적으로 넘어온 것을 볼 수 있다
DLQ가 정상작동하는지 확인하기 위해 코드에 딜레이를 추가한다
function delay(time) {
return new Promise(resolve => setTimeout(resolve, time));
}
module.exports.handler = async (event) => {
await delay(15000)
console.log(event)
return event
};
타임아웃이 발생한 것을 볼 수 있다
기존 큐에 있던 메시지가 dlq로 이동한 것을 볼 수 있다
'Code States > TIL' 카테고리의 다른 글
[0531] 서비스 모니터링 - 모니터링의 목표와 측정 항목 (0) | 2023.05.31 |
---|---|
[0526] 섹션 3. 프로젝트 - 마이크로서비스 Day 3 - Step 4(데이터베이스의 재고를 증가시키는 Lambda 함수 생성) (0) | 2023.05.26 |
[0525] 섹션 3. 프로젝트 - 마이크로서비스 Day 2 - Step 2(“재고 없음” 메세지 전달 시스템 구성) (0) | 2023.05.25 |
[0525] 섹션 3. 프로젝트 - 마이크로서비스 Day 2 - Step 1(Lambda 서버 - DB 연결) (0) | 2023.05.25 |
[0524] 섹션 3. 프로젝트 - 마이크로서비스 Day 1 - Tutorial (0) | 2023.05.24 |