본문 바로가기

소프트웨어-이야기/인프라

AWS SQS Queue - 표준 VS FIFO

표준 대기열

  • 초당 호출수 제한이 거의 없다. 무제한이다.
  • 표준 대기열도 최대한 메시지가 도착한 순서대로 처리될 수 있도록 메시지를 정렬하고 있다.
    • 그러나 순서가 안맞을 수도 있다.
  • 메시지가 중복으로 발행될 수도 있다. 
    • AWS에서는 고가용성을 위해 메시지를 여러 서버에 복제해둔다.
    • 만약 메시지 수신/삭제 요청이 서버에 반영되지 않는 경우, 메시지가 중복으로 발행될 수 있다.
    • 때문에 표준 대기열을 사용하는 경우, 중복 요청이 발생하더라도 문제가 되지 않도록 멱등적으로 기능을 구현해야한다. 

FIFO 대기열

  • 초당 호출수 제한이 있다.
    • API는 초당 최대 300개까지 호출할 수 있다. 
    • 배치 함수는 메시지를 초당 최대 3000개까지 처리할 수 있다.
      • 배치 API도 초당 최대 300개까지 호출할 수 있고, 하나의 API마다 10개씩 메시지를 처리할 수 있다.
  • 비즈니스 로직에서 메시지가 발행된 순서가 꼭 보장되어야할 때 사용한다.
  • 메시지가 중복으로 발행되지 않는다.
    • FIFO는 대기열에 중복으로 메시지를 발행하지 않는다. 

 

 

 

 

https://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/standard-queues.html

https://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html