CS/๐ ๊ฐ์ ๋ฉด์ ์ฌ๋ก๋ก ๋ฐฐ์ฐ๋ ๋๊ท๋ชจ ์์คํ
์ค๊ณ ๊ธฐ์ด
1. ๋ฌธ์ ์ดํด ๋ฐ ์ค๊ณ ๋ฒ์ ํ์ URL ๋จ์ถ ๐ ์ฃผ์ด์ง ๊ธด URL์ ์งง๊ฒ ์ค์ด๊ธฐURL redirection ๐ ์ถ์ฝ๋ URL๋ก HTTP ์์ฒญ์ด ์ค๋ฉด ์๋ URL๋ก ์๋ด๋์ ๊ฐ์ฉ์ฑ๊ณผ ๊ท๋ชจ ํ์ฅ์ฑ, ์ฅ์ ๊ฐ๋ด ์๊ตฌ๋จ์ฐ๊ธฐ ์ฐ์ฐ : ๋งค์ผ 1์ต ๊ฐ์ ๋จ์ถ URL ์์ฑ์ด๋น ์ฝ๊ธฐ ์ฐ์ฐ : 1์ต/24/3600 = 1160์ฝ๊ธฐ ์ฐ์ฐ : ์ฝ๊ธฐ ์ฐ์ฐ๊ณผ ์ฐ๊ธฐ ์ฐ์ฐ์ ๋น์จ = 10 : 1 ๐ 11,600ํ10๋
๊ฐ ์ด์ํ๋ค๋ฉด 1์ต x 365 x 10 = 3650์ต ๊ฐ์ ๋ ์ฝ๋ ๋ณด๊ด์ถ์ฝ ์ URL์ ํ๊ท ๊ธธ์ด = 10010๋
๋์ ํ์ํ ์ ์ฅ ์ฉ๋ = 3650์ต x 100๋ฐ์ดํธ = 36.5TB 2. ๊ฐ๋ต์ ์ค๊ณ์ ์ ์ ๋ฐ ๋์ ๊ตฌํ๊ธฐโณ๏ธ API ์๋ํฌ์ธํธ URL ๋จ์ถ์ฉ ์๋ํฌ์ธํธ : ์ ๋จ์ถ URL์ ์์ฑํ๊ณ ์ ํ๋ ..
CS/๐ ๊ฐ์ ๋ฉด์ ์ฌ๋ก๋ก ๋ฐฐ์ฐ๋ ๋๊ท๋ชจ ์์คํ
์ค๊ณ ๊ธฐ์ด
auto_increment ์์ฑ์ด ์ค์ ๋ RDB์ ๊ธฐ๋ณธ ํค๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋๊ฑฐ ์๋๊ฐ...?๐ ๋ถ์ฐํ๊ฒฝ์์๋ ํตํ์ง ์๊ณ DB ์๋ฒ ํ ๋๋ก๋ ์๊ตฌ ๊ฐ๋น X, ์ฌ๋ฌ DB ์๋ฒ๋ฅผ ์ฐ๋ ๊ฒฝ์ฐ์๋ ์ง์ฐ์๊ฐ์ ๋ฎ์ถ๊ธฐ ํ๋ฆ ๋ฌธ์ ์ดํด ๋ฐ ์ค๊ณ ๋ฒ์ ํ์ ID๋ ์ ์ผ์ซ์๋ก๋ง ๊ตฌ์ฑ64 ๋นํธ๋ก ํํ๋ ์ ์๋ ๊ฐ๋ฐ๊ธ ๋ ์ง์ ๋ฐ๋ผ ์ ๋ ฌ ๊ฐ๋ฅ์ด๋น 10000๊ฐ์ ID๋ฅผ ๋ง๋ค ์ ์์ด์ผ ํจ ๊ฐ๋ต์ ์ค๊ณ์ ์ ์ ๋ฐ ๋์ ๊ตฌํ๊ธฐโณ๏ธ ๋ค์ค ๋ง์คํฐ ๋ณต์ auto_increment ๊ธฐ๋ฅ ํ์ฉํ์ง๋ง ๋ค์ ID์ ๊ฐ์ ๊ตฌํ ๋ 1๋งํผ ์ฆ๊ฐ์ํค๋ ๊ฒ์ด ์๋๋ผ k๋งํผ ์ฆ๊ฐ์ํด(k๋ ํ์ฌ ์ฌ์ฉ ์ค์ธ DB ์๋ฒ ์)๋จ์ ์ฌ๋ฌ ๋ฐ์ดํฐ ์ผํฐ์ ๊ฑธ์ณ ๊ท๋ชจ๋ฅผ ๋๋ฆฌ๊ธฐ ์ด๋ ค์ID์ ์ ์ผ์ฑ์ ๋ณด์ฅ๋๋ง ๊ทธ ๊ฐ์ด ์๊ฐ ํ๋ฆ์ ๋ง์ถ์ด ์ปค์ง๋๋ก ๋ณด์ฅ X์๋ฒ๋ฅผ ..
CS/๐ ๊ฐ์ ๋ฉด์ ์ฌ๋ก๋ก ๋ฐฐ์ฐ๋ ๋๊ท๋ชจ ์์คํ
์ค๊ณ ๊ธฐ์ด
์ฒ๋ฆฌ์จ ์ ํ ์ฅ์น (rate limiter)ํด๋ผ์ด์ธํธ ๋๋ ์๋น์ค๊ฐ ๋ณด๋ด๋ ํธ๋ํฝ์ ์ฒ๋ฆฌ์จ(rate)์ ์ ์ดํ๊ธฐ ์ํ ์ฅ์น HTTP ํน์ ๊ธฐ๊ฐ ๋ด์ ์ ์ก๋๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ ํ์ ์ ํ API ์์ฒญ ํ์๊ฐ ์ ํ ์ฅ์น์ ์ ์๋ ์๊ณ์น(threshold)๋ฅผ ๋์ด์๋ฉด ์ถ๊ฐ๋ก ๋๋ฌํ ๋ชจ๋ ํธ์ถ์ ์ฒ๋ฆฌ๊ฐ ์ค๋จ๋จโด๏ธ ์ฌ๋ก- ์ฌ์ฉ์๋ ์ด๋น 2ํ ์ด์ ์ ๊ธ์ ์ฌ๋ฆด ์ ์์- ๊ฐ์ IP ์ฃผ์๋ ํ๋ฃจ์ 10๊ฐ ์ด์์ ๊ณ์ ์ ์์ฑํ ์ ์์- ๊ฐ์ ๋๋ฐ์ด์ค๋ก๋ ์ฃผ๋น 5ํ ์ด์ ๋ฆฌ์๋๋ฅผ ์์ฒญํ ์ ์์ - ํธ์ํฐ ๐ 3์๊ฐ ๋์ 300๊ฐ์ ํธ์๋ง ์ฌ๋ฆด ์ ์๋๋ก ์ ํ - Google docs ๐ API๋ ์ฌ์ฉ์๋น ๋ถ๋น 300ํ์ read ์์ฒญ๋ง ํ์ฉ โณ๏ธ ์ฒ๋ฆฌ์จ ์ ํ ์ฅ์น๋ฅผ ๋๋ฉด ์ข์ ์ - DoS(Denial of Se..
CS/๐ ๊ฐ์ ๋ฉด์ ์ฌ๋ก๋ก ๋ฐฐ์ฐ๋ ๋๊ท๋ชจ ์์คํ
์ค๊ณ ๊ธฐ์ด
1. ๋ฌธ์ ์ดํด ๋ฐ ์ค๊ณ ๋ฒ์ ํ์ (3๋ถ ~ 10๋ถ)๋ฐ๋ก ๋ต์ ๋ด๊ธฐ๋ณด๋ค๋ ๊น์ด ์๊ฐํ๊ณ ์ง๋ฌธํ์ฌ ์๊ตฌ์ฌํญ๊ณผ ๊ฐ์ ๋ค์ ๋ถ๋ช
ํ ํ๊ธฐ์์คํ
๊ตฌ์ถ์ ํ์ํ ์ ๋ณด ๋ชจ์ผ๊ธฐ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ค ๊ธฐ๋ฅ๋ค์ ๋ง๋ค์ด์ผ ํ๋๊ฐ์ ํ ์ฌ์ฉ์ ์๋ ์ผ๋ง๋ ๋๋๊ฐํ์ฌ์ ๊ท๋ชจ๋ ์ผ๋ง๋ ๋นจ๋ฆฌ ์ปค์ง๋ฆฌ๋ผ ์์ํ๋๊ฐํ์ฌ๊ฐ ์ฃผ๋ก ์ฌ์ฉํ๋ ๊ธฐ์ ์คํ์ ๋ฌด์์ธ๊ฐ์ค๊ณ๋ฅผ ๋จ์ํํ๊ธฐ ์ํด ํ์ฉํ ์ ์๋ ๊ธฐ์กด ์๋น์ค๋ก๋ ์ด๋ค ๊ฒ์ด ์๋๊ฐโด๏ธ ์์ - ๋ด์ค ํผ๋ ์์คํ
์ค๊ณ๋ชจ๋ฐ์ผ ์ฑ ? ์น ์ฑ ? - ๋ ๋ค ์ง์๊ฐ์ฅ ์ค์ํ ๊ธฐ๋ฅ ? - ์๋ก์ด ํฌ์คํธ๋ฅผ ์ฌ๋ฆฌ๊ณ , ๋ค๋ฅธ ์น๊ตฌ์ ๋ด์ค ํผ๋๋ฅผ ๋ณผ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ๋ด์ค ํผ๋์ ์ ๋ ฌ ๊ธฐ์ค ? ๊ธฐ์ค์ด ์๋ค๋ฉด ๊ฐ์ค์น ๋ถ์ฌ ? - ์๊ฐ ์ญ์์ผ๋ก ์ ๋ ฌํ ์ฌ์ฉ์๋ ์ต๋ ๋ช ๋ช
์ ์ฌ์ฉ์์ ์น๊ตฌ๋ฅผ ๋งบ์ ์ ์๋๊ฐ ? - 50..
CS/๐ ๊ฐ์ ๋ฉด์ ์ฌ๋ก๋ก ๋ฐฐ์ฐ๋ ๋๊ท๋ชจ ์์คํ
์ค๊ณ ๊ธฐ์ด
2์ ์ ๊ณฑ์ ์๋ต์ง์ฐ ๊ฐ๋ฉ๋ชจ๋ฆฌ๋ ๋น ๋ฅด์ง๋ง ๋์คํฌ๋ ์์ง ๋๋ฆผ๋์คํฌ ํ์์ ๊ฐ๋ฅํ ํ ํผํ๊ธฐ๋จ์ํ ์์ถ ์๊ณ ๋ฆฌ์ฆ์ ๋น ๋ฆ๋ฐ์ดํฐ๋ฅผ ์ธํฐ๋ท์ผ๋ก ์ ์กํ๊ธฐ ์ ์ ๊ฐ๋ฅํ๋ฉด ์์ถํ๊ธฐ๋ฐ์ดํฐ ์ผํฐ๋ ๋ณดํต ์ฌ๋ฌ ์ง์ญ์ ๋ถ์ฐ๋์ด ์๊ณ , ์ผํฐ๋ค ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆผ ex) ํธ์ํฐ QPS(Query Per Second)์ ์ ์ฅ์ ์๊ตฌ๋ ์ถ์ ์์๊ฐ์ ์๊ฐ active ์ฌ์ฉ์ = 3์ต ๋ช
50%์ ์ฌ์ฉ์๊ฐ ํธ์ํฐ๋ฅผ ๋งค์ผ ์ฌ์ฉํ๊ท ์ ์ผ๋ก ๊ฐ ์ฌ์ฉ์๊ฐ ๋งค์ผ 2๊ฑด์ ํธ์์ ์ฌ๋ฆผ๋ฏธ๋์ด๋ฅผ ํฌํจํ๋ ํธ์์ 10%๋ฐ์ดํฐ๋ 5๋
๊ฐ ๋ณด๊ด QPS ์ถ์ ์ผ๊ฐ active ์ฌ์ฉ์ = 3์ต x 50% = 1.5์ตQPS = 1.5์ต x 2 ํธ์/24์๊ฐ/3600์ด = ์ฝ 3500์ต๋ QPS = 2 x QPS = ์ฝ 7000 ๋ฏธ๋์ด ์ ..
CS/๐ ๊ฐ์ ๋ฉด์ ์ฌ๋ก๋ก ๋ฐฐ์ฐ๋ ๋๊ท๋ชจ ์์คํ
์ค๊ณ ๊ธฐ์ด
๋ฌด์ํ(stateless) ์น ๊ณ์ธต์น ๊ณ์ธต์ ์ํ์ ์ผ๋ก ํ์ฅํ ๋ ์ํ์ ๋ณด(์ฌ์ฉ์ ์ธ์
๋ฐ์ดํฐ)๋ฅผ ์น ๊ณ์ธต์์ ์ ๊ฑฐํด์ผ ํจ ๐ ์ํ ์ ๋ณด๋ฅผ RDB๋ NoSQL๊ณผ ๊ฐ์ ์ง์์ฑ ์ ์ฅ์์ ๋ณด๊ดํ๊ณ ํ์ํ ๋ ๊ฐ์ ธ์์ผ ํจ = stateless ์น ๊ณ์ธต ๋ง์ฝ statelessํ์ง ์๋ค๋ฉด, ๊ฐ์ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ์ ์์ฒญ์ ํญ์ ๊ฐ์ ์๋ฒ๋ก ์ ์ก๋์ด์ผ ํ๋ค.๋ก๋๋ฐธ๋ฐ์๊ฐ ์ด๋ฅผ ์ง์ํ๊ธฐ ์ํด ๊ณ ์ ์ธ์
(sticky sesion) ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง ์ด๋ ๋ก๋๋ฐธ๋ฐ์์ ๋ถ๋ด์ ์ค๋ค.๊ทธ๋ฌ๋ฏ๋ก ์ฌ์ฉ์๋ก๋ถํฐ์ HTTP ์์ฒญ์ ์ด๋ค ์น ์๋ฒ๋ก๋ ์ ์ก๋ ์ ์๊ฒ ํ๊ณ , ์น ์๋ฒ๋ ์ํ ์ ๋ณด๊ฐ ํ์ํ ๊ฒฝ์ฐ ๊ณต์ ์ ์ฅ์๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ค. ์ฆ, ์ํ์ ๋ณด๋ ์น ์๋ฒ๋ก๋ถํฐ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ถ๋ฆฌ๋์ด ์๋ ๊ฒ์ด๋ค. ๋ฉ์์ง ํ ๋ฉ์์ง์..
CS/๐ ๊ฐ์ ๋ฉด์ ์ฌ๋ก๋ก ๋ฐฐ์ฐ๋ ๋๊ท๋ชจ ์์คํ
์ค๊ณ ๊ธฐ์ด
๋จ์ผ์๋ฒ ์ฌ์ฉ์๋ ๋๋ฉ์ธ ์ด๋ฆ(api.website.com)์ผ๋ก ์น์ฌ์ดํธ์ ์ ์ ๐ ๋๋ฉ์ธ ์ด๋ฆ์ DNS์ ์ง์ํ์ฌ IP์ฃผ์๋ก ๋ณํํ๋ ๊ณผ์ ํ์DNS ์กฐํ ๊ฒฐ๊ณผ๋ก IP ์ฃผ์ (15.125.23.214) ๋ฐํํด๋น IP ์ฃผ์๋ก HTTP ์์ฒญ์ด ์ ๋ฌ๋จ์์ฒญ์ ๋ฐ์ ์น ์๋ฒ๋ HTML ํ์ด์ง๋ JSON ํํ์ ์๋ต ๋ฐํ์น ์ดํ๋ฆฌ์ผ์ด์
: ๋น์ฆ๋์ค ๋ก์ง, ๋ฐ์ดํฐ ์ ์ฅ ๋ฑ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด์ ์๋ฒ ๊ตฌํ์ฉ ์ธ์ด(์๋ฐ, ํ์ด์ฌ) ์ฌ์ฉํ๊ณ , ํ๋ ์ ํ
์ด์
์ฉ์ผ๋ก๋ ํด๋ผ์ด์ธํธ ๊ตฌํ์ฉ ์ธ์ด(์๋ฐ์คํฌ๋ฆฝํธ, HTML) ์ฌ์ฉ๋ชจ๋ฐ์ผ ์ฑ : ๋ชจ๋ฐ์ผ ์ฑ๊ณผ ์น ์๋ฒ ๊ฐ ํต์ ์ ์ํด์ HTTP ํ๋กํ ์ฝ ์ฌ์ฉ ๐ ๋ฐํ๋ ์๋ต ๋ฐ์ดํฐ๋ก JSON ์ฌ์ฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ฌ์ฉ์๊ฐ ๋๋ฉด ์๋ฒ ํ๋๋ก๋ ์ถฉ๋ถํ์ง ์์ ์ฌ๋ฌ ์๋ฒ๋ฅผ ๋์ด์ผ ํจ1. ์น/๋ชจ๋ฐ..