๊ธฐ์ดˆ CS ๊ด€๋ จํ•ด์„œ ๊ณต๋ถ€ํ•  ์˜ˆ์ •์ด๋‹ค. ๋‹ค์Œ์˜ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•  ์˜ˆ์ •์ด๋‹ค.

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด
  • ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
  • ์›น ๊ธฐ์ˆ 
  • ์šด์˜ ์ฒด์ œ
  • ๋„คํŠธ์›Œํฌ
  • ๋ณด์•ˆ
  • ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…
  • ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก 
  • ๋กœ๊น… ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง
  • ํ…Œ์ŠคํŠธ ๋ฐ ๋””๋ฒ„๊ฒ…
  • ์ž๋™ํ™” ๋ฐฐํฌ
  • ์ปจํ…Œ์ด๋„ˆ ๋ฐ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜
  • ์„ฑ๋Šฅ ์ตœ์ ํ™”

CI/CD

Continuous Integration + Continuous Delivery ์˜ ์•ฝ์–ด๋กœ, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๊ณ  ๊ฐœ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. CI ๋Š” ๋‹ค์Œ์˜ ๋‹จ๊ณ„๋ฅผ ๊ฐ€์ง„๋‹ค.

  1. ์ฝ”๋“œ ์ž‘์„ฑ
  2. ์ž๋™ ๋นŒ๋“œ
  3. ์ž๋™ ํ…Œ์ŠคํŠธ
  4. ์ž๋™ํ™”๋œ ํ†ตํ•ฉ

CD๋Š” ๋‹ค์Œ์˜ ๋‹จ๊ณ„๋ฅผ ๊ฐ€์ง„๋‹ค.

  1. CI๋ฅผ ํ†ตํ•œ ์ž๋™ํ™”
  2. ์ž๋™ ๋ฐฐํฌ ์ค€๋น„
  3. ์ˆ˜๋™ ์Šน์ธ
  4. ์ž๋™ ๋ฐฐํฌ

์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ ์ข…๋ฅ˜

  • ์ŠคํŠธ๋ ˆ์Šค ํ…Œ์ŠคํŠธ : ์ŠคํŠธ๋ ˆ์Šค ํ…Œ์ŠคํŠธ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ตœ๋Œ€ ๋ถ€ํ•˜์—์„œ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•œ๋‹ค. ์ด ํ…Œ์ŠคํŠธ์—์„œ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ ํ•œ๊ณ„๋ฅผ ํ™•์ธํ•˜๊ณ  ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ถ€ํ•˜ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•œ๋‹ค. ๋Œ€๋Ÿ‰์˜ ๋™์‹œ ์‚ฌ์šฉ์ž ๋˜๋Š” ํŠธ๋žœ์žญ์…˜์„ ์ƒ์„ฑํ•˜๊ณ  ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‘๋‹ต ์‹œ๊ฐ„๊ณผ ์ž์› ์‚ฌ์šฉ๋Ÿ‰์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.
  • ์ŠคํŒŒ์ดํฌ ํ…Œ์ŠคํŠธ : ์ŠคํŒŒ์ดํฌ ํ…Œ์ŠคํŠธ๋Š” ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ๋ถ€ํ•˜ ์ฆ๊ฐ€์— ๋Œ€ํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋Œ€์‘ ๋Šฅ๋ ฅ์„ ํ…Œ์ŠคํŠธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŠน์ • ์ด๋ฒคํŠธ๋‚˜ ๊ด‘๊ณ  ์บ ํŽ˜์ธ์œผ๋กœ ์ธํ•ด ๊ฐ‘์ž๊ธฐ ๋งŽ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์— ์—‘์„ธ์Šคํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•œ๋‹ค.
  • ์ธ๋”๋Ÿฐ์Šค ํ…Œ์ŠคํŠธ : ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์žฅ๊ธฐ๊ฐ„ ์‹คํ–‰ํ•˜๋Š” ํ…Œ์ŠคํŠธ๋กœ, ์ง€์†์ ์œผ๋กœ ๋ถ€ํ•˜๋ฅผ ๊ฐ€ํ•˜๊ฑฐ๋‚˜ ํŠน์ • ๋ถ€ํ•˜๋ฅผ ์œ ์ง€ํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•ˆ์ •์„ฑ์„ ํ™•์ธํ•œ๋‹ค. ์ด ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์žฅ๊ธฐ์ ์ธ ์•ˆ์ •์„ฑ, ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜, ์ž์› ๋ˆ„์ˆ˜ ๋“ฑ์„ ๊ฒ€์ฆํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ธ๋”๋Ÿฐ์Šค ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์žฅ์‹œ๊ฐ„ ์‹คํ–‰ ์ค‘์— ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์„ฑ๋Šฅ ์ €ํ•˜๋‚˜ ์‹œ์Šคํ…œ ์žฅ์• ๋ฅผ ๊ฒฝํ—˜ํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง

