Amazon SQS 메시지 그룹 ID 사용 - Amazon Simple Queue Service

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

Amazon SQS 메시지 그룹 ID 사용

MessageGroupId는 메시지가 특정 메시지 그룹에 속하도록 지정하는 태그입니다. 동일한 메시지 그룹에 속하는 메시지는 항상 메시지 그룹을 기준으로 엄격한 순서에 따라 하나씩 처리됩니다(다른 메시지 그룹에 속하는 메시지는 순서가 뒤바뀌어 처리될 수 있음).

여러 개의 정렬된 메시지 그룹 인터리브

단일 FIFO 대기열 내에서 정렬된 여러 메시지 그룹을 인터리브하려면 메시지 그룹 ID 값(예: 여러 사용자의 세션 데이터)을 사용해야 합니다. 이 시나리오에서 여러 소비자가 대기열을 처리할 수 있지만, 각 사용자의 세션 데이터는 FIFO 방식으로 처리됩니다.

참고

특정 메시지 그룹 ID에 속한 메시지가 표시되지 않으면, 다른 어떤 소비자도 동일한 메시지 그룹 ID로 메시지를 처리할 수 없습니다.

여러 생산자/소비자 시스템에서 중복 처리 방지

여러 생성자와 소비자에게 처리량과 지연 시간이 정렬보다 더 중요한 경우에 시스템에서 중복 메시지를 처리하지 않으려면, 생성자가 각 메시지별로 고유 메시지 그룹 ID를 생성해야 합니다.

참고

이 시나리오에서 중복 항목이 제거됩니다. 그러나 명령 실행 정렬은 보장되지 않습니다.

작업자가 제한 시간 초과 내에 메시지를 처리하지 않고 이 메시지를 다른 작업자가 사용할 수 있게 되면 여러 생성자와 소비자가 있는 시나리오에서는 중복 메시지를 부적절하게 전송할 위험이 높아집니다.

메시지 그룹 ID가 동일한 메시지의 대규모 백로그 방지

FIFO 대기열의 경우 최대 20,000개의 이동 중인 메시지(소비자가 대기열에서 수신했지만 대기열에서 아직 삭제되지 않은 메시지)가 있을 수 있습니다. 이 할당량에 도달해도 Amazon SQS에서는 오류 메시지를 반환하지 않습니다. FIFO 대기열은 처음 2만 개의 메시지를 검토하여 사용 가능한 메시지 그룹을 결정합니다. 즉, 단일 메시지 그룹에 메시지 백로그가 있는 경우 백로그의 메시지를 성공적으로 사용할 때까지 나중에 대기열로 전송된 다른 메시지 그룹의 메시지를 사용할 수 없습니다.

참고

메시지 그룹 ID가 동일한 메시지의 백로그는 사용자가 메시지를 처리할 수 없기 때문에 누적될 수도 있습니다. 메시지의 내용 문제 또는 사용자의 기술 문제로 인해 메시지 처리 문제가 발생할 수 있습니다.

처리할 수 없는 메시지를 반복적으로 제거하고 메시지 그룹 ID가 동일한 다른 메시지의 처리를 차단 해제하려면 배달 못한 편지 대기열 정책 설정을 고려하십시오.

가상 대기열에서 동일한 메시지 그룹 ID 재사용 방지

호스트 대기열이 동일한 서로 다른 가상 대기열로 전송된 동일한 메시지 그룹 ID를 가진 메시지가 서로 차단되는 것을 방지하려면 가상 대기열에서 동일한 메시지 그룹 ID를 재사용하는 것을 피해야 합니다.