Request: ์š”์ฒญ๊ณผ ํ•จ๊ป˜ dnscache๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2017๋…„ 02์›” 10์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: request/request

๋‚˜๋Š” ๋ฌธ์ œ์˜ ๋ฐฑ๋กœ๊ทธ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์ฝ์—ˆ๊ณ  ๋งค๋ฒˆ dns๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Œ€์‹  dns ์บ์‹ฑ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ dns ์กฐํšŒ ์บ์‹ฑ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ชจ๋“ˆ์ด ์žˆ์ง€๋งŒ ์š”์ฒญ์— ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ ์šฐ๋ฆฌ๋Š” ๋„คํŠธ์›Œํฌ ๋Œ€๊ธฐ ์‹œ๊ฐ„์œผ๋กœ ์ธํ•ด ๋ช‡ ์ดˆ๊ฐ€ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋Š” ์ž„์˜์˜ dns.lookup ํ˜ธ์ถœ์„ ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ƒ์ ์œผ๋กœ๋Š” dns.lookup์— ๋Œ€ํ•œ ์š”์ฒญ ํ˜ธ์ถœ ์•ž์— ๋ฌด์–ธ๊ฐ€๋ฅผ ๋„ฃ๊ณ  ์†๋„ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์บ์‹œ๋œ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•˜๋„๋ก ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์–ด๋–ค ์•„์ด๋””์–ด?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ฐฉ๊ธˆ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋กœ์ปฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์œผ๋ฉฐ yahoo/dnscache ๊ฐ€ ์ „์—ญ DNS ๋ชจ๋“ˆ์„ ์ˆ˜์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋…ธ๋“œ ์•ฑ์˜ ์–ด๋Š ๊ณณ์—์„œ๋‚˜ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ requestjs ๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋œ ๊ฒƒ์„ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  HTTP ์š”์ฒญ์—์„œ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋Œ€๋‹ต์€ ์•ฑ์˜ ์•„๋ฌด ๊ณณ์—๋‚˜ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๋งŒ ํผ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

require('dnscache')({ enable: true });

...ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

dnsmasq, powerdns, unbound ๋“ฑ๊ณผ ๊ฐ™์€ DNS ์บ์‹ฑ ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๊ณ  DNS ์„œ๋ฒ„ IP๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก /etc/resolv.conf ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋กœ์ปฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์œผ๋ฉฐ yahoo/dnscache ๊ฐ€ ์ „์—ญ DNS ๋ชจ๋“ˆ์„ ์ˆ˜์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋…ธ๋“œ ์•ฑ์˜ ์–ด๋Š ๊ณณ์—์„œ๋‚˜ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ requestjs ๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋œ ๊ฒƒ์„ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  HTTP ์š”์ฒญ์—์„œ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋Œ€๋‹ต์€ ์•ฑ์˜ ์•„๋ฌด ๊ณณ์—๋‚˜ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๋งŒ ํผ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

require('dnscache')({ enable: true });

...ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์ตœ๊ทผ ํ™œ๋™์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์˜ค๋ž˜๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ํ™œ๋™์ด ์—†์œผ๋ฉด ํ์‡„๋ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ๊ธฐ์—ฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