[Springboot] AWS SQS๋ฅผ ์ด์šฉํ•œ ์•Œ๋ฆผ ์‹œ์Šคํ…œ ๊ตฌํ˜„ํ•˜๊ธฐ - ๋ฉ”์‹œ์ง€ ๋ฐœํ–‰ ๋กœ์ง
ยท
๋งŒ๋“ค์–ด๋ณด๊ธฐ/Spring
์„œ๋ก ๊ธฐ์กด์—๋Š” Spring์˜ `ApplicationEventPublisher`์™€ Redis์˜ Pub/Sub ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•ด ์•Œ๋ฆผ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค.์ด ๊ตฌ์กฐ๋Š” ๋‚ด๋ถ€ ์„œ๋ฒ„๊ฐ„ ์ด๋ฒคํŠธ ์ „ํŒŒ์™€ ๋ธŒ๋ผ์šฐ์ € ํด๋ผ์ด์–ธํŠธ๋กœ์˜ SSE ์•Œ๋ฆผ ์ „์†ก์— ํšจ๊ณผ์ ์ด์—ˆ์ง€๋งŒ, ์•Œ๋ฆผ ์ˆ˜๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ์ฒ˜๋ฆฌ์— ๋ณ‘๋ชฉ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‹คํŒจ์‹œ ์žฌ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ต๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.์ด๋Ÿฌํ•œ ํ•œ๊ณ„๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž AWS SQS๋ฅผ ๋„์ž…ํ•˜์—ฌ ์•Œ๋ฆผ ์‹œ์Šคํ…œ์„ ์žฌ๊ตฌ์„ฑํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด ๊ธ€์—์„œ ๊ตฌ์กฐ ์„ค๊ณ„, ๊ณ ๋ฏผํ–ˆ๋˜ ๋ถ€๋ถ„๋“ค๊ณผ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ์„ ์ค‘์‹ฌ์œผ๋กœ ์•Œ๋ฆผ ์‹œ์Šคํ…œ ์ „ํ™˜ ๊ณผ์ •์„ ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค.SQS๋ฅผ ๋„์ž…ํ•˜๊ฒŒ ๋œ ์ด์œ ๊ธฐ์กด์—๋Š” ์›จ์ดํŒ… ํ˜ธ์ถœ ์‹œ ํ•ด๋‹น ์›จ์ดํŒ…์˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ๋งŒ ์žˆ์—ˆ์ง€๋งŒ, ์ดํ›„ ์ฟ ํฐ ์ด๋ฒคํŠธ๊ฐ€ ์‹œ์ž‘๋˜๋ฉด ํ•ด๋‹น ๊ฐ€๊ฒŒ๋ฅผ ์ฐœํ•œ ์‚ฌ์šฉ์ž ์ „์ฒด์—๊ฒŒ ์•Œ๋ฆผ์„ ๋ฐœ์†กํ•ด์•ผ ํ•˜..
[AWS] AWS SQS(Simple Queue Service) ์ดํ•ดํ•˜๊ธฐ
ยท
๊ณต๋ถ€ํ•˜๊ธฐ/Cloud
AWS SQS๋ž€?Simple Queue Service๋กœ, AWS์—์„œ ์„œ๋น„์Šคํ•˜๋Š” ๋ฉ”์‹œ์ง€ ํ์ด๋‹ค.๋ฉ”์‹œ์ง€ ํ๋ฅผ ์™œ ์‚ฌ์šฉํ• ๊นŒ?ํ•˜๋‚˜์˜ API ์š”์ฒญ์— ๋™์‹œ์— ์ˆ˜ํ–‰๋˜๋Š” ํ›„์ฒ˜๋ฆฌ ์ž‘์—…๋“ค์ด ๋งŽ์€ ๊ฒฝ์šฐ ⇒ ์‘๋‹ต ์ง€์—ฐ ์ตœ์†Œํ™” ๋ฐ ์‹œ์Šคํ…œ ๊ฐ„ ๊ฒฐํ•ฉ๋„ ๊ฐ์†Œ ๊ฐ€๋Šฅ๋ฌธ์ œ ์ƒํ™ฉ์‘๋‹ต ์ง€์—ฐ ๋ฌธ์ œ : API ๋‚ด๋ถ€์—์„œ ๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด ์‘๋‹ต ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•จ → UX ์ €ํ•˜์žฅ์•  ์ „ํŒŒ ์œ„ํ—˜ : ์™ธ๋ถ€ API ํ˜ธ์ถœ์ด ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ, ์„œ๋น„์Šค ํ•˜๋‚˜์— ์žฅ์• ๊ฐ€ ๋‚˜๋„ ์ „์ฒด ๊ธฐ๋Šฅ ์žฅ์• ๋กœ ์ด์–ด์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œํ•ด๊ฒฐํ•œ API๋Š” ๊ด€๋ จ ์ž‘์—…๋งŒ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋™๋ฐ˜๋˜์–ด์•ผ ํ•˜๋Š” ๊ฐ ์ž‘์—…์„ ๋ฉ”์‹œ์ง€๋กœ ๋งŒ๋“ค์–ด ํ์— ๋„ฃ์Œ๊ฐ๊ฐ์˜ ์ž‘์—…์„ ๋‹ด๋‹นํ•˜๋Š” Consumer๊ฐ€ ํ์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์†Œ๋น„ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•จํšจ๊ณผ๊ณ ๊ฐ์˜ ์‘๋‹ต ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๊ฐ์†Œํ›„์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์— ์žฅ์• ๊ฐ€ ๋‚˜๋„ ๋ฉ”์ธ ์ž‘์—… ์ž์ฒด๋Š” ์ •์ƒ ..