Node.jsã¯ãåšå²ã«å€ãã®ãã€ãºã絶è³ã¬ãã¥ãŒãæãã®å«ã³å£°ããããŸãã åæã«ãç§ã®èŠ³å¯ã«ãããšãNode.jsã人ã
ã®å¿ã«åºå®ãããŠãããã®ã«ã€ããŠã®æ¬¡ã®èãã¯ããããã¯ãµãŒããŒåŽã§JavaScriptãèšè¿°ããGoogle Chromeã®JavaScriptãšã³ãžã³ã䜿çšã§ããããã«ãããã®ã§ããã èã®ãã¡ã³ã¯ç±å¿ã«ããæ¯ãã€ããŸããã ããã¯å®çŸããŸããïŒãã察æŠçžæã¯æ¯ãé£ããã°ã£ãïŒããŸããç§ãã¡ã¯ãŸã ããµãŒããŒã§ã®ãããã¿ã€ããšåçãªã¿ã€ãã³ã°ã§ãã®ãã³ã»ã³ã¹ãååã«æã£ãŠããŸããã§ããïŒã ãããŠã圌ãã¯äžç·ã«ãªã£ãŠãæ§ãããã°ãšãã©ãŒã©ã ã«åå²ããŸããã
åæã«ãäž¡æ¹ã®ãã£ã³ãã®ä»£è¡šè
ã®å€ãã¯ãNode.jsã¯é£è§£ãªç©å
·ã§ããããã©ãŠã¶ã¹ã¯ãªããã®èšèªããæ°ããè»èŒªãã«ç§»æ€ããããã®æ¥œããã¢ã€ãã¢ã§ãããšèããŠããŸãã å®å
šã«æ£çŽã«èšããšãç§ããã®èŠ³ç¹ãåºå®ãããšåçœããŸãã ããçŽ æŽãããç¬éãç§ã¯å¿ãåãããããå°ãæ·±ãæãäžãããããšã決ããŸããã Node.jsã®äœæè
ã§ãã
Ryan Dahl㯠ãçä¿¡è
ãš
ã¯ã»ã©é ãããæ¬åœã®åé¡ã解決ããããšããç·ã§ããããšãå€æããŸããã ãããŠåœŒã®åµé ã¯ããã¡ãã§ã¯ãªããå®çšçãªè§£æ±ºçã§ãã
ããã§ã¯ãNode.jsãšã¯äœã§ããïŒ
å
¬åŒWebãµã€ãã«ã¯ããV8 JavaScriptã®ã€ãã³ãI / Oããšããç¢æããããŸãã ããŸãæå³ããããŸããããïŒ ããŠããèªè»¢è»ãçºæãããŠããã®æªåé«ããV8 JavaScriptã®ã€ãã³ãI / OãããèããŠãã¿ãŸãããã ãã¡ãããã³ãŒããæžãããšã¯ããŸããïŒè²§åŒ±ãªã©ã€ã¢ã³ã¯ãŸã ãããããªããã°ãªããŸããã§ããïŒããNode.jsãäœæãããããã©ã®ããã«é
眮ãã¹ãããšããã¢ã€ãã¢ã«ã€ãªããçµè«ã®ãã§ãŒã³ãæ§ç¯ããŠã¿ãŠãã ããã
ã·ã³ãã«ã§æããªããš
ãã®ãããWebã¢ããªã±ãŒã·ã§ã³ã¯
ã¯ã©ã€ã¢ã³ã/ãµãŒããŒããã°ã©ãã³ã°ã¢ãã«ã䜿çšããããšãç¥ã£ãŠããŸãã ã¯ã©ã€ã¢ã³ãã¯ãŠãŒã¶ãŒã®ãã©ãŠã¶ã§ããããµãŒããŒã¯ãããšãã°ããã¹ãã£ã³ã°äºæ¥è
ã®ããŒã¿ã»ã³ã¿ãŒã«ãããã·ã³ã®1ã€ã§ãïŒå¥œã¿ã«å¿ããŠãããããéžæããŸãïŒã ãã©ãŠã¶ãŒã¯ãµãŒããŒã«ãªãœãŒã¹ãèŠæ±ãããµãŒããŒã¯ãããã¯ã©ã€ã¢ã³ãã«æäŸããŸãã ã¯ã©ã€ã¢ã³ããšãµãŒããŒéã®éä¿¡ã®ãã®æ¹æ³ã¯ãã
ã¯ã©ã€ã¢ã³ããã« ããšåŒã°ã
ãŸã ã
ããã¯ãã¯ã©ã€ã¢ã³ããæåéããµãŒããŒããã«ãã
ããã§ãã ãµãŒããŒã¯ãè¿·æãªã¯ã©ã€ã¢ã³ãã®è³ªåãžã®åçããçèãããæ¶åå¯èœãªåœ¢åŒã§åœŒã«äžããŸãã
ãã®ãããæãåçŽãªWebãµãŒããŒã®ã¢ãã«ããããŸãããã©ãŠã¶ã¯ã©ã€ã¢ã³ãããèŠæ±ãåä¿¡ããåŠçããŠå¿çãè¿ãããã°ã©ã ã§ãã
ãã©ã¬ã«ãŠãããŒã¹
ãã°ãããã§ããããã®ãããªåçŽãªãµãŒããŒã¯äžåºŠã«1人ã®ãŠãŒã¶ãŒãšããéä¿¡ã§ããŸããã ãªã¯ãšã¹ããåŠçããæç¹ã§ããã1人ã®ã¯ã©ã€ã¢ã³ãã圌ã«å®ãŠãå ŽåããµãŒããŒãæåã«å¿çãããŸã§åŸ
ã€å¿
èŠããããŸãã ãã®ããããŠãŒã¶ãŒããã®ãªã¯ãšã¹ãã®åŠçã䞊ååããå¿
èŠããããŸãã æãããªè§£æ±ºçïŒãŠãŒã¶ãŒèŠæ±ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®åå¥ã®
ã¹ã¬ãããŸãã¯
ããã»ã¹ã§åŠçããŸãã ãã®ãããªããã»ã¹ãŸãã¯ã¹ã¬ããã¯ãŒã«ãŒãããããåŒã³åºããŸãããã
äœããã®åœ¢ã§ããã®ã¢ãããŒãã®åŸã«ãä»æ¥æã人æ°ã®ããå€ãã®WebãµãŒããŒïŒ
Apacheã
IISãªã© ïŒãç¶ã
ãŸã ã ãã®ã¢ãã«ã¯å®è£
ãæ¯èŒçç°¡åã§ãããšåæã«ãä»æ¥ã®ã»ãšãã©ã®äžå°èŠæš¡ã®WebãªãœãŒã¹ã®ããŒãºãæºããããšãã§ããŸãã
ããããåæã«æ°åã®ãªã¯ãšã¹ããåŠçããå¿
èŠãããå Žåããã®ã¢ãã«ã¯å®å
šã«æ©èœããŸããã ããã«ã¯ããã€ãã®çç±ããããŸãã ãŸããããã»ã¹ãšã¹ã¬ããã®äž¡æ¹ãäœæããããšã¯ããããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãšã£ãŠéåžžã«éèŠã§ãã ãã ããäºåã«ã¹ã¬ãããããã»ã¹ãäœæããŠãå¿
èŠã«å¿ããŠäœ¿çšããããšãã§ããŸãã OKã
ã¹ã¬ããã®å Žåã¯ã
ã¹ã¬ããããŒã« ããããã»ã¹ã®å Žåã¯ã
prefork ããšåŒã°ããã¡ã«ããºã ãæãã€ãããšããã§ãã ããã¯ããµãŒããŒã®èµ·åæã«ãã®ãªãŒããŒãããæäœãå®è¡ã§ãããããããã»ã¹ãšã¹ã¬ããã®äœæã«ãªãœãŒã¹ãç¡é§ã«ããªãããã«åœ¹ç«ã¡ãŸãã 第äºã«ãäœæããããã¹ãŠã®ã¯ãŒã«ãŒãå¿ããå Žåã¯ã©ãã§ããããïŒ æ°ãããã®ãäœæããŸããïŒ ãã ãããµãŒããŒã®ãã¹ãŠã®ããã»ããµã³ã¢ã¯æ¢ã«å®å
šã«èªã¿èŸŒãŸããŠãããããã¹ã¬ãããŸãã¯ããã»ã¹ãããã«è¿œå ãããšãæ¢ã«å®è¡ãããŠããã¹ã¬ããããã³ããã»ã¹ãšããã»ããµæéã競ããŸãã ããã¯ãäž¡æ¹ãããã«é
ãåäœããããšãæå³ããŸãã ã¯ããåè¿°ã®ããã«ãã¹ã¬ãããšããã»ã¹ã®äœæãšãµãŒãã¹ã¯RAMã®æ¶è²»éã®ç¹ã§ã³ã¹ãã®ããããã®ã§ããã1,000人ã®ãŠãŒã¶ãŒããšã«ã¹ã¬ãããäœæãããšããµãŒããŒãšã¯ãŒã«ãŒã«ã¡ã¢ãªããŸã£ããæ®ã£ãŠããªãç¶æ³ã«ããã«æ°ä»ãããšããããŸãã¯ãããŒããŠã§ã¢ãªãœãŒã¹ãããã£ãŠåžžã«ç«¶åç¶æ
ã«ãããŸãã
ç¡éã¯å¶éã§ã¯ãããŸããïŒ
å©çšå¯èœãªã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãäžè¶³ããŠããã解決ã§ããªãç¶æ³ã«ããããã«æãããŸãã å¯äžã®è§£æ±ºçã¯
ãããŒããŠã§ã¢ãªãœãŒã¹ã
æ¡åŒµããããšã§ã ãããã¯ããããç¹ã§é«äŸ¡ã§ãã å察åŽããåé¡ãèŠãŠã¿ãŸãããïŒç§ãã¡ã®åŽåè
ã®å€§åã¯å¿ããã§ããïŒ ã¯ã©ã€ã¢ã³ãããã®ãªã¯ãšã¹ããåãå
¥ããã¬ã¹ãã³ã¹ãäœæããã¯ã©ã€ã¢ã³ãã«éä¿¡ããŸãã ããã§ã匱ããªã³ã¯ã¯ã©ãã«ãããŸããïŒ ã¯ã©ã€ã¢ã³ãã«ã¯ãªã¯ãšã¹ããåä¿¡ããã¬ã¹ãã³ã¹ãéä¿¡ãããšãã2ã€ã®æ¹æ³ããããŸãã ãããããã§ããããšãç解ããã«ã¯ãä»æ¥ã®ã€ã³ã¿ãŒãããæ¥ç¶ã®å¹³åé床ãæãåºããŠãã ããã ãã ããI / Oãµãã·ã¹ãã ã¯
éåæã¢ãŒãã§åäœã§ãããããã¯ãŒã«ãŒããããã¯ããªãå ŽåããããŸãã ããŒããå®éã«ã¯ãã¯ãŒã«ãŒãè¡ãããšã¯ãã¯ã©ã€ã¢ã³ããžã®å¿çãçæããI / Oãµãã·ã¹ãã ã®ã¿ã¹ã¯ã管çããããšã ãã§ãã 以åã¯ãåã¯ãŒã«ãŒã¯ãªã¯ãšã¹ãåŠçãµã€ã¯ã«å
šäœãå®è¡ãã責任ãè² ã£ãŠãããããäžåºŠã«1人ã®ã¯ã©ã€ã¢ã³ãã«ãããµãŒãã¹ãæäŸã§ããŸããã§ããã ããã§ããããã¯ãŒã¯I / OãI / Oãµãã·ã¹ãã ã«å§ä»»ãããšã1人ã®ã¯ãŒã«ãŒãè€æ°ã®ãªã¯ãšã¹ããåæã«åŠçã§ããããã«ãªããŸããããšãã°ãããã¯ã©ã€ã¢ã³ãã«å¯Ÿããå¿çãçæããå¥ã®ã¯ãŒã«ãŒã«å¯Ÿããå¿çã¯I / Oãµãã·ã¹ãã ã«ãã£ãŠäžããããŸãã ããã§ããŠãŒã¶ãŒããšã«ã¹ã¬ãããå²ãåœãŠãå¿
èŠããªããªããŸãããããµãŒããŒããã»ããµã«1ã€ã®ã¯ãŒã«ãŒãäœæã§ãããããæ倧ã®ããŒããŠã§ã¢ãªãœãŒã¹ãæäŸã§ããŸãã
å®éã«ã¯ããã®ãããªå§ä»»ã¯
ã€ãã³ãæåã®ããã°ã©ãã³ã°ãã©ãã€ã ã䜿çšããŠå®è£
ãããŸãã ãã®ãã©ãã€ã ã«åŸã£ãŠéçºãããããã°ã©ã ã¯ã
æéç¶æ
ãã·ã³ãšããŠå®è£
ã§ããŸãã ç¹å®ã®ã€ãã³ãã¯ãç¹å®ã®ãã·ã³ãããç¶æ
ããå¥ã®ç¶æ
ã«å€æããŸãã ç§ãã¡ã®å ŽåããµãŒããŒã¯ãã¯ã©ã€ã¢ã³ããžã®å¿çãçæããç¹å®ã®æäœãå®è¡ããæºåãã§ããŠãããã©ãã
I / Oãµãã·ã¹ãã ã®èšè¿°åãããŒãªã³ã°ããæåããå Žåã¯æ°ããã¿ã¹ã¯ãäžãããšã³ãã¬ã¹ãµã€ã¯ã«ã®åœ¢åŒã§å®è£
ãããŸãã I / Oãµãã·ã¹ãã ã®èšè¿°åãããŒãªã³ã°ããããã»ã¹ã¯ãã
ããŒãªã³ã° ããšåŒã°ããŸãã äºå®ãå¹æçãªããŒãªã³ã°å®è£
ã¯çŸåš* nixã·ã¹ãã ã§ã®ã¿å©çšå¯èœã§ãã åŸè
ã¯ããããã®ç®çã®ããã«ãç·åœ¢ã©ã³ã¿ã€ã ã§éåžžã«é«éãªã·ã¹ãã ã³ãŒã«ãæäŸããŸãïŒããšãã°ãLinuxã§ã¯
epoll ãBSDã·ã¹ãã ã§ã¯
kqueue ïŒã ããã¯ãããŒããŠã§ã¢ãªãœãŒã¹ãæ倧éã«äœ¿çšã§ãããããéåžžã«å¹ççãªãµãŒããŒã¢ãã«ã§ãã å®éãå³ãèŠãã°ç°¡åã«ãããããã«ãã©ã®ãµãŒããŒãµãã·ã¹ãã ãã¢ã€ãã«ã¢ã€ãã«ç¶æ
ã§ã¯ãããŸããã
åæ§ã®æŠå¿µã¯ãè² è·ã®é«ãã·ã¹ãã ã§å®èšŒãããŠãã
nginxã
lightppdãªã©ã®ãµãŒããŒã§ã䜿çšãããŠããŸãã
äžç·ã«è¡ãã
ãããïŒåžžã«ã1ã€ãããããŸãïŒããã®åã«ãå¿çãçæããæéãã¯ã©ã€ã¢ã³ããšéä¿¡ãããããæ¡éãã«çããšããèãããå§ããŸããã ãããŠãããã¯éšåçã«çå®ã§ãã ããã§ããå¿çã®çæã¯è€éã§è€éãªã¿ã¹ã¯ã«ãªãããšããããŸããããã«ã¯ããã£ã¹ã¯ã®èªã¿åããæžã蟌ã¿ãããŒã¿ããŒã¹ïŒãªã¢ãŒããµãŒããŒäžã«ããå ŽåããããŸãïŒã®æäœãå«ãŸããå ŽåããããŸãã ããŠãå®éã«å
ã®åé¡ã«æ»ã£ãããšãããããŸããã å®éã«ã¯ã次ã®ããã«è§£æ±ºãããŸããã·ã¹ãã ã¯ã
ããã³ããšã³ããšããã¯ãšã³ãã® 2ã€ã®éšåã«åå²ãããŸãã ããã³ããšã³ãã¯ãã¯ã©ã€ã¢ã³ããçŽæ¥éä¿¡ãããµãŒããŒã§ãã ååãšããŠãããã¯éåæã€ãã³ãã¢ãã«ãåãããµãŒããŒã§ãããã¯ã©ã€ã¢ã³ããšã®éä¿¡ãè¿
éã«ç¢ºç«ããã¯ã©ã€ã¢ã³ãã«ãªã¯ãšã¹ãã®çµæïŒããšãã°ãnginxïŒãæäŸã§ããŸãã ããã¯ãšã³ãã¯ããããã³ã°I / Oã¢ãã«ïŒApacheãªã©ïŒãåãããµãŒããŒã§ãããI / Oãµãã·ã¹ãã ãšåæ§ã«ãããã³ããšã³ããã¯ã©ã€ã¢ã³ããžã®å¿çã®äœæãå§ä»»ããŸãã ãã®ãããªããã³ããšã³ãã¯ãã
ãªããŒã¹ãããã· ããšãåŒã°ã
ãŸããããã¯ãå®éã«ã¯éåžžã®
ãããã·ãµãŒããŒã§ãããããªã¯ãšã¹ãããªãã€ã¬ã¯ããããµãŒããŒãšåããµãŒããŒç°å¢ã«ã€ã³ã¹ããŒã«ãããŠããããã§ãã
å®ç掻ãšã®é¡äŒŒæ§ãåŒãåºãå Žåãããã³ããšã³ãã¯è¯éºãªçœãæ¯ãšé«äŸ¡ãªã¹ãŒããåãããããŒãžã£ãŒã§ãããããã¯ãšã³ãã¯å·¥å Žã®åŽåè
ã®ã°ã«ãŒãã§ãããå
¥åºåãµãã·ã¹ãã ã¯ãããŒãžã£ãŒãåããŠææããäŒç€Ÿã®èŒžééšéã§ãå·¥å Žã ã¯ã©ã€ã¢ã³ãã¯ã茞ééšéãä»ããŠåœŒã«æçŽãéãããšã«ããããããŒãžã£ãŒã«é ŒããŸãã ãããŒãžã£ãŒã¯ã補åã®ããããæäŸããããã«ã¯ã©ã€ã¢ã³ããšååŒãè¡ããããããäœæããããã«ã¯ãŒã«ãŒã«åœä»€ãéä¿¡ããŸãã ãããŒãžã£ãŒèªèº«ã¯ãé çªã«ãåŽåè
ã泚æã®å®è¡ãå®äºãããŸã§æåŸ
ããŸãããã圌ãã®å³æã®è²¬ä»»ã«å¯ŸåŠãç¶ããŸã-顧客ãšã®ååŒãè¡ããããã»ã¹å
šäœãã¹ã ãŒãºã«ã¹ã ãŒãºã«é²ãããšã確èªããŸãã ãããŒãžã£ãŒã¯å®æçã«åŽåè
ãšé£çµ¡ãåãã泚æã®æºåç¶æ³ã«ã€ããŠåãåããããããã®æºåãã§ããŠããå Žåã¯ã茞ééšéã«æ³šæãã¯ã©ã€ã¢ã³ãã«éä¿¡ããããæ瀺ããŸãã ãã¡ãããååãã¯ã©ã€ã¢ã³ãã«å±ãã®ãå®æçã«ç£èŠããŠããŸãã ããã¯ãæ°å幎åã«çºæãããåæ¥ã®ã¢ã€ãã¢ãããã€ãã¯ã«ãããäºæãã¬å¿çšãçºèŠããæ¹æ³ã§ãã
ãããŠããªãŒããŒãShvetsããããŠãã€ãäžã®ã€ã°ã¬ããïŒJavaScriptã¯ãããšäœã®é¢ä¿ãããã®ã§ããããïŒïŒ
ãŸããããã¯ãã¹ãŠããŸããããŸãããã©ããããããç§ãã¡ã®ã·ã¹ãã ã¯éåžžã«è€éã«ãªããŸãããïŒ ã¯ããå¿çã®çæãå¥ã®ãµãŒããŒã«å§ä»»ããŸãããããã¯äŸç¶ãšããŠæéã®ããã»ã¹ã§ã¯ãããŸããããã¡ã€ã«I / OãšããŒã¿ããŒã¹ã®æäœã«ãããããã¯ãçºçããããã»ããµã®ããŠã³ã¿ã€ã ãé¿ããããªãããã§ãã ããã§ã¯ãå¿ççæããã»ã¹ã®ããã«ããã¯ãæé€ããªãããã·ã¹ãã ã®æŽåæ§ãã©ã®ããã«åŸ©å
ããã®ã§ããããïŒ
åºæ¬çã« ãã¯ããœã³-ãã¹ãŠã®I / Oãå®è¡ããããŒã¿ããŒã¹ãã³ããããã³ã°ãã€ãã³ãã«åºã¥ããŠäœæ¥ããŸãïŒãããæãã€ãã³ããå€ã
I / O ïŒïŒ
ãããããããã«ããWebã¢ããªã±ãŒã·ã§ã³äœæã®ãã©ãã€ã å
šäœãå€ãããæ¢åã®ãã¬ãŒã ã¯ãŒã¯ã®ã»ãšãã©ã¯ãã¯ãé©çšãŸãã¯é©çšã§ããŸãããããããã䜿çšãããœãªã¥ãŒã·ã§ã³ã¯ãšã¬ã¬ã³ãã§ã¯ãããŸããïŒããšããªãã¯èšããŸãã ã¯ãã人çèŠå ãæé€ããããšã¯ã§ããŸãã-
ããŒãã£ãŒã®æ³åãé©çšãããšãã
I / Oããããã¯ããæ©èœã䜿çšã§ããã°ãã ãããé
ããæ©ãããããè¡ã ããšäž»åŒµã§ãããããæåã®ã¢ã€ãã¢å
šäœãå£ããŸãã ããã¯æéããããžã§ã¯ãã®ç¯å²ãããã°ã©ããŒã®è³æ Œã®åé¡ã«ãããŸããã ãæœè±¡åã«æ³šæããŠãã ããã 䜿çšããå¿
èŠããããããããŸããããïŒ
è±èªã ãæœè±¡åã®äœæã«ã¯æ³šæããŠãã ãã
ã䜿çšããå¿
èŠããããããããŸããããïŒ ããã§ã¯ãããããªãºã ã«åºå·ããŠãWebã¢ããªã±ãŒã·ã§ã³ãéçºã§ããåºç€ã®ã¿ãäœæããåæã«éåæããã°ã©ãã³ã°ã¢ãã«ã«åãããŠèª¿æŽããããããéžè±ããæ©äŒããããŠæãéèŠãªããšã«ã¯æ¬²æ±ããªãããã«ããŸãã ããã§ãç§ãã¡ãå¿
èŠãšããæå°ã¯äœã§ããïŒ
æããã«ããŸãæåã«ã
ã©ã³ã¿ã€ã ç°å¢ãå¿
èŠ
ã§ã ããã®äž»ãªèŠä»¶ã¯ãå¿ççæã³ãŒããšéåæå
¥åºåã®é«éå®è¡ã§ãã ã€ãã³ãã¢ãã«ã«åãããŠèª¿æŽãããææ°ã®ããã°ã©ãã³ã°èšèªã¯ããã¹ãŠã®Webéçºè
ã«ç¥ãããŠãããšåæã«ãå®è£
ãè¿
éãã€è¿
éã«éçºããŠããŸããïŒ çãã¯æããã§ã-ããã¯JavaScriptã§ãã ããã«ã
Googleã® JavaScriptãšã³ãžã³
V8ãèªç±ã«äœ¿çšã§ããéåžžã«ãªãã©ã«ãªBSDã©ã€ã»ã³ã¹ã®äžã§é
åžãããŠããŸãã V8ã¯å€ãã®é¢ã§çŸããã§ãïŒãŸãã
JITã³ã³ãã€ã«ãš
ä»ã®å€ãã®æé©åææ³ã䜿çšã ã次ã«ãããäœããããèãæããã掻çºã«éçºãããŠãããœãããŠã§ã¢è£œåã®äŸã§ãïŒéåžžãV8ãæ¬åœã«é«å質ã®äŸãšããŠæããŸãè·å Žã®åååãã®C ++ã³ãŒãïŒã ããããã¹ãŠã«
libevã©ã€ãã©ãªãè¿œå ããŸããããã«ãããã€ãã³ãã«ãŒããç°¡åã«æŽçããããŒãªã³ã°ã¡ã«ããºã ã®é«ã¬ãã«ã©ãããŒãæäŸã§ããŸãïŒããŸããŸãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®å®è£
ã®æ©èœãå¿é
ããå¿
èŠã¯ãããŸããïŒã ãŸããé«éã®éåæãã¡ã€ã«I / Oã«ã¯
libeioã©ã€ãã©ãªãå¿
èŠã§ãã ããŠãããã§ã©ã³ã¿ã€ã ã¯æºåå®äºãšã¿ãªãããšãã§ããŸãã
ãããŠãã¡ããããã¹ãŠã®åºæ¬çãªI / Oæäœãšæ©èœã®ããã®JavaScriptã©ãããŒãå«ãæšæºã©ã€ãã©ãªãå¿
èŠã§ããããã䜿çšããªããšãWebéçºã«é ãè¡ãããšã¯ã§ããŸããïŒããšãã°ãHTTPããããŒãšURLã®è§£æãããã·ã¥ã®ã«ãŠã³ããDNS-解決ãªã©ïŒã
ããã§ãšãããããŸããéåžžã«é«éãªãµãŒããŒãšããæŠå¿µãæãã€ããã®ã§ããNode.jsã
ç§ã¯ãã èšã£ãŠããŸã
èŠçŽãããšãNode.jsã¯éåžžã«è¥ããããžã§ã¯ãã§ãããæ£ãã䜿çšããã°Webéçºã®äžçã«é©åœãããããããšãã§ãããšèšããããšæããŸãã ä»æ¥ããããžã§ã¯ãã«ã¯ãå®éã®é«è² è·ã·ã¹ãã ã§ã®äœ¿çšãè€éã«ããå€ãã®æªè§£æ±ºã®åé¡ããããŸãïŒ
å
äŸã¯ãã§ã«ååšããŸãïŒã ããšãã°ãNode.jsã¯æ¬è³ªçã«1ã€ã®ã¯ãŒã«ãŒã«ãããŸããã ããšãã°ããã¥ã¢ã«ã³ã¢ããã»ããµã䜿çšããŠããå ŽåãNode.jsã§ããŒããŠã§ã¢ãªãœãŒã¹ãå®å
šã«å©çšããå¯äžã®æ¹æ³ã¯ã2ã€ã®ãµãŒããŒã€ã³ã¹ã¿ã³ã¹ïŒã³ã¢ããšã«1ã€ïŒãèµ·åãããªããŒã¹ãããã·ïŒããšãã°ãåãnginxïŒã䜿çšããŠè² è·ãåæ£ããããšã§ããããã
ãããããã®ãããªåé¡ã¯ãã¹ãŠè§£æ±ºå¯èœã§ãããç©æ¥µçã«åãçµãã§ãããNode.jsãäžå¿ã«å·šå€§ãªã³ãã¥ããã£ãæ¢ã«æ§ç¯ãããŠãããå€ãã®å€§äŒæ¥ããã®éçºã«ããªãã®æ³šæãæã£ãŠããŸãã Dahlæ°ã圌ã®äºä»¶ãçµããããããšãé¡ãã ãã§ãïŒå¶ç¶ã
圌ãå©ããããšãã§ããŸã ïŒãèªè
ã®çãããNode.jsã®éçºã«å€ãã®æ¥œããæéãè²»ããã¹ãã§ãã