์Šค์ผ€์ผ ์•„์›ƒ

AWS ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์ด์šฉํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—ฌ๋Ÿฌ ์„œ๋ฒ„๋กœ ๋ถ„์‚ฐํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝใ„น์„ ๊ท ํ˜•์žˆ๊ฒŒ ๋ถ„๋ฐฐ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ ์ œ๊ณต

๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

MSA๋ฅผ ๊ณ ๋ คํ•ด ๊ฐ ๋ถ€๋ถ„์„ ๋…๋ฆฝ์ ์œผ๋กœ ์Šค์ผ€์ผ ์•„์›ƒ ๋ฐ ํ™•์žฅ์„ฑ ์ œ๊ณต

์บ์‹ฑ ํ™œ์šฉ

๊ฒŒ์‹œ๋ฌผ ๋ชฉ๋ก, ์‚ฌ์šฉ์ž ํ”„๋กœํ•„, ์ด๋ฏธ์ง€ ๋“ฑ ์ž์ฃผ ์ ‘๊ทผํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹œํ•œ๋‹ค. ์ด ๋•Œ, Ehcache, Redis, ๋˜๋Š” ๊ธฐํƒ€ ์บ์‹ฑ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•ด ์„ฑ๋Šฅ ํ–ฅ์ƒ

๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

SPring์—์„  ๋น„๋™๊ธฐ ์„œ๋น„์Šค ๋ฐ ๋ฉ”์‹œ์ง•์„ ์ด์šฉํ•ด ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌ ๋ฐ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์ค„์ž„

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ตœ์ ํ™”

๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์—์„œ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋ถ€๋ถ„์„ ๊ฐœ์„ ํ•˜๊ณ , ๋ถˆํ•„์š” ์ž‘์—…์˜ ๋ฐ˜๋ณต ์ตœ์†Œํ™”

์•Œ๋žŒ

์•Œ๋žŒ์€ Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์—์„œ ์ด๋ฒคํŠธ, ๊ฒฝ๊ณ , ์—๋Ÿฌ์˜ ์ƒํ™ฉ์„ ๊ฐ์ง€ํ•˜๊ณ  ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์•Œ๋ฆฌ๋Š” ๊ธฐ๋Šฅ์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋Š” ๋‹ค์Œ์˜ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ์— ์ค‘์š”ํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  • ์žฅ์•  ๊ฐ์ง€์™€ ๋Œ€์‘
  • ์„œ๋น„์Šค ๊ฐ€์šฉ์„ฑ ์œ ์ง€
  • ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง
  • ๋น„์šฉ ์ ˆ๊ฐ
  • UX ํ–ฅ์ƒ

AWS SNS ์—ฐ๋™

Amazon Simpel Notification Service๋กœ AWS์˜ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ๋ฉ”์‹œ์ง• ์„œ๋น„์Šค์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค, ์‹œ์Šคํ…œ ๊ฐ„์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ „์†ก์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰, ๋‹ค์Œ์˜ ์ข…๋ฅ˜๋“ค์ด ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ํ‘ธ์‹œ ์•Œ๋žŒ
  • ๋‹ค์ค‘ ํ”„๋กœํ† ์ฝœ ์ง€์›
  • ์ด๋ฒคํŠธ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜
  • ํ™•์žฅ์„ฑ๊ณผ ์‹ ๋ขฐ์„ฑ
  • ๋ฏธ๋ฆฌ ์•Œ๋ฆผ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง

๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ์„ ๊ณ ๋ คํ•œ ์‹ค๋ฌด ๊ฒŒ์‹œํŒ ํ”„๋กœ์ ํŠธ์˜ ๋์ž๋ฝ์ด๋‹ค. ๊ฑฐ์˜ ๋งˆ์ง€๋ง‰ ์ฑ•ํ„ฐ์ธ 13์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ •๋ฆฌํ–ˆ๋Š”๋ฐ ์ด๋ฒˆ์—๋Š” ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋ฐ ๋กœ๊น…๊ด€์  ์ •๋ฆฌ, ๋ชจ๋‹ˆํ„ธ์ด ๋ฐ ์•Œ๋žŒ ๊ด€์  ์ •๋ฆฌ, ๋ฐฐํฌ ์ž๋™ํ™” ์ •๋ฆฌ ๋“ฑ์„ ์ •๋ฆฌํ•ด์ฃผ์—ˆ๋‹ค. ์•ž์—์„œ๊นŒ์ง€์˜ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด์ฃผ๋Š”๋ฐ ์‚ฌ์‹ค ์ง€๊ธˆ๊นŒ์ง€ ๋‚ด๊ฐ€ ์ž˜ ์ •๋ฆฌํ–ˆ๋Š”์ง€ ์ดํ•ด๋ฅผ ์™„๋ฃŒํ•˜์˜€๋Š”์ง€ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„๋“ค์ด ํ•ด๋‹น ์ฑ•ํ„ฐ๋“ค์— ์กด์žฌํ•˜์˜€๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•ด๋‹น ๊ณผ์ •์—์„œ ์ •๋ฆฌ๋˜์ง€ ์•Š์€ ๋‚ด์šฉ๋“ค์„ ์ •๋ฆฌํ•˜๋ฉด์„œ ๋‚ด ๋จธ๋ฆฟ์†์— ๊ฐœ๋…๋“ค์ด ์ข€ ๋” ๊น”๋”ํ•ด์ง€๋Š” ๊ฒƒ ๊ฐ™์•˜๋‹ค. ํŠนํžˆ, ํˆด, ๊ธฐ์ˆ  ๋ณ„๋กœ ๋‹ค์–‘ํ•˜๊ฒŒ ์ •๋ฆฌ๋ฅผ ํ•ด์ฃผ๋Š”๋ฐ ์ด๊ฒƒ์ด ๋„ˆ๋ฌด ๋งˆ์Œ์— ๋“ค์—ˆ๋‹ค. Docker, Github CI ๋“ฑ๊ณผ ๊ฐ™์ด ๊ธฐ์ˆ ๋“ค์„ ๊ฐ„๋‹จ ๋ช…๋ฃŒํ•˜๊ฒŒ ์ˆ˜์—…์ž๋ฃŒ์— ๋ช…์‹œํ•ด์ฃผ๊ณ  ์ด๋ฅผ ๊ฐ•์˜์—์„œ ์ •๋ฆฌํ•ด์ฃผ๋‹ˆ ์ด๋งŒํผ ๊น”๋”ํ•œ ๊ฒƒ์ด ์—†์—ˆ๋‹ค.

๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ์„ ๊ณ ๋ คํ•œ ์‹ค๋ฌด ๊ฒŒ์‹œํŒ ํ”„๋กœ์ ํŠธ์˜ ๋์ž๋ฝ์ด๋‹ค. ๋งˆ์ง€๋ง‰ ์ฑ•ํ„ฐ์ธ 13์—์„œ ๊ทธ๋™์•ˆ์˜ ๊ณผ์ •๋“ค์„ ์ •๋ฆฌํ–ˆ๋Š”๋ฐ ๊ธˆ์ผ ์ง„ํ–‰ํ•œ ์ฑ•ํ„ฐ์—์„œ๋Š” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ์™€ ๋กœ๊น…, ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์•Œ๋ฆผ, ๋ฐฐํฌ ์ž๋™ํ™” ๊ฐ™์€ ์‹ค๋ฌด์ ์ธ ๊ด€์ ์„ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ•์˜๊ฐ€ ์ง„ํ–‰๋˜์—ˆ๋‹ค. ๊ทธ๋™์•ˆ ๋ฐฐ์› ๋˜ ๋‚ด์šฉ์„ ์ฒด๊ณ„์ ์œผ๋กœ ๋ณต์Šตํ•˜๋ฉด์„œ ์ „์ฒด์ ์ธ ๊ทธ๋ฆผ์„ ๋‹ค์‹œ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์‚ฌ์‹ค ์ด์ „์— ํ•™์Šตํ–ˆ๋˜ ๋‚ด์šฉ ์ค‘ ์ดํ•ด๊ฐ€ ์™„๋ฒฝํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ •๋ฆฌ๊ฐ€ ๋ฏธํกํ–ˆ๋˜ ๋ถ€๋ถ„๋“ค์ด ์žˆ์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ ์ฑ•ํ„ฐ์—์„œ ์ด๋Ÿฐ ๋ถ€๋ถ„๋“ค์„ ๋ณด์™„ํ•˜๋ฉด์„œ ๊ฐœ๋…์ด ํ™•์‹คํžˆ ์žกํžˆ๋Š” ๋А๋‚Œ์„ ๋ฐ›์•˜๋‹ค.

ํŠนํžˆ ์ด๋ฒˆ ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ๊ณผ์ •์„ ๋Œ์•„๋ณด๋ฉด์„œ ๋‹ค์–‘ํ•œ ํˆด๊ณผ ๊ธฐ์ˆ ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•œ ์ ์ด ์ข‹์•˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Docker์™€ Github Actions๋ฅผ ํ™œ์šฉํ•œ CI/CD ๊ตฌํ˜„ ๊ณผ์ •์€ ์‹ค๋ฌด์—์„œ ๊ผญ ์•Œ์•„์•ผ ํ•  ์ค‘์š”ํ•œ ์ฃผ์ œ์ธ๋ฐ, ๊ธฐ์ˆ ์˜ ๊ธฐ๋Šฅ์ ์ธ ๋ฉด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‹ค๋ฌด์ ์ธ ๋ฐฐ๊ฒฝ๊นŒ์ง€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด ์ฃผ์–ด ํ•™์Šต ํšจ๊ณผ๊ฐ€ ์ปธ๋‹ค. ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉด์„œ ์ œ๋Œ€๋กœ ์ •๋ฆฌํ•˜์ง€ ๋ชปํ•œ ๋ถ€๋ถ„์€ ChatGPT๋ฅผ ํ™œ์šฉํ•ด์„œ ๋”ฐ๋กœ ์ •๋ฆฌํ•˜๊ธฐ๋„ ํ–ˆ๋Š”๋ฐ, ์ด๋ฅผ ํ†ตํ•ด ๋ถ€์กฑํ–ˆ๋˜ ๋ถ€๋ถ„๋“ค์„ ๋น ๋ฅด๊ฒŒ ์ฑ„์šธ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๊ฐ•์˜ย ๋งˆ์ง€๋ง‰์—ย ์ œ๊ณต๋œย ๋ถ€๋ก,ย โ€˜๊ฐœ๋ฐœ์ž๊ฐ€ย ๋˜๋Š”ย ๋ฐฉํ–ฅ์„ฑโ€™์—ย ๋Œ€ํ•œย ๋‚ด์šฉ์€ย ํŠนํžˆย ์ธ์ƒย ๊นŠ์—ˆ๋‹ค.ย ๋‹จ์ˆœํžˆย ๊ธฐ์ˆ ์„ย ๋ฐฐ์šฐ๋Š”ย ๊ฒƒ์„ย ๋„˜์–ด์„œ,ย ๊ฐœ๋ฐœ์ž๋กœ์„œย ์–ด๋–คย ๋ฐฉํ–ฅ์œผ๋กœย ์ปค๋ฆฌ์–ด๋ฅผย ์„ค๊ณ„ํ•ด์•ผย ํ•˜๋Š”์ง€์—ย ๋Œ€ํ•œย ๊ตฌ์ฒด์ ์ธย ๊ฐ€์ด๋“œ๋ฅผย ์ œ์‹œํ•ดย ์ค€ย ๋•๋ถ„์—ย ์•ž์œผ๋กœย ์–ด๋–คย ๊ธธ์„ย ๊ฑธ์–ด๊ฐˆ์ง€ย ๊ณ ๋ฏผํ•ดย ๋ณผย ์ˆ˜ย ์žˆ์—ˆ๋‹ค.ย 

