sqs의 메시지가 처리되면 NumberOfMessagesDeleted도 증가할까?

jinwook han·2021년 11월 10일
1

aws sqs 모니터링

목록 보기
4/4

sqs의 메시지가 처리되면 NumberOfMessagesDeleted도 증가할까?
-> 증가한다.

처리라는 말이 애매모호하지만,
aws에서는 sqs의 메시지를 처리한다는 건 곧 sqs 속 이벤트를 삭제하는 작업까지 완료하는 것이다.

aws 문서에서 설명하는 message lifecycle을 보면 이벤트를 삭제하는 과정도 이벤트 처리 과정에 포함되어 있다.

따라서 sqs의 메시지가 처리된다면 sqs 속 이벤트 삭제까지 이루어지고, 그에 따라 NumberOfMessagesDeleted는 증가한다.
aws lambda에서는 이벤트 처리 후 이벤트를 삭제한다고 명시되어 있고, spring cloud acknowledgement 객체의 경우 acknowledge 함수 호출이 이벤트 삭제를 일으킬 수 있다고 나와 있다.

실험

1. sqs, sns를 준비한다.

2. sqs에 sns를 연결한다.

test-sns sns에 hello-queue sqs를 연결했다.

3. sqs와 lambda를 연결한다.

hello-queue sqs에 event-listen-from-sqs lambda를 연결했다.

4. sns에서 메시지를 두 번 보낸다.

sns화면에서 publlish 기능을 활용한다.

5. sqs 모니터링 화면을 확인한다.

NumberOfMessagesDeleted가 2만큼 증가했다.
lambda에서 처리한 이벤트 개수만큼 증가한 것이다.

참고자료:

sqs 구조에 관한 aws 문서: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-basic-architecture.html
lambda와 sqs 연동에 대한 aws 문서:
https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html
spring cloud Acknowledgment 클래스 설명:
https://javadoc.io/static/org.springframework.cloud/spring-cloud-aws-messaging/2.2.1.RELEASE/org/springframework/cloud/aws/messaging/listener/Acknowledgment.html
sqs 모니터링 수치에 관한 aws 문서:
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html

0개의 댓글