Message Visibility Timeout

๋ฉ”์‹œ์ง€ ๊ฐ€์‹œ์„ฑ ์ดˆ๊ณผ

image-20220915003819642

  • ์†Œ๋น„์ž๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ํด๋งํ•˜๋ฉด ๊ทธ ๋ฉ”์‹œ์ง€๋Š” ๋‹ค๋ฅธ ์†Œ๋น„์ž๋“ค์—๊ฒŒ ๋ณด์ด์ง€ ์•Š๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ์ ์œผ๋กœ, โ€œ๋ฉ”์‹œ์ง€ ๊ฐ€์‹œ์„ฑ ์ดˆ๊ณผโ€ ๋Š” 30์ดˆ์ด๋‹ค.
    • ์ฆ‰, ๋ฉ”์‹œ์ง€๋ฅผ Consumeํ•˜๋ฉด, ๊ทธ ๋ฉ”์‹œ์ง€๋Š” 30์ดˆ๋™์•ˆ ๋‹ค๋ฅธ ์†Œ๋น„์ž(Worker)์—๊ฒŒ ๋ณด์ด์ง€ ์•Š๊ฒŒ ๋œ๋‹ค.
  • ๊ทธ ๋ง์ธ ์ฆ‰์Šจ, ์ด 30์ดˆ ๋™์•ˆ ๋ฉ”์‹œ์ง€๊ฐ€ ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•œ๋‹ค.
    • ๋™์ผํ•œ or ๋‹ค๋ฅธ ์†Œ๋น„์ž๊ฐ€ ๋ฉ”์‹œ์ง€ ์š”์ฒญ API๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • ์‹œ๊ฐ„ ์ดˆ๊ณผ ๊ธฐ๊ฐ„ ๋‚ด์— ๋˜ ๋‹ค๋ฅธ ์š”์ฒญ์ด ๋“ค์–ด์™€๋„ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š๋Š”๋‹ค.
  • ๊ฐ€์‹œ์„ฑ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๊ฒฝ๊ณผ๋˜๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ์‚ญ์ œ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๋ฉ”์‹œ์ง€๋Š” ๋Œ€๊ธฐ์—ด์— ๋‹ค์‹œ ๋„ฃ์Šต๋‹ˆ๋‹ค.
    • 30์ดˆ ๋™์•ˆ ์ž‘์—…์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์œผ๋ฉด, ๋‹ค์‹œ SQS์— ๋„ฃ๋Š”๋‹ค.
    • ๊ทธ๋Ÿฌ๋ฉด, ๋‹ค๋ฅธ / ๋™์ผํ•œ ์†Œ๋น„์ž๊ฐ€ ๋˜ ReceiveMessage API๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์ด์ „์˜ ๊ทธ ๋ฉ”์‹œ์ง€๋ฅผ ๋˜ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
  • ๋ฉ”์‹œ์ง€๋ฅผ ๋นง๋Š” ๋™์•ˆ ๊ฐ€์‹œ์„ฑ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ณด์ด์ง€ ์•Š๊ฒŒ ๋œ๋‹ค.

  • ๊ฐ€์‹œ์„ฑ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๊ธฐ๊ฐ„ ๋‚ด์— ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฉ”์‹œ์ง€๊ฐ€ ๋‘ ๋ฒˆ ์ฒ˜๋ฆฌ๋ ์ˆ˜๋„ ์žˆ๋‹ค.
  • ๋‘ ๋ช…์˜ ๋‹ค๋ฅธ ์†Œ๋น„์ž๊ฐ€ ์ˆ˜์‹ ํ•˜๊ฑฐ๋‚˜, ๋™์ผํ•œ ์†Œ๋น„์ž๊ฐ€ ๋‘ ๋ฒˆ ์ˆ˜์‹ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ์†Œ๋น„์ž๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ ๊ทน์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ์ง€๋งŒ, 30์ดˆ์•ˆ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์–ด ์‹œ๊ฐ„์ด ๋” ํ•„์š”ํ•˜๋‹ค๋ฉด ChangeMessageVisibility ๋ผ๋Š” API ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ SQS์— ์•Œ๋ ค์•ผ ํ•œ๋‹ค.

  • Message Visibility TImeout ์„ ๋งค์šฐ ๋†’๊ฒŒ ์„ค์ •ํ•˜๋ฉด (hour),
    • ์†Œ๋น„์ž๊ฐ€ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ๋„์ค‘์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ์ด ๋ฉ”์‹œ์ง€๊ฐ€ ๋‹ค์‹œ ๋‚˜ํƒ€๋‚  ๋•Œ๊นŒ์ง€ ์ฆ‰, SQS ๋Œ€๊ธฐ์—ด์— ๋ณด์ด๊ธฐ๊นŒ์ง€ ๋ช‡ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.
  • ๋ฐ˜๋Œ€๋กœ ์‹œ๊ฐ„์„ ๋งค์šฐ ๋‚ฎ๊ฒŒ ์„ค์ •ํ•˜๋ฉด (second),
    • ์†Œ๋น„์ž๊ฐ€ ์–ด๋–ค ์ด์œ ๋กœ๋“  ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•  ์‹œ๊ฐ„์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋‹ค๋ฅธ ์†Œ๋น„์ž๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ฝ์„ ๊ฒƒ์ด๋ฉฐ ์ค‘๋ณต ์ฒ˜๋ฆฌ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ฆ‰, ์šฐ๋ฆฌ์˜ App ์ƒํ™ฉ์— ๋งž๊ฒŒ๋” ์ ์ ˆํ•œ ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
    • ์ฒ˜๋ฆฌ๋„์ค‘์— ์‹œ๊ฐ„์ด ๋ถ€์กฑํ•˜๋‹ค๋ฉด ChangeMessageVisibility API๋ฅผ ํ˜ธ์ถœํ•˜๋„๋ก ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•ด์•ผ ํ•œ๋‹ค.

AWS

image-20220915005246649

SQS ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜, ํŽธ์ง‘ํ•  ๋•Œ, Message Visibility Timeout (๋ฉ”์‹œ์ง€ ๊ฐ€์‹œ์„ฑ ์ดˆ๊ณผ) ๋Š”, โ€œํ‘œ์‹œ ์ œํ•œ ์‹œ๊ฐ„โ€ ์ด๋ผ๊ณ  ๋ฒˆ์—ญ๋˜์–ด ์žˆ๋Š” ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’ 30์ดˆ๋กœ ์„ค์ •๋˜์–ด์žˆ์œผ๋‹ˆ, ์ƒํ™ฉ์— ๋งž๊ฒŒ ์ ์ ˆํ•˜๊ฒŒ ์ˆ˜์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Message Visibility Timeout == ๋ฉ”์‹œ์ง€ ๊ฐ€์‹œ์„ฑ ์ดˆ๊ณผ == ํ‘œ์‹œ ์ œํ•œ ์‹œ๊ฐ„

๊ฐ™์€ ๋œป์ธ๋“ฏ..

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