Message Visibility Timeout
๋ฉ์์ง ๊ฐ์์ฑ ์ด๊ณผ
- ์๋น์๊ฐ ๋ฉ์์ง๋ฅผ ํด๋งํ๋ฉด ๊ทธ ๋ฉ์์ง๋ ๋ค๋ฅธ ์๋น์๋ค์๊ฒ ๋ณด์ด์ง ์๊ฒ ๋ฉ๋๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก, โ๋ฉ์์ง ๊ฐ์์ฑ ์ด๊ณผโ ๋ 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
SQS ๋ฅผ ์์ฑํ๊ฑฐ๋, ํธ์งํ ๋, Message Visibility Timeout (๋ฉ์์ง ๊ฐ์์ฑ ์ด๊ณผ) ๋, โํ์ ์ ํ ์๊ฐโ ์ด๋ผ๊ณ ๋ฒ์ญ๋์ด ์๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค. ๊ธฐ๋ณธ๊ฐ 30์ด๋ก ์ค์ ๋์ด์์ผ๋, ์ํฉ์ ๋ง๊ฒ ์ ์ ํ๊ฒ ์์ ํ๋ฉด ๋ฉ๋๋ค.
Message Visibility Timeout == ๋ฉ์์ง ๊ฐ์์ฑ ์ด๊ณผ == ํ์ ์ ํ ์๊ฐ
๊ฐ์ ๋ป์ธ๋ฏ..
๋๊ธ๋จ๊ธฐ๊ธฐ