AWS SQS receiveMessage 요청한 것보다 적은 수의 메시지를 수신했습니까?
P粉894008490
P粉894008490 2023-12-24 10:50:53
0
1
454

간단한 SQS가 구성되어 있고 4 메시지를 한 번에 처리하고 싶습니다. 내 테스트에서는 2 "사용 가능" 메시지가 있었습니다. 메시지를 받으면 한 번에 1만 생성됩니다. 내가 뭘 잘못했나요?

sqs = boto3.client('sqs')
response = sqs.receive_message(
    QueueUrl=queue_url,
    MaxNumberOfMessages=4
)

P粉894008490
P粉894008490

모든 응답(1)
P粉654894952

당신은 아무 잘못도 하지 않았으며 이러한 행동은 정상입니다.

이는 SQS(및 대부분의 AWS 서비스)의 분산 특성 때문입니다. 기본적으로 모든 노드에 사용 가능한 모든 메시지가 있는 것은 아니며, 사용 가능한 경우 대화 중인 노드는 0에서 MaxNumberOfMessages 사이의 숫자를 반환할 수 있습니다. 단일 호출에서 실제로 여러 메시지를 받으려면 대기열에 100개 또는 1000개 이상의 메시지가 있어야 하며, 그래도 운이 좋지 않아 메시지를 거의 받지 못할 수도 있습니다.

문서에서:

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