Wed Sep 10 2025
...
FastComments๊ฐ ์ด์ ์ ์ธ๊ณ์ ์ผ๋ก ๋ฐฐํฌ๋ฉ๋๋ค
์๋กญ๊ฒ ๋ณ๊ฒฝ๋ ์ฌํญ
์ด์ ์๋ FastComments๊ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด ๋งค์ฐ ์ ํต์ ์ธ ์ํคํ ์ฒ๋ฅผ ๊ฐ์ง๊ณ ์์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๊ทธ๋ฆฌ๊ณ ๋ช ๊ฐ์ง ๋ค๋ฅธ ์๋น์ค๋ฅผ ์ด์ํ์ต๋๋ค. ์ด๋ ๋ ์ง์ญ(๋ฏธ๊ตญ ์จ์คํธ ๋ฐ ์ ๋ฝ)์์ ์ค๋ณต๋์์ต๋๋ค. ๋ง์ฝ ๋น์ ์ด ํ๋์ค์ ์๊ณ , ์ฐ๋ฆฌ ๊ธ๋ก๋ฒ ๋ฐ์ดํฐ ์ผํฐ์์ ํธ์คํ ๋ ๊ณ ๊ฐ์ ๋๊ธ ์ค๋ ๋๋ฅผ ๋ณด๋ ค๊ณ ํ๋ค๋ฉด, ์์ฒญ์ ๋๊ธ ๋ฐ์ดํฐ๋ฅผ ์ํด ๋ฏธ๊ตญ ์จ์คํธ๊น์ง ๊ฐ์ผ ํ์ต๋๋ค.
์ด์ ๋ ์๋๋๋ค! ์ด์ ๋๊ธ ๋ฐ์ดํฐ์ ๋ชจ๋ ๋ฏธ๋์ด ์์ฐ์ด ๊ธ๋ก๋ฒ ๋ฐฐํฌ์ ๊ณ ๊ฐ์ ์ํด ์ ์ธ๊ณ์ ์ผ๋ก ๋ณต์ ๋๋ฉฐ, EU ๋ฐฐํฌ์ ๊ณ ๊ฐ์ ์ํด ๋ฐ์ดํฐ๊ฐ ๋ณต์ ๋๋ ์ธ ๊ฐ์ ์กด์ฌ ํฌ์ธํธ๊ฐ ์์ต๋๋ค. ๊ทํ์ ์์ฒญ์ EU ๋ด์์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ธ๋๋ก ์ ์ก๋ฉ๋๋ค.
์ด์ ์ ์๋ ๋ฐฉ์
์ฌ๋ฌ ๋ผ์ด๋ธ ๋ณต์ ๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ธํ๊ณ , ๋ชจ๋ ์๋น์ค๋ ์๋น์ค ์ ํ๋ณ๋ก ํ๋์ ์ธ์คํด์ค์ ๋ฐฐํฌ๋์์ต๋๋ค. ์ด๋ ๊ฐ ์ง์ญ๋ง๋ค ํ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ, ํ๋์ ํผ๋ธ๋ฆฌ์ฑ ๋ฐ ๊ตฌ๋ ์๋ฒ, ํ๋์ ๋ฏธ๋์ด ์๋ฒ๊ฐ ์กด์ฌํ์์ ์๋ฏธํ์ต๋๋ค. ์ด๋ ๋งค์ฐ ๋จ์ํ๊ฒ ์ ์งํ๊ธฐ ์ํด ๊ฐ๋ฅํ ๋์ ์์ง์ ์ผ๋ก ํ์ฅํ ๊ณํ์ด์์ต๋๋ค. ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ฌ์ ์ต๋๋ค - ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ ๋ ํญ์ "์์ ์ ์ฐ๊ธฐ๋ฅผ ์ฝ์ ์ ์๋ค"๋ ๊ฒ์ ์๊ณ ์์์ต๋๋ค. ์ธํ๋ผ๋ ๋ณด์ ์ ๋ฐ์ดํธ๋ฅผ ์ ์ธํ๋ฉด ๊ฐ๋จํ์ต๋๋ค. ๋ณด์ ์ ๋ฐ์ดํธ๋ ์ ๊น์ ๋ค์ดํ์์ด ๊ฑธ๋ ธ์ต๋๋ค.
๋ฌธ์ ์
๋ฌธ์ ๋ ์ฉ๋์ ๋๋ฌํ์ ๋ ๋ถ๋ช ํ๊ฒ ์์๋์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ต์ ํ๋ฅผ ํ์ฌ ๊ฒฐ๊ตญ ํด๋น ์๋น์ค์ ์ธ์คํด์ค ํฌ๊ธฐ๋ฅผ ๋๋ ค์ผ ํ์ต๋๋ค.
์ด๋ Linode์์ ๋น์ฉ์ด ๋ง๋ํ๊ฒ ๋น์ธ์ง๊ธฐ ์์ํ์ต๋๋ค. ์ธ์คํด์ค ๋น์ฉ์ด $144์ธ๋ฐ, ์ด๋ ์ฐ๋ฆฌ์ ๊ธฐ์ค ํ ์คํธ์ ๊ธฐ๋ฐํ์ฌ $20 OVH ๋ ธ๋์ ๋น์ทํ ์์ค์ด๋ฉฐ, ํธ์คํ ์ ๊ณต์ ์ฒด๋ฅผ ๋ฐ๊ฟ๋ ์คํจ ์ง์ ์ด ์ฌ๊ธฐ์ ๊ธฐ ์๊ธฐ๊ธฐ ๋ง๋ จ์ ๋๋ค - OVH์ ๊ฐ์ ์ ๊ณต์ ์ฒด๋ Linode๋ณด๋ค ์ ์ง๋ณด์ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ ์๊ฐ์ด ๋ ๊ธธ์ด์ง๊ธฐ ๋ง๋ จ์ ๋๋ค.
RiR :)
FastComments์ ํผ๋ธ๋ฆฌ์ ๋ฐ ๊ตฌ๋ ์๋น์ค๋ ์ด๊ธฐ ๋ช ๋ ๋์ Java๋ก ์์ฑ๋์์ต๋๋ค. Java๋ ์ ๋ ฅ๋ ๋ ธ๋ ฅ์ ๋นํด ์๋์ ์ผ๋ก ๋์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๊ธฐ ๋๋ฌธ์ ์ ํ๋์์ผ๋ฉฐ, GC๋ฅผ ์๋ ๊ฐ ์กฐ์ ํ๊ณ G1GC, Shenandoah, Z1์ ์๋ํ ํ ์ฐ๋ฆฌ๋ ๋ ์ด์ Java๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ์ค๋ฒํค๋๋ ๋จ์ํ ๋๋ฌด ๋ง์๊ณ , ์ด๋ฌํ ์๋น์ค๋ ์๋ฃ ํ ๋งค์ฐ ์ ์ ์ด๊ธฐ ๋๋ฌธ์ Java์ ์ด์ ์ด ์ฌ๋ผ์ก์ต๋๋ค. ๋ํ ์ด๋ฌํ ์๋น์ค๋ "์ฐ๋ฅด๋ฅด ๋ชฐ๋ ค์ค๋" ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ์ด์ผ ํ๊ธฐ ๋๋ฌธ์ JVM์ JIT๊ฐ ์์๋๊ธฐ ์ ์ ์ ์ ํธ๋ํฝ์ ์ฒ๋ฆฌํ๋ ค๊ณ ์๋ํ๊ณ ์์์ต๋๋ค. ์ด๋ฌํ ์๋น์ค๋ C++ ๋๋ Rust๋ก ์ ํํ๊ธฐ์ ์ ํฉํ ํ๋ณด๊ฐ ๋์์ต๋๋ค.
์ฐ๋ฆฌ๋ C++ ์ ๋ฌธ๊ฐ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ Rust๋ฅผ ์ ํํ์ผ๋ฉฐ, ๋คํธ์ํฌ ์ฝ๋์์ ์ค์๋ฅผ ํ๋ฉด ํ ๊ณ ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ๋ค๋ฅธ ๊ณ ๊ฐ์๊ฒ ๋ ธ์ถ๋ ์ ์์ต๋๋ค. Rust๋ ์ด๋ฌํ ์ข ๋ฅ์ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
์ฐ๋ฆฌ๋ ์ด์จ๋ ์ด๋ฌํ ์๋น์ค์ ํตํฉ์ ์ํ๊ธฐ ๋๋ฌธ์, ๊ทธ๋๋ GraalVM์ผ๋ก ๋ ๋ค๋ฅธ ์ต์ ํ๋ฅผ ํ ์๋ ์์์ง๋ง, ์ฐ๋ฆฌ๋ Rust๋ก ์ด๋ํ๊ธฐ๋ก ๊ฒฐ์ ํ์์ต๋๋ค.
๋ง์ด๊ทธ๋ ์ด์ ์ ๋ฌธ์ ์์ด ์งํ๋์ง๋ ์์์ต๋๋ค. ์ด๋ฌํ ์๋น์ค๋ SSL์ ์ข ๋ฃํ๊ณ HTTP 1.1, HTTP/2 ๋ฑ์ ์ง์ํด์ผ ํฉ๋๋ค. ๊ทธ๋ค์ ์ฌ๋ฌ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ๋์์ ๊ด๋ฆฌํ๊ณ , ์ฃ์ง์์ ๋์คํฌ lru ์บ์, S3, ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฏธ๋์ด๋ฅผ ์ฝ๊ณ , ๋ฉ์์์ ํต์ ํ๋ ๋ฑ์ ์์ ์ ์ํํด์ผ ํฉ๋๋ค. Java ์ํ๊ณ์ธ Vertx์ Netty๋ ์ด๋ฌํ ์์ ์ ๋งค์ฐ ์ข์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ํ๊ณ๋ฅผ ํ๊ณ๊น์ง ์ถ์งํ๊ณ ์์์ผ๋ฉฐ, Rust ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ๊ฒฝํ์ด ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์ ๋ช ๊ฐ์ง ์ํ์ฐฉ์ค๋ฅผ ๊ฒช์ด์ผ ํ์ต๋๋ค. ์ด๋ก ์ธํด ๋ช ์ฐจ๋ก์ ๋ค์ดํ์์ด ๋ฐ์ํ์๊ณ , ์ด์ ๋ํด ์ฌ๊ณผ๋๋ฆฝ๋๋ค.
์ฐ๋ฆฌ๋ ๋ํ ๋ค์ํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์๋ฅผ ์คํํ์ผ๋ฉฐ, ์ปค์คํ DNS ์๋ฒ์๋ mimalloc์, ์ ์ก ๊ณ์ธต์๋ libc๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ์ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ Nginx๋ Apache๋ฅผ ์คํํ์ง ์๊ณ , ๋์ Maxmind๋ก๋ถํฐ ๋งค์ฃผ ์ฌ๊ตฌ์ฑ๋ ์ธ๋ฉ๋ชจ๋ฆฌ ์์ธ์ ๊ธฐ๋ฐํ์ฌ ํด๋ผ์ด์ธํธ๋ฅผ ์ ์ธ๊ณ์ ์ผ๋ก ๋ผ์ฐํ ํ๋ ์ปค์คํ DNS ์๋ฒ์ ์กฐํฉ๊ณผ Rust๋ก ๋ ์ฐ๋ฆฌ์ ์ ์ก ๊ณ์ธต์ ์ฌ์ฉํฉ๋๋ค. ์ ์ก ๊ณ์ธต์ SSL์ ์ข ๋ฃํ๊ณ , ํผ๋ธ๋ฆฌ์ ๋ฐ ๊ตฌ๋ ์์ ์ ์ฒ๋ฆฌํ๋ฉฐ, ์ฐ๋ฆฌ์ CDN ์ญํ ์ ํฉ๋๋ค. ์ด์ ์ ์๋น์ค ๊ฐ์ ๋ฐ์ดํฐ ์ด๋ ์ ์ค๋ฒํค๋๊ฐ ์ค์ด๋ค๊ณ ์ธํ๋ผ ์ค๋ฒํค๋/์ถ์ํ๊ฐ ์ค์ด๋๋ ๊ฒ์ ๋๋ค. ๋จ์ ์ ๊ฐ์์ฑ์ด ์ค์ด๋ค๊ธฐ ๋๋ฌธ์ ์ข์ ๋ฉํธ๋ฆญ์ด ์ค์ํ๋ค๋ ๊ฒ์ ๋๋ค.
๊ฒฐ๊ณผ์ ์ธ ์ฑ๋ฅ ์ธก๋ฉด์์, Rust ์๋น์ค๋ ์ฐ๋ฆฌ์ ์์ ์๋ ๋ถ๊ตฌํ๊ณ Java ์๋น์ค์ ์ฝ 10-30%์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. ๋๋ ์ฌ๋ฏธ์ผ์ Java Concurrency in Practice์ ๊ฐ์ ์ฑ ์ ์ฝ๊ธฐ ๋๋ฌธ์ ์ ๋ฌธ๊ฐ๋ ์๋์ง๋ง JVM ์๋น์ค๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํ๋ ๊ฒ์ ๋ํด ๋ช ๊ฐ์ง๋ฅผ ์๊ณ ์์ผ๋ฉฐ, Rust๋ก ์ด๋ฌํ ๊ฒ์ ๋ ์ฝ๊ฒ ์ด๋ฃจ๋ ๊ฒ์ด ํจ์ฌ ์์ํ์ต๋๋ค. ๊ฒ๋ค๊ฐ, ๋๋์ ๊ตฌ๋ ์์๊ฒ ๋ฉ์์ง๊ฐ ์คํ์ดํฌ ๋ ๋, JVM ์๋น์ค๊ฐ GC์ 40%์ ์๊ฐ์ ์๋นํ๋ ๋ฐ๋ฉด CPU ์ฌ์ฉ๋์ ๊ฑฐ์ ์ฐจ์งํ์ง ์์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ์ ์ฝ๋๋ฅผ ๊ฒ์ ์์ง์ฒ๋ผ ์์ฑํ๋๋ฐ ์ง์คํ์ผ๋ฉฐ, ์ ํ์ ์ธ ์๋ฒ์ฒ๋ผ ์์ฑํ์ง ์์์ต๋๋ค. ๋๋ Rust์ ์ด๋ ฌํ ํฌ์ด๋ผ๊ณ ํ ์๋ ์์ง๋ง, ์ด๊ธฐ ๊ฐ๋ฐ ํ ๋ง์ ์์ ์ ์ํํ๊ณ ๋ณ๋์ด ์ ์ ์๋น์ค์๋ ์๋ฒฝํ ์ ํ์ ๋๋ค. ์ฐ๋ฆฌ์ ์ฃผ์ ๋น์ฆ๋์ค ๋ก์ง์ ์ฌ์ ํ TypeScript์ ๋จ์ ์์ต๋๋ค.
์๋ก์ด ์ํคํ ์ฒ
์๋ก์ด ์ํคํ ์ฒ์๋ ๋ ์ด์ "์ ์" ๋ ธ๋๊ฐ ์์ต๋๋ค. ๋์ , ๊ฐ ์๋ฒ๋ ๋์ผํ ์๋น์ค์ ๊ฑฐ์ ๋์ผํ ๊ตฌ์ฑ์ผ๋ก ์์ ํ ๋ณต์ ๋ณธ์ ๋๋ค. ๊ทธ๋ค์ ๊ฐ๊ฐ ์ ์ก, DNS, ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณต์ฌ๋ณธ์ ์คํํฉ๋๋ค. ๋ชจ๋ ๋ ธ๋๋ ์ ์ฒด ๋์คํฌ ์ํธํ๋ฅผ ์ ์งํ๋ฉฐ Dropbear๋ก ์๋ ์ ๊ธ์ ํด์ ํฉ๋๋ค.
๊ฐ ์๋ฒ๋ ์์ฒญ์ ์ข ๋ฃํ๊ณ ์น์์ผ, HTTP ์คํธ๋ฆผ ๋๋ CDN ์์ฒญ์ผ๋ก ์ฒ๋ฆฌํ๋ ๋ผ์ฐํ ์ ์ก์ ์คํํฉ๋๋ค. ์ด๋ฌํ ์๋ฒ๋ ์๋ก ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉฐ, ๊ฐ ์๋ฒ๋ ๊ธ๋ก๋ฒ ๋คํธ์ํฌ์ ๋งคํ์ ํด๋น ๋ก์ปฌ DNS ์๋ฒ์ ์ ๊ณตํ์ฌ ์ค์๊ฐ์ผ๋ก ๊ฐ ๋ผ์ด๋ธ ๋ ธ๋์ ๊ธ๋ก๋ฒ ์์น๋ฅผ ์๋ ค์ค๋๋ค.
์๋ก์ด ์ํคํ ์ฒ์ ์ฅ์ ์ ์ค๋ณต์ฑ์ ๋๋ค. ํ ์ง์ญ์ ๊ณ ๊ฐ์ด ์ฐ๋ฆฌ์๊ฒ ๋งค์ฐ ๊ฐํ๊ฒ ์์ฒญํ ๋, ๋ค๋ฅธ ์ง์ญ์ ์จ๋ผ์ธ ์ํ๋ฅผ ์ ์งํฉ๋๋ค.
์ด์ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ธ๋์ ๋๋ฌํ ์ ์๋ ์ฟผ๋ฆฌ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฃผ ๋ ธ๋๋ก ๊ฐ์ผ ํ๋ ์ฟผ๋ฆฌ์ ๋ํด ๋งค์ฐ ์ฃผ์ํด์ผ ํฉ๋๋ค. ์ค์๋ฅผ ํ๋ฉด ์ฑ๋ฅ์ด ๊ธ๊ฒฉํ ๊ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ ๋ํ ์ผ๋ถ ์ง์ญ์์์ ์ฐ๊ธฐ ์๋๊ฐ ๋๋ฆด ์ ์์์ ์๋ฏธํ๋ฉฐ, ์ด๋ ์ ์คํ ์กฐ์ ๋ฐ ์ต์ ํ๊ฐ ํ์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๋ ๋ชจ๋ ๋ฉ์๋๊ฐ readPreference ์ธ์๋ฅผ ๊ฐ๋๋ก ๋ด๋ถ์์ ํจํด์ ๋ฐ๋ฆ ๋๋ค. ๊ทธ๋ ๊ฒ ํจ์ผ๋ก์จ ํธ์ถ์๋ ์ต์์๊น์ง ๋ช ์์ ์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์ ํํด์ผ ํฉ๋๋ค.
์ด์ ์ ์ฝ๊ธฐ์ ๋ํ ๋งค์ฐ ์ข์ ์ํ ํ์ฅ์ฑ์ ์ ๊ณตํฉ๋๋ค. FastComments๋ ๋งค์ฐ ์ฝ๊ธฐ ์ค์ฌ์ด์ง๋ง, ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ์ ์ค์ฌ์๋ค์ ์์ง ๋ง์์ผ ํฉ๋๋ค! ์ค์ฌ์๋ค์ ์ ์ธ๊ณ์์ ํ๋ฃจ ์ข ์ผ ์ผํ๋ฉฐ, ์ฐ๋ฆฌ๋ ๊ทธ๋ค์ ๊ฒฝํ์ด ์ข๊ฒ ์ ์ง๋๊ธฐ๋ฅผ ์ํฉ๋๋ค. ์ด ๋กค์์์ ์ผํ์ผ๋ก ์ฐ๋ฆฌ๋ ๋ช๋ช ์ค์ฌ์์ ํ๋ ฅํ์ฌ ์ค์ฌ ๋๊ตฌ๊ฐ ์ฌ์ ํ ๋น ๋ฅด๊ฒ ์ ์ง๋๋๋ก ํ๊ณ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋ํ ํ๋์จ์ด๋ฅผ ์์ ์ ํํ ์ ์์ผ๋ฉฐ, ์ด๋ ์ฌ๋ฏธ์๊ณ ๋ณด๋ ์์ต๋๋ค. ์๋ก์ด ์๋ฒ๋ i5-13500๊ณผ Ryzen 5 5600X ๋ฐ์ค๋ฅผ ํผํฉํ ๊ฒ์ด๋ฉฐ, EU ์ง์ญ์ ์๋ ์๋ฒ๋ ๊ตฌํ Xeon์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ์ ๋ฒค์น๋งํฌ์์ ์ด ๋ชจ๋ ์๋ฒ๋ ๋ค๋ฅธ ์ ๊ณต์ ์ฒด์์ ํ์ ์ค์ธ ๋ณด๋ค ๋น์ผ ์๋ฒ๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๊ฒ ๋ํ๋ฌ์ต๋๋ค. ๋จ์ ์ ๋ ๋ง์ ์ค์ ์์ ์ด ํ์ํ๋ค๋ ์ ์ด์ง๋ง, ์ฐ๋ฆฌ๋ ์ด๋ฅผ ์๋ํํ์๊ณ , ์คํจ์ ๋ํ SMART ๋์คํฌ ๋ชจ๋ํฐ๋ง ๋ฑ๋ ์ค์ ํ์ต๋๋ค.
์ด๋ฌํ ์ผ์ ์ํํจ์ผ๋ก์จ ์ฐ๋ฆฌ๋ ๊ฒฝ์๋ ฅ ์๋ ๊ฐ๊ฒฉ์ ๊ณ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
๋กค์์
์๋น์ค๋ฅผ ๋ค์ ์์ฑํ๊ณ ์๋ก์ด ํธ์คํ ์ ๊ณต์ ์ฒด๋ก ์ด๋ํ๋ ๋์ ์ง๋ ๋ช ๊ฐ์ ๊ฐ์ ๋กค์์์ ์์กฐ๋กญ์ง ์์์ผ๋ฉฐ, ์ฌ๋ฌ๋ถ์ ์ธ๋ด์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์ด๊ธฐ ๋กค์์์์๋ ์ฐ๋ฆฌ์ ๋ฉํธ๋ฆญ์ด ์์ฒญ ์๊ฐ์ ์ฆ๊ฐ๋ฅผ ๋ํ๋์ต๋๋ค. ์์ฒญ์ด > 100ms ์ด์์ด ๋๋ ๊ฒฝ์ฐ๋ ๋ง์ง ์์์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ฌ์ ํ ์ผ๋ถ ์ง์ญ์ ์ฑ๋ฅ ํฅ์์ ์ํด ์ ์ง์ ์ผ๋ก ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ์ง๊ธ๊น์ง ํผ๋๋ฐฑ์ ์ ๊ณตํด ์ฃผ์ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌํฉ๋๋ค.
API ์ฌ์ฉ ์ ๊ณ ๋ ค ์ฌํญ
API๋ ์ฌ์ ํ ๊ฐ๋ ฅํ๊ฒ ์ผ๊ด์ฑ์ ์ ์งํฉ๋๋ค - ์์ ์ด ์ด ๋ด์ฉ์ ์ฝ์ ์ ์๋๋ก ํ์ฌ ํ์ ํธํ์ฑ์ ์ ์งํ๊ณ ๊ฐ๋ฐ์๋ค์๊ฒ ๋จ์์ฑ์ ์ ๊ณตํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ฐ๋ฐ์๋ค์๊ฒ ์ผ๊ด์ฑ๋ณด๋ค ์ฑ๋ฅ์ ์ ํํ ์ ์๋๋ก readPreference ๋งค๊ฐ๋ณ์๋ฅผ ๋ ธ์ถํ ๊ณํ์ ๋๋ค. ์ด์ ์ด์ ์ ์ด๋ฌํ API ํธ์ถ์ ๋ํด ํฌ๋ ๋ง ํ ์ธ์ ์ ๊ณตํ ์๋ ์๋ค๋ ๊ฒ์ ๋๋ค.
๋๊ธ ์์ ฏ์ ์ ๊ณตํ๋ ๊ฒ๊ณผ ๊ฐ์ ๋ชจ๋ ๊ณต๊ฐ ์๋ํฌ์ธํธ๋ ํญ์ ํด๋น ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด(๋ก์ปฌ) ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฝ์ต๋๋ค.
์ผ๋ฐ CDN์ ์ฌ์ฉํ์ง ์๋ ์ด์
๋๊ธ ์ค๋ ๋๋ ์ ์ ์ด์ง ์์ผ๋ฉฐ, ๋ผ์ด๋ธ์ ๋๋ค. ์ ์ ๋ฐ์ดํฐ ์์ ๋ผ์ด๋ธ ์คํธ๋ฆผ์ ์ ์ฉํ๋ ๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค. Anonymous ์ฌ์ฉ์๋ก ์ค๋ ๋๋ฅผ ๋ณผ ๋ "์ต๋ช ์ธ์ "์ ๋ฐ์ต๋๋ค. ์ด ์ต๋ช ์ธ์ ๋ด์์ ๋ค๋ฅธ ์ฌ์ฉ์ ์ฐจ๋จ ๋ฐ ์ ๊ณ ์ ๊ฐ์ ์์ ์ ์ํํด์ผ ํ๋ฉฐ, ์ต๋ช ์ฌ์ฉ์๊ฐ ํน์ ๋๊ธ์ ์ข์ํ๋์ง ์ฌ๋ถ๋ ํ์ํด์ผ ํฉ๋๋ค. ๋๊ธ ์ค๋ ๋๋ SSO, ์ธ์ฆ ๋๋ ์ฌ์ฉ์ ๊ทธ๋ฃน์ ๋ฐ๋ผ ์ ๊ธธ ์๋ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก, ๋์ ๋ฐ์ดํฐ๊ฐ CDN์ ์ ์ ๋ฐ์ดํฐ์ ๋งคํ๋๋ "์ ์ง์ ํฅ์"์ ์ฝํ ์ธ ๊ฐ ์์ง์ด๊ฑฐ๋ ๋ช ์ด ํ์ ๋ณ๊ฒฝ๋๋ ๋์ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฐ ์ผ์ ํ๊ณ ์ถ์ง ์์ต๋๋ค.
์ด์ ๋ด ๋ฐ์ดํฐ๋ ์ด๋์ ์๋์?
๊ทํ์ ๋ฐ์ดํฐ๋ ๋ ์ด์ Linode์ ์ ์ฅ๋์ง ์์ต๋๋ค. ๋ฐ์ดํฐ๋ Hetzner์ OVH ๊ฐ์ ์ค์๊ฐ์ผ๋ก ๋ณต์ ๋๋ฉฐ ์ ์ฒด ๋์คํฌ ์ํธํ๊ฐ ์ ์ฉ๋๊ณ , ๋ฐฑ์๋ ์๋ฒ ๊ฐ ๋ชจ๋ ํต์ ์ TLS๋ก ์ด๋ฃจ์ด์ง๋๋ค. ์ฐ๋ฆฌ๋ ์์๋ฐ์ด๋ ์นํํฌ ํ๋ก์๋ฅผ ์ํด ๋ช ๊ฐ์ ๋ ๊ฑฐ์ Linode ์ธ์คํด์ค๋ฅผ ์ ์งํ๊ณ ์์ง๋ง, ๋ ์ด์ Linode์ ๋ฐ์ดํฐ๋ ๋ฏธ๋์ด๊ฐ ์ ์ฅ๋์ง ์์ต๋๋ค.
๊ฒฐ๋ก
๋ชจ๋ ์ฃผ์ ๋ฆด๋ฆฌ์ค์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ต์ ํํ๊ณ ํ ์คํธํ๋ฉฐ ์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ ํ ๋ฆด๋ฆฌ์คํ ์ ์์ด ๊ธฐ์๊ฒ ์๊ฐํฉ๋๋ค. ์ด ์์ ๋๋ถ์ FastComments๋ ๋ ๋์ ํ์ฅ์ฑ๊ณผ ์์ ์ฑ์ ๊ฐ์ง๊ณ ์ฅ๊ธฐ์ ์ผ๋ก ํฅ์๋ ๊ฒ์ ๋๋ค. ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ์๋ฉด ์๋์ ์๋ ค์ฃผ์ธ์.
