๋๋ ๋ฌธ์ ์ ๋ฐฑ๋ก๊ทธ์์ ์ฐพ์ ์ ์๋ ๋ชจ๋ ๊ฒ์ ์ฝ์๊ณ ๋งค๋ฒ dns๋ฅผ ํด๊ฒฐํ๋ ๋์ dns ์บ์ฑ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ฐธ์กฐ๋ฅผ ๋ณด์ง ๋ชปํ์ต๋๋ค. ์ด๋ฏธ dns ์กฐํ ์บ์ฑ์ ์ํํ๋ ๋ชจ๋์ด ์์ง๋ง ์์ฒญ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ์ ์์ต๋๋ค.
ํนํ ์ฐ๋ฆฌ๋ ๋คํธ์ํฌ ๋๊ธฐ ์๊ฐ์ผ๋ก ์ธํด ๋ช ์ด๊ฐ ๊ฑธ๋ฆด ์ ์๋ ์์์ dns.lookup ํธ์ถ์ ๋ณด๊ณ ์์ต๋๋ค. ์ด์์ ์ผ๋ก๋ dns.lookup์ ๋ํ ์์ฒญ ํธ์ถ ์์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฃ๊ณ ์๋ ์ ํ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์บ์๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋๋ก ํ๊ณ ์ถ์ต๋๋ค.
์ด๋ค ์์ด๋์ด?
dnsmasq, powerdns, unbound ๋ฑ๊ณผ ๊ฐ์ DNS ์บ์ฑ ์๋ฒ๋ฅผ ์ค์นํ๊ณ DNS ์๋ฒ IP๋ฅผ ๊ฐ๋ฆฌํค๋๋ก /etc/resolv.conf
๋ฅผ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
๋ฐฉ๊ธ ํ์ธํ๊ธฐ ์ํด ๋ก์ปฌ ์์
์ ์ํํ์ผ๋ฉฐ yahoo/dnscache ๊ฐ ์ ์ญ DNS ๋ชจ๋์ ์์ ํ๊ธฐ ๋๋ฌธ์ ๋
ธ๋ ์ฑ์ ์ด๋ ๊ณณ์์๋ ์ด๋ฅผ ์ฌ์ฉํ์ฌ requestjs
๋ฅผ ํตํด ์ํ๋ ๊ฒ์ ํฌํจํ์ฌ ๋ชจ๋ HTTP ์์ฒญ์์ ์๋ํด์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ๋๋ต์ ์ฑ์ ์๋ฌด ๊ณณ์๋ ์ถ๊ฐํ๋ ๊ฒ๋ง ํผ ๊ฐ๋จํฉ๋๋ค.
require('dnscache')({ enable: true });
...ํ์ํ ๋ชจ๋ ๊ฒ์ด์ด์ผํฉ๋๋ค.
์ด ๋ฌธ์ ๋ ์ต๊ทผ ํ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ค๋๋ ๊ฒ์ผ๋ก ํ์๋์์ต๋๋ค. ๋ ์ด์ ํ๋์ด ์์ผ๋ฉด ํ์๋ฉ๋๋ค. ๊ทํ์ ๊ธฐ์ฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ฐฉ๊ธ ํ์ธํ๊ธฐ ์ํด ๋ก์ปฌ ์์ ์ ์ํํ์ผ๋ฉฐ yahoo/dnscache ๊ฐ ์ ์ญ DNS ๋ชจ๋์ ์์ ํ๊ธฐ ๋๋ฌธ์ ๋ ธ๋ ์ฑ์ ์ด๋ ๊ณณ์์๋ ์ด๋ฅผ ์ฌ์ฉํ์ฌ
requestjs
๋ฅผ ํตํด ์ํ๋ ๊ฒ์ ํฌํจํ์ฌ ๋ชจ๋ HTTP ์์ฒญ์์ ์๋ํด์ผ ํฉ๋๋ค.๋ฐ๋ผ์ ๋๋ต์ ์ฑ์ ์๋ฌด ๊ณณ์๋ ์ถ๊ฐํ๋ ๊ฒ๋ง ํผ ๊ฐ๋จํฉ๋๋ค.
...ํ์ํ ๋ชจ๋ ๊ฒ์ด์ด์ผํฉ๋๋ค.