์ ๊ฐ ๋ณด๋ ค๊ณ ๋ง๋ค์์ต๋๋ค. ๊ณ์ ๋ด์ฉ์ด ์ถ๊ฐ๋ ์์ ์ ๋๋ค
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ ๋ต์ด ๋ฌด์์ธ์ง ์ค๋ช ํด ์ฃผ์ธ์.
๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ข ๋ ํจ์จ์ ์ผ๋ก ํ์ฉํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด๋ค. ํตํฉ, ์์ถ, ๊ฐ์๋ฉ๋ชจ๋ฆฌ, ์ธ๊ทธ๋จผํ ์ด์ , ํ์ด์ง์ด ์ฌ๊ธฐ ํด๋นํ๋ค. ์ด๋ฐ ์ ๋ต์ ์ฌ์ฉํ๋ฉด ํ๋ก์ธ์ค ๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ - ๊ณต์ ๊ฐ ๊ฐ๋ฅํ๋ค.
# ๋ณดํธ
์ ๊ทผํ๊ณ ์ ํ๋ ํ์ด์ง์ ๋ํ ์ฝ๊ธฐ, ์ฐ๊ธฐ ์์ ์ ์ ํํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ค๋ฅธ ํ๋ก์ธ์ค(์์ ์๊ฒ ํ ๋น ๋์ง์์ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ ๊ฒ์ ๋ง๋๋ค)๋ก ์นจ๋ฒํ์ง ๋ชปํ๊ฒํ๋ฉฐ ๋ณดํธ๋นํธ๋ฅผ ํ์ด์ง ํ ์ด๋ธ์ ์ค์ ํด์ ์ ๊ทผ ์ฌ๋ถ๋ฅผ ์ค์ ํ ์ ์๋ค.(1์ผ ๋ write ๊ฐ๋ฅ)
# ๊ณต์
๊ณต์ ๋ ํ๋ก์ธ์ค ๊ฐ ํ์ด์ง ํ ์ด๋ธ์์ ๊ฐ์ ํ๋ ์ ๋ฒํธ๋ฅผ ๊ฐ๊ฒํ์ฌ ํ๋ก๊ทธ๋จ์ ํ ๋ถ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํด์ ์คํํจ์ผ๋ก์จ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฝํ ์ ์๋ค. ํ๋ก๊ทธ๋จ์ ๋ช ๋ น์ด/๋ฐ์ดํฐ ๋ ์์ญ์ผ๋ก ๋๋์ด์ง๋๋ฐ ๋ช ๋ น์ด ํ์ด์ง๋ฅผ ๊ณต์ ํด์ ์ฌ์ฉํ๋ค.
Copy-On-Write์ ๋ํด ๋ค์ด๋ณด์ ์ ์ด ์๋์?
๋๊ธฐ์ ๋น๋๊ธฐ์ ์ฐจ์ด
๊ณต๊ฐํค ์ํธ, ๋์นญํค ์ํธ ๊ฐ๊ฐ์ด ๋ฌด์์ธ์ง ์ค๋ช ํด์ฃผ์ธ์
์ํธํ ๋ฐฉ์์๋ ๊ณต๊ฐํค ์ํธ, ๋์นญํค ์ํธ ๋ฐฉ์์ด ์๋ค. ๋์นญํค ์ํธ ๋ฐฉ์์ ์๋ณตํธํ ํค๊ฐ ๋์ผํ ๊ฒ์ผ๋ก, ์ก์ ์์ ์์ ์๊ฐ ๋์ผํ ํค๋ฅผ ๊ฐ๊ณ ์์ด์ผ ๋ฐ์ดํฐ๋ฅผ ํ์ธ ํ ์ ์๋ค.
๊ณต๊ฐํค ์ํธ ๋ฐฉ์์ ๊ณต๊ฐํค, ๊ฐ์ธํค๋ฅผ ์ฌ์ฉํด์ ๊ณต๊ฐํค๋ฅผ ์ฌ์ฉํด ์ํธํํ๊ณ , ๊ฐ์ธํค๋ก ๋ณตํธํํ๋ค.
๊ฐ์ธํค๋ฅผ ๊ฐ๊ณ ์์ด์ผ ๊ณต๊ฐํค๋ก ์ํธํ๋ ์ ๋ณด๋ฅผ ํด์ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ผ์ข ์ ์ธ์ฆ๋ ์ ๊ณตํ๋ค๊ณ ํ ์ ์๋ค. ๊ณต๊ฐํค๋ ์ธ์ฆ์๋ฅผ ํตํด ์ ํจ์ฑ์ ๊ฒ์ฌํ๋ค.
๋์นญํค ์ํธ๋ ์๋ณตํธํ ์๋๊ฐ ๋น ๋ฅด๊ณ ๋ฉ์์ง๊ฐ ๊ธธ์ด์ ธ๋ ์ํธํ๊ฐ ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ด, ๊ณต๊ฐํค ์ํธ๋ ์๋๋ ๋๋ฆฌ์ง๋ง ์ํธํํค๋ฅผ ๊ณต๊ฐํ ์ ์๋ค๋ ์ ์์ ๋์นญํค ์ํธ๋ณด๋ค ์์ ๋กญ๋ค๋ ์ฅ์ ์ด ์๋ค.
ํ์ด๋ธ๋ฆฌ๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ด ๋ ์ํธํ๋ฐฉ์์ ์ฅ์ ์ ๋ชจ๋ ์์ฉํ ์ ์๋๋ฐ, ๋์นญํค ์ํธ๋ก ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๊ณ , ๊ทธ ๋์นญํค๋ฅผ ๊ณต๊ฐํค ์ํธ ๋ฐฉ์์ผ๋ก ์ํธํํ๋ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ณต๊ฐํค ์ํธํ๋ง ์ํํ ๋๋ณด๋ค ๋น ๋ฅธ ์๋๋ฅผ ๊ฐ์ง๋ฉด์ ์ํธํํ ์ ์๋ ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ๊ณต๊ฐํค์ ๋ถ๋ฆฌ๋๋ฏ๋ก ๋ ๊ฐ์ง ์ฅ์ ๋ชจ๋ ์ฑ๊ธธ ์ ์๋ค.
ํ ์์ญ๊ณผ ์คํ ์์ญ์ ์ฐจ์ด์ ์ ์ค๋ช ํ์ธ์
# ํ ์์ญ
๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ง์ํ๋ค. (๋ฐํ์ ๋ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ ์ ์๋ค.) -> ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๊ฐ ๋์ง์์ ํ ๋น ํด์ ๋ฅผ ๋ช ์ํด์ค์ผํ๋๋ฐ, ์๋ฐ์ ๊ฒฝ์ฐ garbage collector(GC) ๊ฐ ์์์ ํด์ค๋ค.
# ์คํ ์์ญ
์ฐ์๋ ์ ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก ์ปดํ์ผ ํ์์ ๋ณ์๊ฐ ์ ์ธ, ์ ์ฅ, ์ด๊ธฐํ ๋๋ค. ์ฐ์ฐ์ด ๋๋๋ฉด pop๋๋ค.(ํ ๋น ํด์ ๊ฐ ์ปดํ์ผ๋ฌ ์ฑ ์) ๋ฉ์๋ ์ ์ธ,(ํจ์๊ฐ ํธ์ถ๋๋ฉด ํจ์์ ๋ก์ปฌ๋ณ์๊ฐ ์คํ์ ์ฌ๋ผ๊ฐ๊ณ , ํจ์๊ฐ ๋๋๋ฉด ์์์ ํด์ ๋๋ค.) ๋ก์ปฌ ๋ณ์, ์ฐธ์กฐ๋ณ์๊ฐ ์คํ ์์ญ์ ์ํ๋ค. ํ ์์ญ ๋ณด๋ค ์ก์ธ์ค ์๊ฐ/์๋๊ฐ ๋น ๋ฅด๋ค. ๋ค๋ง ์์คํ ์คํ์ ์ ํ์ด ์๊ณ ์ ํ๊ตฌ์กฐ๋ผ ๋ฌด์์ ์ ๊ทผ์ด ์๋๋ค.
-> ์คํ ์์ญ์ ํ ๋น๋๋ ์์์ ํ ์์ญ์ ํ ๋น๋๋ ๋ฐฉํฅ์ด ๋ฐ๋(ํ์ ์์์ ์๋๋ก, ์คํ์ ์๋์์ ์๋ก)์ธ๋ฐ, ํ์ด ์คํ์ ์นจ๋ฒํ ๋ ํ ์ค๋ฒ ํ๋ก์ฐ, ์คํ์ด ํ์ ์นจ๋ฒํ ๋ ์คํ ์ค๋ฒํ๋ก์ฐ๊ฐ ๋ฐ์ํ๋ค.
# ๋ฐ์ดํฐ ์์ญ
์ ์ญ๋ณ์, static ๋ณ์๊ฐ ํ ๋น๋๋ ์์ญ์ด๋ค. ์ด๊ฒ๋ค์ ์ง์ ์ ์ธ main์ด ํธ์ถ๋๊ธฐ ์ ๋ถํฐ ๋ฐ์ดํฐ ์์ญ์ ํ ๋น๋๋ค.
CDN(Content Distribution Network)์ ๋ํด ์ค๋ช ํ๊ณ , CDN์๋น์ค ์์๋ฅผ ๋งํด๋ณด์ธ์.
CDN์ ์ฝํ ์ธ ์ ์ก ๋คํธ์ํฌ(์ฝํ ์ธ ๋ฐฐํฌ ๋คํธ์ํฌ)๋ก, ์น ํ์ด์ง ๋ก๋ ์๋๋ฅผ ๋์ด๊ธฐ ์ํด ์ํธ์ฐ๊ฒฐ๋ ์๋ฒ ๋คํธ์ํฌ๋ค.
# CDN์ ์ ํ์ํ ๊น?
์ฌ์ฉ์๊ฐ ์น์ฌ์ดํธ์ ๋ฐฉ๋ฌธํด์ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ๋ฉด, ์๋ฒ ๋ฐ์ดํฐ๊ฐ ์ธํฐ๋ท์ ํตํด ์ด๋ํ๋๋ฐ ์ด ๋ ๋ฐ์ํ๋ ์ง์ฐ์๊ฐ์๋ ๋ฌผ๋ฆฌ์ ์ธ ๊ฑฐ๋ฆฌ๋ ํฌํจ๋๋ค. ์ผ๋ฐ ์น์ฌ์ดํธ ๋ฐ์ดํฐ๋ ๋น๊ต์ ๋น ๋ฅด๊ฒ ๋์ฐฉํ์ง๋ง, ์ด๋ฏธ์ง๋ ๋์์ ๊ฐ์ ๋์ฉ๋ ํ์ผ์ ์ด๋ฐ ์ง๋ฆฌ์ ์ธ ์์์ ์ํฅ์ ๋ง์ด ๋ฐ๊ธฐ๋๋ฌธ์ ์ฌ์ฉ์์ ๊ฐ๊น์ด CDN์ ํตํด ์ ๊ณต๋ฐ๋ ๊ฒ ํจ์ฌ ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ฌ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค.
ํด๋ผ์ด์ธํธ์ ์น์ฌ์ดํธ ์๋ฒ ์ฌ์ด์ ์ค๊ฐ ์๋ฒ๋ฅผ ๋๊ณ , ํด๋ผ์ด์ธํธ-์๋ฒ ํต์ ์ผ๋ถ๋ฅผ ๊ด๋ฆฌํ๋ฉด์ ์น ์๋ฒ์ ๊ด๋ จ๋ ๋ฆฌ์์ค๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ฒ๋๋ ๊ฒ์ด๋ค.
์๋๋ฐฉ์์ ๋ํด ์ข ๋ ์์ธํ๊ฒ ์์๋ณด์.
์ฌ๋ฌ ์ง๋ฆฌ์ ์์น์ ์ ์์ง์ (POP(์บ์์๋ฒ - push - pull), CDN ์ฃ์ง ์๋ฒ ๊ทธ๋ฃน)์ ์ค์ ํด์ ๋ถ์ฐ์ํจ ๋คํธ์ํฌ๋ฅผ ํ๋ณดํ๊ณ , ์บ์ฑ, ๋์ ๊ฐ์ ๋ฐ ์ฃ์ง ๋ก์ง ๊ณ์ฐ์ ํตํด ์๋ํ๋ค. CDN์์ ์บ์ฑ์ ๋ถ์ฐ์ํจ ๋คํธ์ํฌ์ ์ ์ ์ฝํ ์ธ ๋ฅผ ์ ์ฅํ๋ ๊ณผ์ ์ ์๋ฏธํ๋ฉฐ ์๋ ์์ฒด๋ ๊ธฐ์กด์ ์๋ ์บ์ฑ๊ณผ ๋์ผํ๋ค.
CDN์ ์ฌ์ฉํ๋ฉด ํฌ๊ฒ 4๊ฐ์ง ์ด์ ์ด ์๋ค.
- ํ์ด์ง ๋ก๋ ์๊ฐ ๋จ์ถ
ํ์ด์ง ๋ก๋ ์๊ฐ์ด ๋๋ฌด ๋๋ฆฌ๋ฉด ์ฌ์ฉ์๊ฐ ์ดํํ ์ ์๋ค(ํธ๋ํฝ ๊ฐ์๋ก ์ด์ด์ง๋ค.). CDN์ ๋ฐ์ก๋ฅ ์ ์ค์ฌ ์ดํ์จ์ ๋ฎ์ถฐ์ค๋ค. - ๋์ญํญ ๋น์ฉ ์ ๊ฐ
์บ์ฑ ๋ฐ ๊ธฐํ ์ต์ ํ๋ฅผ ํตํด CDN์ ๋ณธ ์๋ฒ๊ฐ ์ ๊ณตํด์ผ ํ๋ ๋ฐ์ดํฐ์ ์์ ์ค์ฌ ์น ์ฌ์ดํธ ์์ ์์ ํธ์คํ ๋น์ฉ์ ์ ๊ฐํด์ค๋ค. - ์ฝํ
์ธ ๊ฐ์ฉ์ฑ ์ ๊ณ
ํ ๋ฒ์ ๋๋ฌด ๋ง์ ๋ฐฉ๋ฌธ์๊ฐ ๋ฐฉ๋ฌธํ๊ฑฐ๋ ๋คํธ์ํฌ ํ๋์จ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋ฆฌ์์ค ๊ณ ๊ฐ๋ก์ธํด ์น ์ฌ์ดํธ๊ฐ ์ค๋จ๋ ์ ์๋ค. CDN ์๋น์ค๋ ์ด๋ฐ ํธ๋ํฝ๋ ์ ์ดํ ์ ์์ด์ ์น ์๋ฒ์ ๋ก๋๋ฅผ ์ค์ผ ์ ์๋ค. ๋ํ ํ๋ ์ด์์ CDN ์๋ฒ๊ฐ ์ด๋ค ์ฌ๊ณ ๋ก ์ธํด ์คํ๋ผ์ธ์ผ๋ก ์ ํ๋๋ฉด ๋ค๋ฅธ ์ด์ ์๋ฒ๊ฐ ํด๋น ์๋ฒ๋ฅผ ๋์ฒดํ์ฌ ์๋น์ค๊ฐ ์ค๋จ๋์ง ์๋๋ก ํ ์ ์๋ค.(์ด์คํ) ๋น์์ฉ ๋ฐ์ ๊ธฐ ๊ฐ์ ์ญํ ์ ํ ์ ์๋ค. - ์น ์ฌ์ดํธ ๋ณด์ ๊ฐํ
3๋ฒ์์ ์ธ๊ธํ๋ฏ์ด CDN์ ์ฌ๋ฌ ์ค๊ฐ ์๋ฒ ๊ฐ์ ๋ก๋๋ฅผ ๋ถ์ฐํ์ฌ ๋ณธ ์๋ฒ์ ๋ฏธ์น๋ ์ํฅ์ ์ค์ด๋๋ฐ DDoS์ ๊ฐ์ ํธ๋ํฝ ๊ณต๊ฒฉ์ ์ฒ๋ฆฌํ ์๋ ์๋ค.
# CDN ์๋น์ค ์์?
์ฐ๋ฆฌ๊ฐ ์น์ฌ์ดํธ์ ์์ฒญํ๋ ๋์ฉ๋ ๋ฐ์ดํฐ๋ค์ ๋ชจ๋ CDN ๊ธฐ๋ฐ์ด๋ผ๊ณ ๋ด์ผ๋๋ค.
๊ทธ ๋ํ์ ์ธ ์์๊ฐ Netflix๋ค. 2011๋ ์ ์์ฒด CDN์ ๊ตฌ์ถํด์ ๊ฐ๊ณ ์๋ ๋น๋์ค ์ฝํ ์ธ ๋ฅผ ๋ ์ดํด์๋ฅผ ์ต์ํํด์ ์ ๊ณตํ๋ค.
์์ผ ํต์ ์ ๋ํด์ ์ค๋ช ํ์ธ์.
TCP์ ํผ์ก ์ ์ด ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์
HTTP์ HTTPS์ ์ฐจ์ด์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์
๊ฐ๋น์ง ์ปฌ๋ ์ (GC)์ด๋ ๋ฌด์์ธ๊ฐ์?
IPv4์ IPv6์ ์ฃผ์ ์ฐจ์ด์ ๊ณผ IPv6๊ฐ ํ์ํ ์ด์ ๋?
CPU ์ค์ผ์ค๋ง์ด ๋ฌด์์ธ์ง ์ค๋ช ํ๊ณ , ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์
::์ถ์ฒ::
https://github.com/VSFe/Tech-Interview?tab=readme-ov-file
https://github.com/WooVictory/Ready-For-Tech-Interview
https://github.com/gyoogle/tech-interview-for-developer
https://github.com/JaeYeopHan/Interview_Question_for_Beginner
๋์์ด ๋๋ค๋ฉด ๋๊ธ์ด๋ ๊ณต๊ฐ ๋ฒํผ ํ ๋ฒ์ฉ ๋๋ฅด๊ณ ๊ฐ์ฃผ์ธ์! ๋ก๊ทธ์ธ ์ํด๋ ๋ฉ๋๋ค ^_^
'CS๐ฅ๏ธ > ์คํฐ๋๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋คํธ์ํฌ ๋ชจ์ (0) | 2024.06.16 |
---|---|
[CS ์คํฐ๋] 4์ฃผ์ฐจ ver 1.0 (0) | 2024.04.12 |
[CS ์คํฐ๋] 1~2์ฃผ์ฐจ ver 1.3 (0) | 2024.03.29 |