11์ฅ
๋ด์คํผ๋๋ฅผ ์ค๊ณํด๋ณด์
๋ด์ค ํผ๋ ์์คํ ์ค๊ณ๋ ์์ฃผ ์ ๋ช ํ ๋ฉด์ ๋ฌธ์ ์ด๋ค
ํ์ด์ค๋ถ ๋ด์ค ํผ๋ ์ค๊ณ, ์ธ์คํ๊ทธ๋จ ํผ๋ ์ค๊ณ, ํธ์ํฐ ํ์๋ผ์ธ ์ค๊ณ ๋ฑ์ด ์์๋ค.
1 ๋จ๊ณ ๋ฌธ์ ์ดํด ๋ฐ ์ค๊ณ ๋ฒ์ ํ์
์ฑ๊ณผ ์น์ ๋ชจ๋ ์ง์ํด์ผ ํ๋ค
์ฌ์ฉ์๋ ๋ด์ค ํผ๋ ํ์ด์ง์ ์๋ก์ด ์คํ ๋ฆฌ๋ฅผ ์ฌ๋ฆด ์ ์์ด์ผ ํ๊ณ , ์น๊ตฌ๋ค์ด ์ฌ๋ฆฌ๋ ์คํ ๋ฆฌ๋ฅผ ๋ณผ ์ ์์ด์ผ ํ๋ค.
๋ด์ค ํผ๋๋ ๋จ์ํ ์๊ฐ ํ๋ฆ ์ญ์์ผ๋ก ํ์๋๋ค.
ํ ๋ช ์ ์ฌ์ฉ์๋ ์ต๋ 5000๋ช ์ ์น๊ตฌ๋ฅผ ๊ฐ๋๋ค
๋งค์ผ ์ฒ๋ง ๋ช ์ด ๋ฐฉ๋ฌธํ๋ค.
์คํ ๋ฆฌ์๋ ์ด๋ฏธ์ง, ๋น๋์ค ๋ฑ์ ๋ฏธ๋์ด ํ์ผ์ด ํฌํจ๋ ์ ์๋ค
2 ๋จ๊ณ ๊ฐ๋ต์ ์ค๊ณ์ ์ ์ ๋ฐ ๋์ ๊ตฌํ๊ธฐ
ํผ๋ ๋ฐํ
์ฌ์ฉ์๊ฐ ์คํ ๋ฆฌ๋ฅผ ํฌ์คํ ํ๋ฉด ํด๋น ๋ฐ์ดํธ๋ด ์บ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋กํ๋ค. ์ ํฌ์คํ ์ ์น๊ตฌ์ ๋ด์ค ํผ๋์๋ ์ ์ก๋๋ค.
๋ด์ค ํผ๋ ์์ฑ
์ง๋ฉด ๊ด๊ณ์ ๋ด์ค ํผ๋๋ ๋ชจ๋ ์น๊ตฌ์ ํฌ์คํ ์ ์๊ฐ ํ๋ฆ ์ญ์์ผ๋ก ๋ชจ์์ ๋ง๋ ๋ค๊ณ ๊ฐ์ ํ๋ค
๋ด์ค ํผ๋ API
ํผ๋ ๋ฐํ API
POST /v1/me/feed
ํผ๋ ์ฝ๊ธฐ API
GET /v1/me/feed

