메시지 대기열은 서버리스 및 마이크로 서비스 아키텍처에 사용되는 비동기식 서비스 대 서비스 통신 형태입니다. 메시지는 처리되고 삭제되기 전까지 대기열에 저장됩니다. 각 메시지는 하나의 소비자가 한 번만 처리합니다. 메시지 대기열은 규모가 큰 처리 작업을 결합 해제하고, 버퍼링 또는 배치 작업을 수행하고, 급변하는 워크로드를 원활하게 지원하는 데 사용될 수 있습니다.
다음은 넓은 의미에서 메시지 대기열을 더 잘 이해하는 데 도움이 되는 몇 가지 리소스입니다. AWS의 메시지 대기열에 대해 알아보려면 Amazon Simple Queue Service(SQS) 웹 사이트를 방문하세요.
최신 클라우드 아키텍처에서는 애플리케이션이 좀 더 쉽게 개발, 배포 및 유지 관리할 수 있는 더 작고 독립적인 빌딩 블록으로 결합 해제됩니다. 메시지 대기열은 이러한 분산 애플리케이션을 위한 통신 및 조정 기능을 제공합니다. 메시지 대기열은 결합 해제된 애플리케이션의 코딩을 상당히 간소화하면서 동시에 성능, 안정성 및 확장성을 개선할 수 있습니다.
메시지 대기열에서는 시스템의 서로 다른 부분이 통신하고 비동기식으로 작업을 처리할 수 있습니다. 메시지 대기열은 메시지를 임시로 저장하는 경량 버퍼와 메시지를 송수신하기 위해 소프트웨어 구성 요소를 대기열에 연결할 수 있는 엔드포인트를 제공합니다. 메시지는 일반적으로 작으며 요청, 회신, 오류 메시지 또는 일반 정보일 수 있습니다. 메시지를 보내려면 생산자라는 구성 요소가 메시지를 대기열에 추가합니다. 소비자라는 다른 구성 요소가 메시지를 검색하여 관련 작업을 수행할 때까지 메시지는 대기열에 저장됩니다.
많은 생산자와 소비자가 대기열을 사용할 수 있지만 각 메시지는 한 명의 소비자에 의해 한 번만 처리됩니다. 이러한 이유로 이러한 메시징 패턴을 일대일 또는 지점 간 통신이라고 하는 경우가 많습니다. 둘 이상의 소비자가 메시지를 처리해야 하는 경우, 팬아웃 설계 패턴에서 메시지 대기열을 게시/구독 메시징과 결합할 수 있습니다. 자세한 내용은 ‘게시/구독 메시징이란 무엇입니까?’를 참조하고 AWS에서 게시/구독 메시징에 대한 개요는 Amazon Simple Notification Service(SNS) 웹 사이트를 방문하세요.