Amazon Simple Queue Service(Amazon SQS)는
마이크로서비스, 분산 시스템 및 서버리스 어플리케이션을 분리, 확장을 위한 완전 관리형 메시지 대기열 서비스이다.
표준대기열
무제한 큐 및 메시지
페이로드 크기
배치
긴 폴링
메시지 최대 14일 동안 보관하여 큐에 유지한다.
메시지를 동시에 보내고 읽는다.
메시지 잠금
큐 공유
서버 측 암호화(SSE)
배달 못한 편지 큐(Dead Letter Queue)
다른 AWS 인프라와 함꼐 사용 가능
메시지 송신부(producer)가 SQS에 메시지 A를 보냅니다.
SQS는 메시지A를 사본을 만들어 여러 곳에 안전하게 보관합니다. (유실 방지)
수신부(consumer)가 SQS에서 메시지 A를 처리하고자 가져갑니다. (inflight 상태)
SQS입장에서 수신부가 메시지A를 가져갔기 때문에, 큐에 메시지가 남아있기는 하지만, 다른 컨슈머가 메시지 A를 (또) 가져가지 않도록 일정시간동안(visibility timeout) 수신요청에 드러나지 않습니다.
수신부(consumer)가 메시지를 정상 처리 완료했다면, 직접 SQS에 메시지A를 삭제하도록 요청합니다. (완료)
만약 어떤 이유로 수신부(consumer)가 메시지를 삭제하지 않는다면, 일정 시간이 지나면, 메시지 A가 다시 수신 요청에 드러납니다. (재처리 가능)
선결제 비용이 없고, 매월 첫 백만 건의 요청은 무료이다.
사용에 관한 글은 채널톡의 개발 블로그를 참조하면 도움이 된다.
https://channel.io/ko/blog/tech-backend-aws-sqs-introduction
https://bebong.tistory.com/entry/SQS-with-Spring