메뉴 닫기

아마존 SQS 공정 대기열로 다중 테넌트 메시지 처리 품질 향상

아마존 SQS 공정 대기열(Fair Queues) 도입: 다중 테넌트 워크로드를 위한 안정적인 메시지 처리

인트로덕션

클라우드 환경에서 다양한 테넌트(고객, 애플리케이션, 요청 유형 등)가 공통된 대기열을 사용할 경우 특정 테넌트의 과도한 메시지 전송으로 인해 다른 테넌트의 응답성이 저하되는 'Noisy Neighbor' 문제는 SaaS 환경이나 마이크로서비스 아키텍처에서 자주 발생합니다. 이를 해결하기 위해 AWS는 Amazon SQS(Standard Queue)에 '공정 대기열(Fair Queues)' 기능을 새롭게 도입했습니다.

이 글에서는 공정 대기열 기능의 활용 방법, 주요 장점, 실제 활용 사례를 통해 Amazon SQS의 메시지 처리 품질을 개선하는 방법에 대해 안내드립니다.

본문

공정 대기열이란?

Amazon SQS의 Fair Queues는 다수의 테넌트가 공유하는 표준 대기열에서 특정 테넌트의 과도한 메시지 전송 또는 긴 메시지 처리 시간으로 인해 발생하는 지연 현상을 방지해주는 기능입니다. 메시지를 전송할 때 메시지 그룹 ID(Message Group ID)를 포함하면 자동으로 테넌트 단위로 메시지를 분리하고 관리할 수 있습니다.

활용 방식 및 배포 가이드

공정 대기열 기능은 특별한 코드 수정 없이도 현재 시스템에 바로 적용할 수 있다는 점에서 유니크한 자동화 기능을 제공합니다. 메시지 생성(Producer) 측에서 메시지 그룹 ID를 지정하기만 하면 되며, 메시지 소비자(Consumer)는 기존 방식 그대로 운영 가능합니다.

  • 활용 팁
    • SaaS 서비스에서 다수의 고객에게 특정 이벤트를 동시에 전송할 때
    • 다양한 마이크로서비스가 공통 이벤트 버스를 사용할 때
    • API 호출 유형이 다른 요청이 한 대기열에 섞여 있을 때

아키텍처 및 작동 원리

기존의 Amazon SQS Standard Queue는 높은 처리량과 무제한 스케일링이라는 이점을 제공하지만, 메시지의 수신 순서가 보장되지 않아 하나의 테넌트가 너무 많은 메시지를 보내면 전체 대기열의 지연 현상이 발생할 수 있습니다.

SQS Fair Queues는 메시지가 전송되었을 때 각 메시지 그룹 ID를 기준으로 대기열을 논리적으로 분할합니다. 특정 테넌트의 메시지가 대기열에 지나치게 몰릴 경우, 서비스 품질을 보장하고자 해당 테넌트 메시지의 대기 시간을 늘리고 나머지 테넌트의 메시지를 우선적으로 전달하여 처리됩니다.

이러한 방식으로 각 테넌트의 평균 대기 시간(Dwell Time)을 균일하게 유지하면서도 전체 시스템의 안정성과 처리량을 유지할 수 있습니다.

Amazon SQS 공정 대기열 처리 방식 아키텍처 다이어그램

비교 및 장점

항목 기존 SQS Standard Queue SQS Fair Queues
메시지 순서 보장 순서 보장 없음 테넌트 단위로 우선 순위 보장
Noisy Neighbor 대응 불가능 공정한 메시지 처리로 문제 완화
배포 편의성 기본 사용 가능 메시지 전송 시 그룹 ID만 추가하면 완료
성능 영향 낮은 영향 처리 지연 방지로 전반적인 QoS 향상

활용 사례

  1. SaaS 고객 다중 구성:
  • 같은 큐를 사용하는 수천 개 고객의 메시지를 균형 있게 처리하여 특정 고객 트래픽 폭주로 전체 성능이 저하되는 일을 방지
  1. 이벤트 중심 마이크로서비스:
  • 다양한 리소스의 이벤트를 하나의 큐로 수집하지만 그룹 ID로 각 서비스 단위를 구분해 각 리소스별 공정한 이벤트 처리
  1. 요청 유형 분리:
  • API Gateway로부터 수신되는 긴 처리시간이 필요한 작업과 짧은 작업을 각각 그룹 ID로 분리해 전반적인 응답 성능 관리

결론

Amazon SQS Fair Queues는 복잡한 다중 테넌트 환경에서도 안정적이고 공정한 메시지 처리를 가능하게 하여, 클라우드 기반 아키텍처의 성능과 안정성을 동시에 확보할 수 있게 도와줍니다. SaaS, 마이크로서비스, 이벤트 기반 시스템을 운영 중이라면 Fair Queues를 도입해 보시기 바랍니다.

기존 메시지 소비 방식을 그대로 유지하면서도 QoS 개선 효과를 누릴 수 있는 Fair Queues는, 실시간 메시지 처리 시스템을 구성하는 데 있어 혁신적인 도구가 될 수 있습니다.

[1] https://aws.amazon.com/blogs/compute/building-resilient-multi-tenant-systems-with-amazon-sqs-fair-queues/

AI, Cloud 관련한 문의는 아래 연락처로 연락주세요!

(주)에이클라우드
이메일 : acloud@a-cloud.co.kr
회사 번호 : 02-538-3988
회사 홈페이지 : https://www.a-cloud.co.kr/
문의하기


AI, Cloud 도입 상담 배너