~/VibeHandbook
$39

챕터 09 · 07

는 "지금 해" 대신 "이거 나중에 해"라고 말할 수 있게 해준다. 사용자가 가입할 때, 환영 이메일을 보내고 아바타 크기를 조정하는 동안 그들이 기다리길 원하지 않을 것이다. 그런 작업을 큐(RabbitMQ, BullMQ, Cloudflare Queues, SQS)에 밀어 넣으면 백그라운드 워커가 집어간다. 사용자는 즉각적인 응답을 받는다.

느리거나, 실패하고 재시도할 수 있거나, 사용자에게 응답하기 전에 끝나지 않아도 되는 모든 작업에 큐를 사용하라.

대부분의 초보자가 부딪히는 함정은, 큐에 넣은 작업이 한 번 이상 실행될 수 있다는 것이다 — 네트워크 끊김으로 워커가 재시도하고, 이제 환영 이메일이 두 번 나간다. 해결책은 작업을 **멱등적(idempotent)**으로 만드는 것이다: 같은 작업을 두 번 실행해도 한 번 실행한 것과 같은 효과가 나도록 설계하라(보내기 전에 "이미 보냈나?"를 확인). 또한 계속 실패하는 작업을 어떻게 할지 미리 정하라; 성숙한 큐는 그것을 데드레터 큐로 보내, 독이 든 메시지 하나가 뒤에 줄 선 모든 것을 막지 않게 한다.

오프라인으로 보고 싶으세요?

PDF + EPUB + 다운로드형 프롬프트 라이브러리 + 버전 업데이트를 받으세요.

$ PDF 받기 — $39