ํผ๋ ๋ฐํ ์์คํ ์ ๊ฐ๋ต์ ํํ๋ ์์ ๊ฐ๋ค
์ฌ์ฉ์: ๋ชจ๋ฐ์ผ ์ฑ์ด๋ ๋ธ๋ผ์ฐ์ ์์ ์ ํฌ์คํ ์ ์ฌ๋ฆฌ๋ ์ฃผ์ฒด๋ค. POST /v1/me/feed API๋ฅผ ์ฌ์ฉํ๋ค
๋ก๋๋ฐธ๋ฐ์: ํธ๋ํฝ์ ์น ์๋ฒ๋ค๋ก ๋ถ์ฐํ๋ค
์น ์๋ฒ: HTTP ์์ฒญ์ ๋ด๋ถ ์๋น์ค๋ก ์ค๊ณํ๋ ์ญํ ์ ๋ด๋นํ๋ค
ํฌ์คํ ์ ์ฅ ์๋น์ค: ์ ํฌ์คํ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์บ์์ ์ ์ฅํ๋ค
ํฌ์คํ ์ ์ก ์๋น์ค: ์ ํฌ์คํ ์ ์น๊ตฌ์ ๋ด์ค ํผ๋์ ํธ์ํ๋ค.
์๋ฆผ ์๋น์ค: ์น๊ตฌ๋ค์๊ฒ ์ ํฌ์คํ ์ด ์ฌ๋ผ์์์ ์๋ฆฌ๊ฑฐ๋, ํธ์ ์๋ฆผ์ ๋ณด๋ด๋ ์ญํ ์ ํ๋ค.
๋ด์ค ํผ๋ ์์ฑ
์ฌ์ฉ์: ๋ด์ค ํผ๋๋ฅผ ์ฝ๋ ์ฃผ์ฒด๋ค. GET /v1/me/feed API๋ฅผ ์ด์ฉํ๋ค
๋ก๋ ๋ฐธ๋ฐ์: ํธ๋ํฝ์ ์น ์๋ฒ๋ค๋ก ๋ถ์ฐํ๋ค
์น ์๋ฒ: ํธ๋ํฝ์ ๋ด์ค ํผ๋ ์๋น์ค๋ก ๋ณด๋ธ๋ค
๋ด์ค ํผ๋ ์๋น์ค: ์บ์์์ ๋ด์ค ํผ๋๋ฅผ ๊ฐ์ ธ์ค๋ ์๋น์ค๋ค
๋ด์ค ํผ๋ ์บ์: ๋ด์ค ํผ๋๋ฅผ ๋ ๋๋งํ ๋ ํ์ํ ํผ๋ ID๋ฅผ ๋ณด๊ดํ๋ค.
3๋จ๊ณ ์์ธ ์ค๊ณ

