SQS - Dead Letter Queue

  • ์†Œ๋น„์ž๊ฐ€ โ€œ๊ฐ€์‹œ์„ฑ ์‹œ๊ฐ„ ์ดˆ๊ณผโ€ ๋‚ด์— ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด๋ณด์ž
    • ๋ฉ”์‹œ์ง€๊ฐ€ ์ž๋™์œผ๋กœ ๋Œ€๊ธฐ์—ด๋กœ ๋Œ์•„๊ฐ„๋‹ค.
    • ์†Œ๋น„์ž๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ฝ๋Š”๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„์ˆ˜๋„ ์žˆ๊ณ , ์‹œ๊ฐ„์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์„์ˆ˜๋„ ์žˆ๋‹ค.
    • ์ด๋Ÿฐ ๊ฒฝ์šฐ ๋ฉ”์‹œ์ง€๋Š” ๋Œ€๊ธฐ์—ด๋กœ ๋‹ค์‹ฃ ใ…—ใ„น์•„๊ฐ„๋‹ค.
  • ์œ„์™€ ๊ฐ™์€ ์ผ์ด ์ž์ฃผ ์ผ์–ด๋‚œ๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ค์‹œ ์ฝ๊ฒŒ ๋˜์–ด์„œ ๋ฉ”์‹œ์ง€์— ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.
  • ์†Œ๋น„์ž๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ฑฐ๋‚˜, ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๋ฉ”์‹œ์ง€๊ฐ€ ๋‹ค์‹œ ๋Œ€๊ธฐ์—ด์— ๋“ค์–ด๊ฐ€๊ณ , ์ด ๊ณผ์ •์ด ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค.

  • SQS ์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ค์‹œ ์ฝ๊ณ  ๋‹ค์‹œ ๋ฉ”์‹œ์ง€๊ฐ€ ๋Œ€๊ธฐ์—ด๋กœ ๊ฐ€๋Š” ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ๊ฒช๊ฒŒ ๋œ๋‹ค.
    • ์—ฌ๊ธฐ์„œ ๋ช‡๋ฒˆ ์ด๋‚˜ ๋ฐ˜๋ณตํ• ์ง€ ์ž„๊ณ„๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ํ•ด๋‹น ์ž„๊ณ„๊ฐ’์„ ์ดˆ๊ณผํ•˜๋ฉด SQS์—๋Š” ๋ฉ”์‹œ์ง€์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ•˜๊ณ , DLQ ์— ์ „๋‹ฌ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋งŽ์€ ์ฒ˜๋ฆฌ ์‹œ๋„๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ, ์„ฑ๊ณตํ•˜์ง€ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”์‹œ์ง€๋ฅผ DLQ๋กœ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.
  • DLQ ์—๋Š” ๋‚˜์ค‘์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ํฌํ•จํ•˜๊ณ , ๊ทธ ๋ฉ”์‹œ์ง€๋Š” ์ฒซ ๋ฒˆ์งธ ๋Œ€๊ธฐ์—ด์—์„œ ์ œ๊ฑฐ๋˜๊ณ  ๋‘ ๋ฒˆ์งธ ๋Œ€๊ธฐ์—ด๋กœ ๋ณด๋‚ด์ง‘๋‹ˆ๋‹ค.

DLQ ๋ชฉ์ 

  • ๋””๋ฒ„๊น…
  • ์ผ๋ถ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•˜์—ฌ DLQ, ์ฆ‰ ๋ฐ๋“œ ๋ ˆํ„ฐ ๋Œ€๊ธฐ์—ด๋กœ ๋ณด๋‚ผ ์ˆ˜ ์—†์œผ๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ†ตํ•ด ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ถ„์„ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ด๊ฐ€ ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฉˆ์ถ˜ ์ด์œ ๋‚˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ ์ด์œ ๋ฅผ ํŒŒ์•…ํ•˜๋Š”๋ฐ ์œ ์šฉ
  • DLQ ๋Š” 14์ผ ์ •๋„์˜ ๋†’์€ ๋ณด์กด ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
    • SQS๊ฐ€ ๋ฉ”์‹œ์ง€ ๋ณด๊ด€๊ธฐ๊ฐ„์ œํ•œ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ผ์ •์‹œ์ ์— ๋งŒ๋ฃŒ๋˜๊ธฐ ๋•Œ๋ฌธ
    • ๋ฉ”์‹œ์ง€๋ฅผ ์ฝ๊ณ  ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹คํŒจ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•œ ์ผ์„ ํŒŒ์•…ํ•  ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ

