๐ก ์บ์ ๋ฌธ์ ํด๊ฒฐ ๊ฐ์ด๋ - DB ๊ณผ๋ถํ ๋ฐฉ์ง ์ค์ ํ
๋ฐ์ดํฐ๋ฒ ์ด์ค ํนํ RDBMS ๋ฅผ ์ฌ์ฉํ๋ ์๋น์ค์ ๋๋์ ํธ๋ํฝ์ด ๋ชฐ๋ฆฐ๋ค๋ฉด ์ด๋ป๊ฒ ๋์ํด์ผํ ๊น์? ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ง์ค๋๋ ํธ๋ํฝ์ ๋ถ์ฐ์ํค๊ธฐ ์ํ ๋ค์ํ ์ ๋ต์ ๊ณ ๋ฏผํ ์ ์๋๋ฐ ๊ฐ๋จํ ๋ฐฉ๋ฒ ์ค ํ๋๊ฐ ๋ฐ๋ก Redis ๋ Memcached ์ ๊ฐ์ ์บ์ ์์คํ ์ ๋์ ํ๋ ๊ฒ์ ๋๋ค. ๋น์ฐํ ์๊ธฐ๊ฒ ์ง๋ง ์ด๋ฌํ ์บ์ ์์คํ ์ ๋์ ํ๋ค๊ณ ํด์ ๋๋์ ํธ๋ํฝ์ ๋ฌด์กฐ๊ฑด ์ฒ๋ฆฌ ๊ฐ๋ฅํ๊ฒ ๋๋๊ฒ์ ์๋๋๋ค. ์คํ๋ ค ์บ์๋ฅผ ๋์ ํ๊ฒ ๋๋ฌธ์ ๊ธฐ์กด์ ์๊ฐํ์ง ๋ชปํ๋ ๋ค์ํ ์ด์๋ฅผ ์ฒดํํ ์ ์๋๋ฐ์, ํ ์ค ๊ฐ๋ฐ ๋ธ๋ก๊ทธ์ ์ด๋ฌํ ์ผ์ด์ค๋ค์ ์ ๋ฆฌํ ๊ธ์ด ์์ด ๊ณต์ ๋๋ฆฝ๋๋ค. ์บ์๋ก ์ธํด ๋ฐ์ํ ์ ์๋ ์ฅ์ ์ ํ์ผ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๐ ์บ์ ์๋ (Cache Stampede) ์บ์ ์์คํ ์ ์ ์ฅ๋์ด์๋ ๋ค๋์ ์บ์๊ฐ ๋ง๋ฃ๋์ด ์๊ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํธ๋ํฝ์ด ๋ชฐ๋ฆฌ๋ ์ผ์ด์ค๋ฅผ ๋ปํฉ๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ๋์์ ๋๋์ ์บ์๊ฐ ๋ง๋ฃ๋์ง ์๊ฒ ๊ฐ ์บ์ ๋ง๋ฃ ์๊ฐ์ ๋ฌด์์๋ก ์ฝ๊ฐ์ฉ ์ง์ฐ์ํค๋ ์งํฐ(jitter) ๊ฐ๋ ์ ํ์ฉํ ์ ์์ต๋๋ค. ๐ ์บ์ ๊ดํต (Cache Penetration) ์กฐํํ ์บ์ ๋ฐ์ดํฐ๊ฐ Null ๊ฐ์ผ ๊ฒฝ์ฐ ์์ฐ์ค๋ฝ๊ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์กฐํํด์ ์บ์๋ฅผ ์ฑ์ฐ๋ ์ ๋ต์ ๋ง์ด ์ฌ์ฉํ๋๋ฐ์, ๋ง์ฝ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ํด๋น ๋ฐ์ดํฐ๊ฐ Null ๊ฐ์ผ ๊ฒฝ์ฐ ์ง์์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ณ์ ์กฐํํ๋ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํ๊ฒ ๋๋๋ฐ ์ด๋ฅผ ์บ์ ๊ดํต์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ '๊ฐ์ด ์์' ์ ๋ช ์์ ์ผ๋ก ๋ปํ๋ Null Object Pattern ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๐ ์บ์ ์์คํ ์ฅ์ ๋น์ฐํ๊ฒ๋ ์บ์ ์์คํ ๋ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ฅ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ด ๊ฒฝ์ฐ ๊ธฐ์กด์ ์บ์ ์์คํ ์ด ๊ฐ๋นํ๋ ํธ๋ํฝ์ด ํ์๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ชฐ๋ฆด ์ ์์ต๋๋ค. ์ด๋ฌํ ์ํฉ์ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ์บ์ ์์คํ ์ ์ฅ์ ๊ฐ ๋ฐ์ํจ์ ๊ฐ์งํ๊ณ Fail Over ๋ฅผ ์ด๋ป๊ฒ ์ํํ ์ง ์ ํด์ผํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์๋น์ค์ ํต์ฌ ๊ธฐ๋ฅ์ ๊ธฐ์กด๊ณผ ๋์ผํ๊ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์กฐํ๋ฅผ ํตํด ํธ๋ํฝ์ ์ฒ๋ฆฌํ์ง๋ง, ์๋น์ค์ ํต์ฌ ๊ธฐ๋ฅ์ด ์๋ ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ Fast Fail ํน์ ๋์ฒดํ ์ ์๋ UI ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ํฅํ๋ ํธ๋ํฝ์ ์ค์ด๋ ์ ๋ต์ ์ทจํ ์ ์์ต๋๋ค. ๐ ํซํค (hotkey) ๋ง๋ฃ ๋์์ ํ๋์ ์บ์ ๋ฐ์ดํฐ ํน์ ํค๋ก ๋ง์ ์์ฒญ์ด ์ง์ค๋๋ ๊ฒ์ ํซํค๋ผ๊ณ ํ๋๋ฐ์, ํซํค๊ฐ ๋ง๋ฃ๋๊ฑฐ๋ ๋ฐ์ดํฐ๊ฐ ๋ฐ๋๋ ์๊ฐ, ์ฌ๋ฌ ์์ฒญ์ด ๋์์ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์กฐํ ์์ฒญํ ์ ์์ด ๋ถํ์ํ ํธ๋ํฝ์ด ์ ๋ฐ๋๊ฒ ๋ฉ๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ถ์ฐ ๋ฝ(Distributed Lock) ์ ์ฌ์ฉํ์ฌ ๋จ ํ๋ฒ์ ์ฐ๊ธฐ ์์ ๋ง ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด์ ๋ํ ์ข๋ ์์ธํ ๋ด์ฉ์ ๊ณต์ ๋๋ฆฐ ์๋ฌธ ๋ด์ฉ์ ์ฐธ๊ณ ํด์ฃผ์ธ์. ๐ ์๋ฌธ https://toss.tech/article/cache-traffic-tip