์œ„์˜ ๊ณผ์ • ๊ธฐ์ˆ ์ ์ธ ๋‚ด์šฉ๋“ค๊ณผ ๋ถ€๋ก๋“ค์€๋‚ด๊ฐ€ ์šด์˜ํ•  ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ์˜ ๋ฐฉํ–ฅ์„ฑ์— ์˜ํ–ฅ์„ ์ฃผ์—ˆ๋‹ค. ๋‹จ์ˆœํžˆ ๊ธฐ์ˆ ์„ ๋‚˜์—ดํ•˜๋Š” ๋ฐฉ์‹์ด ์•„๋‹ˆ๋ผ ํ•™์Šต ๊ณผ์ •์„ ๊ธฐ๋กํ•˜๊ณ , ์„ฑ์žฅ์˜ ํ”์ ์„ ๋‚จ๊ธฐ๋Š” ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค์–ด์•ผ๊ฒ ๋‹ค๊ณ  ๋‹ค์งํ–ˆ๋‹ค.

์•„์ง ๋ถ€๋ก์˜ ๊ฐœ๋ฐœ์ž ํŒ์ด ์กฐ๊ธˆ ๋‚จ์•˜์ง€๋งŒ ์ด๋ฒˆ ํŒจ์ŠคํŠธ์บ ํผ์Šค ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ ๊ฐ•์˜ ์ฒซ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ๋Š” ๊ธฐ์ˆ ์„ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์„ ๋„˜์–ด ์‹ค๋ฌด์ ์ธ ์Šคํ‚ฌ๊ณผ ๊ฐœ๋ฐœ์ž๋กœ์„œ์˜ ์„ฑ์žฅ ๋ฐฉํ–ฅ์„ ๊นŠ์ด ๊ณ ๋ฏผํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ค€ ๊ฐ’์ง„ ์‹œ๊ฐ„์ด์—ˆ๋‹ค. ๋‚ด์ผ์€ ๋‚จ์€ ๋ถ€๋ก๋“ค์„ ์ •๋ฆฌํ•ด์„œ ์ฒดํ™”์‹œํ‚ค๊ณ  ๋‹ค์Œ ํ”„๋กœ์ ํŠธ๋กœ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ๊ฒ ๋‹ค.

Redis

Remote DIctonary Server์˜ ์ค„์ž„๋ง๋กœ In-memory database์ด๋ฉฐ Key ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ €์žฅํ•œ๋‹ค.

์ด๋Ÿฌํ•œ Redis๋Š” ๋‹ค์Œ์˜ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•œ๋‹ค.

  • Cache
  • Session Store
  • Pub/Sub
  • LeaderBOard
  • ใ…Ž๋Œ€๋„ด์ƒค๋ฏธ

์ฃผ์š” ๋ช…๋ น์–ด

TTL

  • EXPIRE key second
  • TTL key

Queue

  • LPUSH
  • RPUSH
  • LPOP
  • RPOP
  • LLEN
  • LRANGE

Sorted Sets

  • ZADD
  • ZREM
  • ZRANGE
  • ZCARD
  • ZRANK
  • ZINCRY