Amazon SQS에서 롱 폴링 설정하기 - Amazon Simple Queue Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon SQS에서 롱 폴링 설정하기

ReceiveMessage API 작업에 대한 대기 시간이 0보다 큰 경우 긴 폴링이 유효합니다. 긴 폴링 대기 시간의 최대값은 20초입니다. 긴 폴링은 빈 응답 수를 줄이고(ReceiveMessage 요청에 사용 가능한 메시지가 없는 경우) 거짓의 빈 응답을 제거하여(메시지를 사용할 수 있지만 응답에 포함되지 않은 경우) Amazon SQS 사용 비용을 줄여 줍니다. 자세한 정보는 Amazon SQS 짧은 폴링 및 긴 폴링을 참조하세요.

메시지 처리를 최적화하려면 다음 전략을 사용하세요.

  • 대부분의 경우 ReceiveMessage 대기 시간을 20초로 설정할 수 있습니다. 애플리케이션에 20초가 너무 긴 경우 ReceiveMessage 대기 시간을 더 짧게 설정할 수 있습니다(최소값은 1초). Amazon SQS에 액세스하는 데 AWS SDK를 사용하지 않거나 대기 시간을 단축하도록 SDK를 구성하는 AWS 경우, 더 긴 요청을 허용하거나 긴 폴링을 위해 더 짧은 대기 시간을 사용하도록 Amazon SQS 클라이언트를 수정해야 할 수 있습니다.

  • 여러 대기열에 대해 긴 폴링을 구현할 경우에는 모든 대기열에 단일 스레드를 사용하지 말고 각 대기열마다 하나의 스레드를 사용하는 것이 좋습니다. 각 대기열마다 하나의 스레드를 사용하면 애플리케이션이 각 대기열에서 메시지를 사용 가능한 즉시 처리할 수 있지만, 하나의 스레드를 사용하여 여러 대기열을 폴링하면 애플리케이션이 사용 가능한 메시지가 없는 대기열을 대기하느라(최대 20초) 다른 대기열에서 사용 가능한 메시지를 처리하지 못하게 될 수 있습니다.

중요

HTTP 오류를 방지하려면 ReceiveMessage 요청에 대한 HTTP 응답 제한 시간이 WaitTimeSeconds 파라미터보다 긴지 확인합니다. 자세한 내용은 ReceiveMessage를 참조하세요.