์น ์๋ฒ
ํฌ ์์ ์๋น์ค
์ด๋ค ์ฌ์ฉ์์ ์ ํฌ์คํ ์ ๊ทธ ์ฌ์ฉ์์ ์น๊ตฌ ๊ด๊ณ์ ์๋ ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ๋ ๊ณผ์ ์ด๋ค
์ฐ๊ธฐ ์์ ์ ํฌ์์ํ๋ ๋ชจ๋ธ
์๋ก์ด ํฌ์คํ ์ ๊ธฐ๋กํ๋ ์์ ์ ๋ด์ค ํผ๋๋ฅผ ๊ฐฑ์ ํ๋ค.
์ฅ์
๋ด์ค ํผ๋๊ฐ ์ค์๊ฐ์ผ๋ก ๊ฐฑ์ ๋๋ฉฐ ์น๊ตฌ ๋ชฉ๋ก์ ์๋ ์ฌ์ฉ์์๊ฒ ์ฆ์ ์ ์ก๋๋ค.
๋ด์ค ํผ๋๊ฐ ์ด๋ฏธ ๊ฐฑ์ ๋๋ฏ๋ก (pre-computed) ๋ด์ค ํผ๋๋ฅผ ์ฝ๋ ๋ฐ ๋๋ ์๊ฐ์ด ์งง์์ง๋ค.
๋จ์
์น๊ตฌ๊ฐ ๋ง์ ์ฌ์ฉ์์ ๊ฒฝ์ฐ ์ฌ์ฉ์ ๋ชจ๋์ ๋ด์ค ํผ๋๋ฅผ ๊ฐฑ์ ํ๋ ๋ฐ ๋ง์ ์๊ฐ์ด ์์๋ ์ ์๋ค.
์๋น์ค๋ฅผ ์์ฃผ ์ฌ์ฉํ์ง ์๋ ์ฌ์ฉ์์ ํผ๋๊น์ง ๊ฐฑ์ ํด์ผ ํ๋ฏ๋ก ์ปดํจํ ์์์ด ๋ญ๋น๋๋ค.
์ฝ๊ธฐ ์์ ์ ํฌ์์ํ๋ ๋ชจ๋ธ
์ฌ์ฉ์๊ฐ ํ์๋ผ์ธ์ ๋ก๋ฉํ๋ ์์ ์ ์๋ก์ด ํฌ์คํธ๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋๋ค.
์ฅ์
๋นํ์ฑํ๋ ์ฌ์ฉ์, ๊ฑฐ์ ๋ก๊ทธ์ธํ์ง ์๋ ์ฌ์ฉ์์๊ฒ ์ปดํจํ ์์์ ์๋ชจํ์ง ์๋๋ค.
๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์น๊ตฌ์๊ฒ ๊ฐ๊ฐ ํธ์ํ์ง ์์ผ๋ฏ๋ก ํซํค ๋ฌธ์ ๋ ์๊ธฐ์ง ์๋๋ค.
๋จ์
๋ด์ค ํผ๋๋ฅผ ์ฝ๋ ๋ฐ ๋ง์ ์๊ฐ์ด ์์๋ ์ ์๋ค.
๊ฒฐ๊ตญ์ ๋ญ ์ฐ๋? ๋ ๊ฐ ๊ฒฐํฉ
๋๋ถ๋ถ์ ์ฌ์ฉ์์ ๋ํด์๋ ํธ์ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ค
์น๊ตฌ๋ ํ๋ก์ ์๊ฐ ์์ฃผ ๋ง์ ์ฌ์ฉ์์ ๊ฒฝ์ฐ์๋ ํ๋ก์ด๋ก ํ์ฌ๊ธ ํ์ํ ๋ ๊ฐ์ ธ๊ฐ๋๋ก ํ๋ ํ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๊ณผ๋ถํ๋ฅผ ๋ฐฉ์งํ๋ค.
ํฌ ์์ ์๋น์ค ๋์ ์์
๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์น๊ตฌ ID ๋ชฉ๋ก์ ๊ฐ์ ธ์จ๋ค
์ฌ์ฉ์ ์ ๋ณด ์บ์์์ ์น๊ตฌ๋ค์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค. ๊ทธ๋ฆฌ๊ณ ์ผ๋ถ๋ฅผ ํํฐ๋งํ๋ค.
์๋ฅผ ๋ค๋ฉด, ์น๊ตฌ ์ค ๋๊ตฐ๊ฐ์ ์ ๋ฐ์ดํธ๋ฅผ ๋ฌด์ํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค๋ฉด ๊ทธ ์น๊ตฌ์ ์คํ ๋ฆฌ๋ ํผ๋์ ๋ณด์ด์ง ์์์ผ ํ๋ค.
์น๊ตฌ ๋ชฉ๋ก๊ณผ ์ ์คํ ๋ฆฌ์ ํฌ์คํ ID๋ฅผ ๋ฉ์์ง ํ์ ๋ฃ๋๋ค
ํฌ ์์ ์์ ์๋ฒ๊ฐ ๋ฉ์์ง ํ์์ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด์ ๋ด์ค ํผ๋ ๋ฐ์ดํฐ๋ฅผ ๋ด์ค ํผ๋ ์บ์์ ๋ฃ๋๋ค.
๋ด์ค ํผ๋ ์บ์๋ <ํฌ์คํ ID, ์ฌ์ฉ์ ID>์ ์์์์ ๋ณด๊ดํ๋ ๋งคํ ํ ์ด๋ธ
์ฌ์ฉ์ ์ ๋ณด์ ํฌ์คํ ์ ๋ณด ์ ๋ถ๋ฅผ ์ ์ฅํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์๊ตฌ๋์ด ๋๋ฌด ๋์ด๋๋ค. ID๋ง ์ ์ฅํ๋๋ก ํ๋ค.
์ด๋ค ์ฌ์ฉ์๊ฐ ๋ด์ค ํผ๋์ ์ฌ๋ผ์จ ์์ฒ ๊ฐ์ ์คํ ๋ฆฌ๋ฅผ ์ ๋ถ ํ์ด๋ณด๋ ์ผ์ ๋๋ฌผ๋ค. ์บ์ ํฌ๊ธฐ์ ์ ์ ํ ์ ํ์ ๋๋ค.
ํผ๋ ์ฝ๊ธฐ ํ๋ฆ ์์ธ ์ค๊ณ