SQS DLQ - Redrive to Source

DLQ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ธฐ๋Šฅ

  • DLQ ๋ฉ”์‹œ์ง€๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌด์—‡์ด ์ž˜๋ชป๋˜์—ˆ๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๊ธฐ๋Šฅ
  • ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด ์†Œ์Šค๋Œ€๊ธฐ์—ด์—์„œ ๋ฉ”์‹œ์ง€๊ฐ€ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์€๊ฒƒ์„ ์•Œ๊ฒŒ ๋œ๋‹ค.
    • ๋”ฐ๋ผ์„œ DLQ์— ๋ฉ”์‹œ์ง€๊ฐ€ ์žˆ๋‹ค๋Š” ์˜๋ฏธ
  • ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜๋™์œผ๋กœ ๊ฒ€์‚ฌํ•˜๊ณ , ๋””๋ฒ„๊น…ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”์‹œ์ง€๊ฐ€ ์ฒ˜๋ฆฌ๋˜์ง€ ๋ชปํ•œ ์ด์œ ๋ฅผ ํŒŒ์•…ํ•œ ํ›„ ์†Œ๋น„์ž ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ DLQ์—์„œ Source Queue๋กœ ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ reDrive ํ•ฉ๋‹ˆ๋‹ค.
  • ์žฅ์ 
    • ์†Œ๋น„์ž์˜ ๊ฒฝ์šฐ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‹ค๋ฅธ ๋Œ€๊ธฐ์—ด๋กœ ๋“ค์–ด๊ฐ”์—ˆ๊ณ  ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค์กฐ์ฐจ ๋ชจ๋ฅธ ์ฑ„ ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ค์‹œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

AWS Console

  • Queue ๋ฅผ ๋‘๊ฐœ ์ƒ์„ฑํ•œ๋‹ค.
    • 1๊ฐœ - ์ผ๋ฐ˜ Queue
    • 1๊ฐœ - DLQ

image-20221005003121587

  • ์ผ๋ฐ˜ Queue์˜ ์ˆ˜์ •ํƒญ์— ๋“ค์–ด๊ฐ„๋‹ค.
  • ๋ฐฐ๋‹ฌ ๋ชปํ•œ ํŽธ์ง€ ๋Œ€๊ธฐ์—ด (Dead Letter Queue)๋ฅผ ํ™œ์„ฑํ™” ์‹œํ‚จ๋’ค ๋งŒ๋“ค์—ˆ๋˜ DLQ๋ฅผ ์„ ํƒํ•œ๋‹ค.
  • ์ตœ๋Œ€ ์ˆ˜์‹  ์ˆ˜๊ฐ€ 3์ด๋ฉด, ์ตœ๋Œ€ 3๋ฒˆ ์žฌ์‹œ๋„ํ•˜๊ณ  4๋ฒˆ์งธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ๊ฐ€ ์‹คํŒจํ•˜๋ฉด DLQ๋กœ ๋ณด๋‚ธ๋‹ค๋Š” ์˜๋ฏธ

image-20221005003311630

  • ์ผ๋ฐ˜ Queue ์ˆ˜์ • ์ „์ฒด ํ™”๋ฉด

image-20221005003354797

์ด์ œ ์ฒซ๋ฒˆ์งธ ๋Œ€๊ธฐ์—ด์— ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๊ณ , Polling์„ ํ•˜์—ฌ
์ฒ˜๋ฆฌ๋ฅผ 4๋ฒˆ์งธ ์žฌ์‹œ๋„ํ• ๋•Œ DLQ ๋กœ ๋ฉ”์‹œ์ง€๊ฐ€ ์ „์†ก๋˜๋Š”๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