SQS 메시지를 한 번만 처리하기 위한 고민 (FIFO, DB 멱등성, 그리고 현실적 고려사항)
·
Server/Infra
서론SQS의 메세지 중복되지 않아야한다면, 어떤 방법을 사용할 수 있을까요?멱등성을 지킨 코드 하나만으로 과연 대응할 수 있을까요? 면접에서 해당 질문을 듣고난 후, 답변을 하기 위해 정말 순간적으로 뇌의 저장공간들을 빠르게 훑었던 것 같습니다.당시 SQS를 생성할 때 'FIFO'라는 방식이 있다는 것이 스치듯 생각이 나서, FIFO로 메세지를 설정해놓을 것 같다고 재빠르게 대답했지만, 왜 이 방식이 중복을 방해하는지에 대해 알지 못했습니다. 더불어 해당 방법 외에도 어떤 방법들이 중복을 막을 수 있는지 궁금해졌습니다.본론FIFOAWS SQS에서 제공하는 FIFO 설정은 중복 제거 ID를 사용하여 해당 대기열의 메세지를 고유하게 식별하고 중복을 방지하는 것을 도와줍니다. 생산자가 메시지를 전송할 때 제공..