์ฌ์ฉ์๊ฐ ๋ด์ค ํผ๋๋ฅผ ์ฝ์ผ๋ ค๋ ์์ฒญ์ ๋ณด๋ธ๋ค. ์์ฒญ์ /v1/me/feed๋ก ์ ์ก๋๋ค
๋ก๋ ๋ฐธ๋ฐ์๊ฐ ์์ฒญ์ ์น ์๋ฒ ๊ฐ์ด๋ฐ ํ๋๋ก ๋ณด๋ธ๋ค.
์น ์๋ฒ๋ ํผ๋๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด ๋ด์ค ํผ๋ ์๋น์ค๋ฅผ ํธ์ถํ๋ค
๋ด์ค ํผ๋ ์๋น์ค๋ ๋ด์ค ํผ๋ ์บ์์์ ํฌ์คํ ID ๋ชฉ๋ก์ ๊ฐ์ ธ์จ๋ค
๋ด์ค ํผ๋์ ํ์ํ ์ฌ์ฉ์ ์ด๋ฆ, ์ฌ์ฉ์ ์ฌ์ง, ํฌ์คํ ก ์ฝํ ์ธ , ์ด๋ฏธ์ง ๋ฑ์ ์ฌ์ฉ์ ์บ์์ ํฌ์คํ ์บ์์์ ๊ฐ์ ธ์ ์์ ํ ๋ด์ค ํผ๋๋ฅผ ๋ง๋ ๋ค
์์ฑ๋ ๋ด์ค ํผ๋๋ฅผ JSON ํํ๋ก ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ธ๋ค. ํด๋ผ์ด์ธํธ๋ ํด๋น ํผ๋๋ฅผ ๋ ๋๋งํ๋ค.
4 ๋จ๊ณ ๋ง๋ฌด๋ฆฌ
๋ค๋ฃฐ๋งํ ์ฃผ์ ๋ค
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ท๋ชจ ํ์ฅ
์์ง์ ๊ท๋ชจ ํ์ฅ vs ์ํ์ ๊ท๋ชจ ํ์ฅ
SQL vs NOSQL
master slave ๋ค์คํ
๋ณต์ ๋ณธ์ ๋ํ ์ฝ๊ธฐ ์ฐ์ฐ
์ผ๊ด์ฑ ๋ชจ๋ธ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ฉ
๊ทธ ์ธ
์น ๊ณ์ธต์ ๋ฌด์ํ๋ก ์ด์ํ๊ธฐ
๊ฐ๋ฅํ ํ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์บ์ํ ๋ฐฉ๋ฒ
์ฌ๋ฌ ๋ฐ์ดํฐ ์ผํฐ๋ฅผ ์ง์ํ ๋ฐฉ๋ฒ
๋ฉ์์ง ํ๋ฅผ ์ฌ์ฉํ์ฌ ์ปดํฌ๋ํธ ์ฌ์ด์ ๊ฒฐํฉ๋ ๋ฎ์ถ๊ธฐ
ํต์ฌ ๋ฉํธ๋ฆญ์ ๋ํ ๋ชจ๋ํฐ๋ง
Last updated