FIFO 주제에 대한 메시지 그룹화 - Amazon Simple Notification Service

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

FIFO 주제에 대한 메시지 그룹화

동일한 그룹에 속한 메시지는 그룹에 상대적인 엄격한 순서로 하나씩 처리됩니다.

Amazon SNS FIFO 주제에 메시지를 게시할 때 메시지 그룹 ID를 설정합니다. 그룹 ID는 메시지가 특정 메시지 그룹에 속하도록 지정하는 필수 토큰입니다. SNS FIFO 주제는 구독된 Amazon SQS FIFO 대기열에 그룹 ID를 전달합니다. SNS FIFO 주제 또는 SQS FIFO 대기열의 그룹 ID 수에는 제한이 없습니다. 메시지 그룹 ID는 Amazon SQS 표준 대기열로 전달되지 않습니다.

메시지 그룹과 구독 간에는 선호도가 없습니다. 따라서 모든 메시지 그룹에 게시된 메시지는 구독에 연결된 필터 정책에 따라 모든 구독 대기열에 전송됩니다. 자세한 정보는 FIFO 주제에 대한 메시지 전송FIFO 주제에 대한 메시지 필터링에서 확인하세요.

자동차 부품 가격 관리 예 사용 사례에는 플랫폼에서 판매되는 각 제품에 대한 전용 메시지 그룹이 있습니다. 동일한 Amazon SNS FIFO 주제가 모든 가격 업데이트를 처리하는 데 사용됩니다. 가격 업데이트 순서는 단일 자동차 부품 제품 컨텍스트 내에서 유지되지만 복수의 제품에서는 유지되지 않습니다. 다음 다이어그램은 이 과정을 보여 줍니다. 메시지 그룹 ID가 product-214인 제품의 경우 m1 메시지는 항상 m4 메시지보다 먼저 처리됩니다. 이 시퀀스는 Amazon SNS FIFO에서 Amazon SQS FIFO까지 사용하는 워크플로 전체에서 보존됩니다. 마찬가지로 메시지 그룹 ID가 제품-799인 제품의 경우 워크플로에서 Amazon SNS FIFO와 Amazon SQS FIFO를 사용하는 한 m2 메시지가 m3 메시지보다 먼저 처리됩니다. 하지만 Amazon SQS 표준 대기열을 사용하면 메시지 순서가 더 이상 보장되지 않으며 메시지 그룹이 존재하지 않습니다. product-214product-799 메시지 그룹은 서로 독립적이므로 해당 메시지의 순서를 지정하는 방법 사이에는 관계가 없습니다.


      메시지는 메시지 그룹과 관련하여 엄격한 순서로 처리됩니다.

성능 향상을 위한 메시지 그룹 ID별 데이터 배포

전송 처리량을 최적화하기 위해 Amazon SNS FIFO 주제는 서로 다른 메시지 그룹의 메시지를 병렬로 전송하지만 메시지 순서는 각 메시지 그룹 내에서 엄격하게 유지됩니다. 각 메시지 그룹은 초당 최대 300개의 메시지를 전송할 수 있습니다. 따라서 단일 주제에 대한 처리량을 높이려면 많은 수의 개별 메시지 그룹 ID를 사용하도록 합니다. Amazon SNS FIFO 주제는 다양한 메시지 그룹을 활용하여 더 많은 수의 병렬 파티션에 메시지를 자동으로 배포합니다.

참고

Amazon SNS FIFO 주제는 그룹 수에 관계없이 메시지 그룹 ID 전체에 메시지를 균일하게 배포하도록 최적화되어 있습니다. AWS에서는 성능 최적화를 위해 많은 수의 개별 메시지 그룹 ID를 사용할 것을 권장합니다.

처리량이 높고 Amazon SQS FIFO 대기열이 하나 이상 구독되어 있는 상태에서 Amazon SNS FIFO 주제에 게시하는 경우 대기열에 높은 처리량을 활성화하는 것이 좋습니다. 자세한 Amazon Simple Queue Service 개발자 안내서FIFO 대기열의 높은 처리량을 참조하세요.