ãµã€ãã®é床ãæé©åããããã®ã»ãŒãã¹ãŠã®èšäºãããŒã«ã«ã¯ããCDN ã䜿çšããããšããæ§ãããªæ¡é ããããŸãã äžè¬ã«ãCDN ã¯ã³ã³ãã³ãé ä¿¡ãããã¯ãŒã¯ãŸãã¯ã³ã³ãã³ãé ä¿¡ãããã¯ãŒã¯ã§ãã Method Lab ã§ã¯ããã®ãããã¯ã«é¢ããã¯ã©ã€ã¢ã³ãããã®è³ªåã«ããééããŸããããã®äžã«ã¯ç¬èªã® CDN ãæå¹ã«ããã¯ã©ã€ã¢ã³ããããŸãã ãã®èšäºã®ç®çã¯ããµã€ãã®èªã¿èŸŒã¿é床ã«é¢ã㊠CDN ãäœãæäŸã§ããã®ããã©ã®ãããªåé¡ãçºçããå¯èœæ§ãããã®ãââãã©ã®ãããªå Žåã« CDN ã®äœ¿çšãæ£åœåãããã®ããç解ããããšã§ãã
å³å
ã®äžžã§å²ãŸããé
延ã¯ãCDN ã®äœ¿çšã«ãã£ãŠçºçããŸãã
æŽå²ãå°ã
å€ãã®ãã¯ãããžãŒãšåæ§ãCDN ã¯å¿ ç¶çã«ç»å ŽããŸããã ã€ã³ã¿ãŒããã ãŠãŒã¶ãŒéã®ã€ã³ã¿ãŒããã ãã£ãã«ã®çºå±ã«äŒŽãããªã³ã©ã€ã³ ãã㪠ãµãŒãã¹ãç»å ŽããŸããã åœç¶ã®ããšãªããããã㪠ã³ã³ãã³ãã¯ãéåžžã® Web ãµã€ã ã³ã³ãã³ã (ç»åãããã¹ããCSS ãŸã㯠JS ã³ãŒã) ã«æ¯ã¹ãŠæ¡éãã«å€ãã®åž¯åå¹ ãå¿ èŠãšããŸãã
XNUMX å°ã®ãµãŒããŒããå€ãã®ã¯ã©ã€ã¢ã³ãã«ãã㪠ã¹ããªãŒã ã䞊è¡ããŠãããŒããã£ã¹ãããããšãããšããµãŒããŒã®ã€ã³ã¿ãŒããã ãã£ãã«ãããã«ããã¯ã«ãªãå¯èœæ§ãé«ããªããŸãã äžè¬ã«ãäžè¬çãªãµãŒã㌠ãã£ãã«ãè©°ãŸãã«ã¯ãæ°åã®ã¹ã¬ããã§ååã§ãã ãã¡ãããä»ã«ããªãœãŒã¹ã®å¶éãããå¯èœæ§ããããŸãããçŸæç¹ã§ã¯ãããã¯éèŠã§ã¯ãããŸããã ãŸãããµãŒã㌠ãã£ãã«ã®æ¡åŒµã¯è²»çšãããããã (å Žåã«ãã£ãŠã¯äžå¯èœ)ãéçŸå®çã§ããããšãéèŠã§ãã ãããŒããã£ã¹ãäžã®ãã£ãã«ã®è² è·ã¯åšæçã«ãªããŸãã
åã ã®ãµãŒããŒã®ãã£ãã«ãå¶éãããšããåé¡ã¯ãCDN ã«ãã£ãŠå®å šã«è§£æ±ºãããŸãã ã¯ã©ã€ã¢ã³ãã¯ãµãŒããŒã«çŽæ¥æ¥ç¶ããã®ã§ã¯ãªããCDN ãããã¯ãŒã¯å ã®ããŒãã«æ¥ç¶ããŸãã çæ³çãªç¶æ³ã§ã¯ããµãŒããŒã XNUMX ã€ã®ã¹ããªãŒã ã CDN ããŒãã«éä¿¡ãããããã¯ãŒã¯ãç¬èªã®ãªãœãŒã¹ã䜿çšããŠãã®ã¹ããªãŒã ãå€ãã®ãŠãŒã¶ãŒã«é ä¿¡ããŸãã çµæžçãªèŠ³ç¹ããèŠããšãå®éã«æ¶è²»ããããªãœãŒã¹ (垯åå¹ ããã©ãã£ãã¯ãªã©) ã«å¯ŸããŠã®ã¿æéãæ¯æãããããµãŒãã¹ã®åªããã¹ã±ãŒã©ããªãã£ãåŸãããŸãã CDN ã䜿çšããŠéãã³ã³ãã³ããé ä¿¡ããããšã¯å®å šã«æ£åœåãããè«ççã§ãã ãã ãããã®åéã®æ倧æ (Netflix ãªã©) ãã倧èŠæš¡ãªåçš CDN (AkamaiãCloudflareãFastly ãªã©) ã䜿çšãã代ããã«ç¬èªã® CDN ãæ§ç¯ããŠããããšã¯æ³šç®ã«å€ããŸãã
Web ã®é²åã«äŒŽããWeb ã¢ããªã±ãŒã·ã§ã³èªäœããŸããŸãè€éã«ãªã£ãŠããŸããã èªã¿èŸŒã¿é床ã®åé¡ãè¡šé¢åããŸããã Web ãµã€ãã®é床ãéèŠãã人ã ã¯ãWeb ãµã€ãã®èªã¿èŸŒã¿é床ãé ãããåå ãšãªãããã€ãã®å€§ããªåé¡ãããã«ç¹å®ããŸããã ãã® XNUMX ã€ã¯ãããã¯ãŒã¯é 延 (RTTãã©ãŠã³ã ããªãã ã¿ã€ã ãŸã㯠ping æé) ã§ããã é 延ã¯ãTCP æ¥ç¶ã®ç¢ºç«ãTLS ã»ãã·ã§ã³ã®éå§ãåã ã®ãªãœãŒã¹ (ç»åãJS ãã¡ã€ã«ãHTML ããã¥ã¡ã³ããªã©) ã®èªã¿èŸŒã¿ãªã©ãWeb ãµã€ãã®èªã¿èŸŒã¿ã«ãããå€ãã®ããã»ã¹ã«åœ±é¿ããŸãã
ãã®åé¡ã¯ãHTTP/1.1 ãããã³ã« (SPDYãQUICãããã³ HTTP/2 ãç»å Žããåã¯ããããå¯äžã®ãªãã·ã§ã³ã§ãã) ã䜿çšããå Žåããã©ãŠã¶ãŒã 6 ã€ã®ãã¹ãã«å¯Ÿã㊠XNUMX ã€ãŸã§ã® TCP æ¥ç¶ããéããªããšããäºå®ã«ãã£ãŠããã«æªåããŸããã ããããã¹ãŠãæ¥ç¶ã®ããŠã³ã¿ã€ã ãšãã£ãã«åž¯åå¹ ã®éå¹ççãªäœ¿çšã«ã€ãªãããŸããã ãã®åé¡ã¯ããã¡ã€ã³ ã·ã£ãŒãã£ã³ã° (æ¥ç¶æ°ã®å¶éãå æããããã«è¿œå ã®ãã¹ããäœæãã) ã«ãã£ãŠéšåçã«è§£æ±ºãããŸããã
ããã§ãCDN ã® 200 çªç®ã®æ©èœãçŸããŸãããã€ã³ãã®æ°ãå€ããããŒãããŠãŒã¶ãŒã«è¿ããããé 延 (RTT) ãåæžãããŸãã ããã§ã¯è·é¢ã決å®çãªåœ¹å²ãæãããŸããå ã®é床ã«ã¯å¶éããããŸã (å ãã¡ã€ããŒã§ã¯çŽ 000 km/ç§)ã ããã¯ã1000 km ã®ç§»åããšã« 5 ããªç§ã®é 延ããŸã㯠RTT ã« 10 ããªç§ãè¿œå ãããããšãæå³ããŸãã äžéè£ çœ®ã§ãé 延ããããããããã¯éä¿¡ã«å¿ èŠãªæå°æéã§ãã éåžžãCDN ã¯ãµãŒããŒäžã«ãªããžã§ã¯ãããã£ãã·ã¥ããæ¹æ³ãç¥ã£ãŠãããããCDN ãéããŠãã®ãããªãªããžã§ã¯ããèªã¿èŸŒãããšã§å©ç¹ãåŸãããŸãã ããã«å¿ èŠãªæ¡ä»¶ã¯ããã£ãã·ã¥å ã«ãªããžã§ã¯ããååšããããšãWeb ã¢ããªã±ãŒã·ã§ã³ ãµãŒã㌠(ãªãªãžã³ ãµãŒããŒ) ãšæ¯èŒã㊠CDN ãã€ã³ãããŠãŒã¶ãŒã«è¿ãããšã§ãã CDN ããŒããå°ççã«è¿ããããšãã£ãŠãäœé 延ãä¿èšŒãããããã§ã¯ãªãããšãç解ããããšãéèŠã§ãã ã¯ã©ã€ã¢ã³ããš CDN ã®éã®ã«ãŒãã£ã³ã°ã¯ãã¯ã©ã€ã¢ã³ããå¥ã®åœãå Žåã«ãã£ãŠã¯å¥ã®å€§éžã®ãã¹ãã«æ¥ç¶ãããããªæ¹æ³ã§æ§ç¯ã§ããŸãã ããã§ãéä¿¡äºæ¥è ãš CDN ãµãŒãã¹ (ãã¢ãªã³ã°ãæ¥ç¶ãIX ãžã®åå ãªã©) ãšã®é¢ä¿ãããã³ CDN èªäœã®ãã©ãã£ã㯠ã«ãŒãã£ã³ã° ããªã·ãŒãé¢ä¿ããŸãã ããšãã°ãCloudflare ã XNUMX ã€ã®åæãã©ã³ (ç¡æãšæ Œå®) ã䜿çšããå Žåãæãè¿ããã¹ãããã®ã³ã³ãã³ãã®é ä¿¡ã¯ä¿èšŒãããŸããããã¹ãã¯æå°ã³ã¹ããéæããããã«éžæãããŸãã
å€ãã®å€§æã€ã³ã¿ãŒãããäŒæ¥ã¯ãèªã¿èŸŒã¿é床㚠Web ãµã€ãã®ããã©ãŒãã³ã¹ãšããããŒãã«äžè¬ (Web éçºè ããµãŒãã¹ææè ) ã®é¢å¿ãéããŠããŸãã ãããã®äŒæ¥ã®äžã«ã¯ãYahoo (Yslow ããŒã«)ãAOL (WebPageTest)ãGoogle (Page Speed Insights ãµãŒãã¹) ãããããµã€ããé«éåããããã®ç¬èªã®æšå¥šäºé ãéçºããŠããŸã (äž»ã«ã¯ã©ã€ã¢ã³ãã®æé©åã«é¢é£ããŠããŸã)ã ãã®åŸãæ°ãã Web ãµã€ãé床ãã¹ã ããŒã«ãç»å ŽããWeb ãµã€ãã®é床ãäžããããã®ãã³ããæäŸãããŸãã ãããã®ãµãŒãã¹ãŸãã¯ãã©ã°ã€ã³ã«ã¯ããããããCDN ã䜿çšããããšããäžè²«ããæšå¥šäºé ããããŸãã CDN ã®å¹æã®èª¬æãšããŠãéåžžããããã¯ãŒã¯é 延ã®ççž®ãæããããŸãã æ®å¿µãªããã誰ãã CDN ã®å éå¹æãã©ã®ããã«éæãããã©ã®ããã«æž¬å®ã§ããããæ£ç¢ºã«ç解ããæºåãã§ããŠããããã§ã¯ãªãããããã®æšå¥šäºé ã¯ä¿¡ããããå ¬æºãšããŠäœ¿çšãããŠããŸãã å®éããã¹ãŠã® CDN ãåãããã«äœæãããŠããããã§ã¯ãããŸããã
ä»ãã CDN ã䜿çšãã
CDN ã䜿çšããæçšæ§ãè©äŸ¡ããã«ã¯ãCDN ãåé¡ããå¿ èŠããããŸãã çŸåšå®éã«èŠãããããšã¯æ¬¡ã®ãšããã§ã (ãã¡ãããæ¬åŒ§å ã®äŸã¯ãã¹ãŠãç¶²çŸ ãããã®ã§ã¯ãããŸãã)ã
- JS ã©ã€ãã©ãªãé åžããããã®ç¡æã® CDN (MaxCDNãGoogle. Yandex)ã
- ã¯ã©ã€ã¢ã³ãæé©åã®ããã®ãµãŒãã¹ã® CDN (ãã©ã³ãã®å Žå㯠Google Fontsãç»åã®å Žå㯠CloudinaryãCloudimage ãªã©)ã
- CMS ã§ã®éçããã³ãªãœãŒã¹ã®æé©åã®ããã® CDN (BitrixãWordPress ãªã©ã§å©çšå¯èœ)ã
- æ±çš CDN (StackPathãCDNVideoãNGENIXãMegafon)ã
- ãŠã§ããµã€ãé«éåã®ããã® CDN (CloudflareãImpervaãAiri)ã
ãããã®ã¿ã€ãã®äž»ãªéãã¯ãCDN ãééãããã©ãã£ãã¯ã®éã§ãã ã¿ã€ã 1 ïœ 3 ã¯ã4 ã€ã®ãªã¯ãšã¹ãããæ°åã®ãªã¯ãšã¹ã (éåžžã¯åç) ãŸã§ãã³ã³ãã³ãã®äžéšã®ã¿ã®é ä¿¡ã§ãã ã¿ã€ã 5 ãš XNUMX ã¯ãCDN ãä»ãããã©ãã£ãã¯ã®å®å šãªãããã·ã§ãã
å®éã«ã¯ãããã¯ãµã€ããèªã¿èŸŒãããã«äœ¿çšãããæ¥ç¶ã®æ°ãæå³ããŸãã HTTP/2 ã§ã¯ããã¹ããžã®åäžã® TCP æ¥ç¶ã䜿çšããŠãä»»æã®æ°ã®ãªã¯ãšã¹ããåŠçããŸãã ãªãœãŒã¹ãã¡ã€ã³ ãã¹ã (ãªãªãžã³) ãš CDN ã«åå²ããå Žåããªã¯ãšã¹ããè€æ°ã®ãã¡ã€ã³ã«åæ£ããè€æ°ã® TCP æ¥ç¶ãäœæããå¿ èŠããããŸãã ææªã®ã±ãŒã¹ã¯ãDNS (1 RTT) + TCP (1 RTT) + TLS (2 ïœ 3 RTT) = 6 ïœ 7 RTT ã§ãã ãã®åŒã§ã¯ãããã€ã¹ã®ç¡ç·ãã£ãã« (ã¢ã¯ãã£ãã§ãªãå Žå) ã®ã¢ã¯ãã£ãåã®ããã®ã¢ãã€ã« ãããã¯ãŒã¯ã®é 延ããæºåž¯é»è©±ã®å¡ã§ã®é 延ã¯èæ ®ãããŠããŸããã
ãµã€ãã®èªã¿èŸŒã¿ãŠã©ãŒã¿ãŒãã©ãŒã«ã§ã¯æ¬¡ã®ããã«ãªããŸã (CDN ãžã®æ¥ç¶ã®é 延㯠RTT 150 ããªç§ã§åŒ·èª¿è¡šç€ºãããŸã)ã
CDN ããã¹ãŠã®ãµã€ã ãã©ãã£ã㯠(ãµãŒãããŒã㣠ãµãŒãã¹ãé€ã) ãã«ããŒããå Žåã¯ãåäžã® TCP æ¥ç¶ã䜿çšããŠãè¿œå ã®ãã¹ããžã®æ¥ç¶ã®é
延ãç¯çŽã§ããŸãã ãã¡ããããã㯠HTTP/2 æ¥ç¶ã«ãåœãŠã¯ãŸããŸãã
ãããªãéãã¯ãç¹å®ã® CDN ã®æ©èœã«ãã£ãŠæ±ºãŸããŸããæåã®ã¿ã€ãã§ã¯éçãã¡ã€ã«ããã¹ãããã ãã§ãããXNUMX çªç®ã®ã¿ã€ãã§ã¯ãæé©åãç®çãšããŠããã€ãã®ã¿ã€ãã®ãµã€ã ã³ã³ãã³ããå€æŽããŸãã
Web ãµã€ãé«éåã®ããã® CDN æ©èœ
åã ã®ã¿ã€ãã® CDN ã®æ©èœã«é¢ä¿ãªãããµã€ããé«éåããããã® CDN æ©èœã®å šç¯å²ã説æããããããã«äœãå®è£ ãããŠããããèŠãŠã¿ãŸãããã
1. ããã¹ããªãœãŒã¹ã®å§çž®
æãåºæ¬çã§ããããããæ©èœã§ãããå®è£ ãäžååã§ããããšããããããŸãã ãã¹ãŠã® CDN ã¯ãé«éåæ©èœãšããŠå§çž®ã®ååšã宣èšããŠããŸãã ããããããã«è©³ããèŠãŠã¿ããšã次ã®ãããªæ¬ ç¹ãæããã«ãªããŸãã
- åçå§çž®ã«ã¯äœãåºŠæ° (5 ïœ 6) ã䜿çšã§ããŸã (ããšãã°ãgzip ã®å Žåãæ倧å€ã¯ 9)ã
- éçå§çž® (ãã£ãã·ã¥å ã®ãã¡ã€ã«) ã¯è¿œå æ©èœã䜿çšããŸãã (ããšãã°ãæ¬¡æ° 11 ã® zopfi ãŸã㯠brotli)
- å¹çç㪠Brotli å§çž®ã¯ãµããŒããããŠããŸãã (gzip ãšæ¯èŒããŠçŽ 20% ã®ç¯çŽ)ã
CDN ã䜿çšããå Žåã¯ã次ã®ããã€ãã®ç¹ã確èªãã䟡å€ããããŸããCDN ããååŸãããã¡ã€ã«ãååŸãããã®å§çž®ãµã€ãºãèšé²ããæ¯èŒã®ããã«æåã§å§çž®ããŸã (ããšãã°ãbrotli ãµããŒããåãããªã³ã©ã€ã³ ãµãŒãã¹ã䜿çšã§ããŸã)ã
2. ã¯ã©ã€ã¢ã³ã ãã£ãã·ã¥ ããããŒã®èšå®
ãŸããåçŽãªé«éåæ©èœ: ã¯ã©ã€ã¢ã³ã (ãã©ãŠã¶ãŒ) ã«ããã³ã³ãã³ã ãã£ãã·ã¥çšã®ããããŒã®è¿œå ã ææ°ã®ããããŒã¯ãã£ãã·ã¥å¶åŸ¡ã§ãå€ãããããŒã¯æéåãã«ãªããŸãã ããã«ãEtag ã䜿çšããããšãã§ããŸãã äž»ãªããšã¯ããã£ãã·ã¥å¶åŸ¡ã®æ倧æå¹æéãååã«å€§ãã (XNUMX ãæ以äž) ãšããããšã§ãããªãœãŒã¹ãå¯èœãªéããã£ãã·ã¥ããæºåãã§ããŠããå Žåã¯ãäžå€ãªãã·ã§ã³ãè¿œå ã§ããŸãã
CDN 㯠max-age å€ãäžããããšãã§ãããŠãŒã¶ãŒã¯éçã³ã³ãã³ããããé »ç¹ã«ãªããŒãããå¿ èŠããããŸãã ãããäœã«é¢ä¿ããŠããã®ãã¯æããã§ã¯ãããŸããããããã¯ãŒã¯äžã®ãã©ãã£ãã¯ãå¢ããããããŸãã¯ãã£ãã·ã¥ããªã»ããããæ¹æ³ãããããªããµã€ããšã®äºææ§ãé«ããããšããèŠæã§ãã ããšãã°ãããã©ã«ãã®CloudflareããããŒãã£ãã·ã¥æéã¯1æéã§ãããããã¯äžå€ã®éçããŒã¿ã«ãšã£ãŠã¯éåžžã«çãæéã§ãã
3. ç»åã®æé©å
CDN ã¯ç»åã®ãã£ãã·ã¥ãšæäŸã®æ©èœãæ ããããCDN åŽã§ç»åãæé©åãããã®åœ¢åŒã§ãŠãŒã¶ãŒã«æäŸããã®ãåççã§ãã ãã®æ©èœã¯ CDN ã¿ã€ã 2ã3ã5 ã§ã®ã¿å©çšå¯èœã§ããããšãä»ããäºçŽããŸãããã
é«åºŠãªå§çž®åœ¢åŒ (WebP ãªã©)ãããå¹ççãªãšã³ã³ãŒã (MozJPEG) ã䜿çšããããåã«äžèŠãªã¡ã¿ããŒã¿ãã¯ãªãŒã³ã¢ãããããªã©ãããŸããŸãªæ¹æ³ã§ç»åãæé©åã§ããŸãã
äžè¬ã«ããã®ãããªæé©åã«ã¯ãå質æ倱ãããšå質æ倱ãªãã® XNUMX ã€ã®ã¿ã€ãããããŸãã CDN ã¯éåžžãç»è³ªã®å€åã«é¢ãã顧客ããã®èŠæ ãé¿ããããã«ããã¹ã¬ã¹æé©åã®äœ¿çšã«åªããŠããŸãã ãã®ãããªç¶æ³ã§ã¯ãã²ã€ã³ã¯æå°éã«ãªããŸãã å®éã«ã¯ãå€ãã®å ŽåãJPEG å質ã¬ãã«ã¯å¿ èŠä»¥äžã«é«ãããããŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãæãªãããšãªããããäœãå質ã¬ãã«ã§å®å šã«åå§çž®ã§ããŸãã äžæ¹ã§ãèãããããã¹ãŠã® Web ã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠäžåŸã«å質ãšèšå®ã®ã¬ãã«ã決å®ããããšã¯å°é£ã§ãããããCDN ã¯ã³ã³ããã¹ã (ç»åã®ç®çãWeb ã¢ããªã±ãŒã·ã§ã³ã®çš®é¡) ãèæ ®ããŠé©çšã§ããèšå®ãšæ¯èŒããŠãããä¿å®çãªèšå®ã䜿çšããŸãã ããªã©ïŒ
4. TLSæ¥ç¶ã®æé©å
çŸåšãã»ãšãã©ã®ãã©ãã£ãã¯ã¯ TLS æ¥ç¶ãä»ããŠç§»åãããããTLS ããŽã·ãšãŒã·ã§ã³ã«äœåãªæéãè²»ããããŸãã æè¿ããã®ããã»ã¹ãé«éåããããã®æ°ãããã¯ãããžãŒãéçºãããŸããã ããšãã°ããã㯠EC æå·åãTLS 1.3ãã»ãã·ã§ã³ ãã£ãã·ã¥ãšãã±ãããããŒããŠã§ã¢æå·åã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ (AES-NI) ãªã©ã§ããTLS ãæ£ããèšå®ãããšãæ¥ç¶æéã 0 ïœ 1 RTT ã«ççž®ã§ããŸã (DNS ãš TCP ã¯ã«ãŠã³ãããŸãã)ã
ææ°ã®ãœãããŠã§ã¢ã䜿çšããã°ããã®ãããªå®è·µãèªåã§å®è£ ããããšã¯é£ãããããŸããã
ãã¹ãŠã® CDN ã TLS ã®ãã¹ã ãã©ã¯ãã£ã¹ãå®è£ ããŠããããã§ã¯ãããŸãããããã¯ãTLS æ¥ç¶æéã枬å®ããããšã§ç¢ºèªã§ããŸã (Webpagetest ãªã©)ã æ°ããæ¥ç¶ã«æé© - 1RTTã2RTT - å¹³åã¬ãã«ã3RTT ãªã© - æªãã
CDN ã¬ãã«ã§ TLS ã䜿çšããå Žåã§ãããµãŒããŒãš CDN éã®ãã©ãã£ãã¯ã¯ãããªã㯠ãããã¯ãŒã¯ãééãããããWeb ã¢ããªã±ãŒã·ã§ã³ãåãããµãŒããŒã TLS ãåŠçããå¿ èŠããããŸãããCDN åŽããåŠçããå¿ èŠãããããšã«ã泚æããŠãã ããã ææªã®å ŽåãTLS æ¥ç¶ã®é 延ã XNUMX åçºçããŸã (XNUMX åç®ã¯ CDN ãã¹ããŸã§ãXNUMX åç®ã¯ CDN ãã¹ããšãµãŒããŒéã§çºçããŸã)ã
äžéšã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãã»ãã¥ãªãã£ã®åé¡ã«æ³šæãæã䟡å€ããããŸããéåžžããã©ãã£ãã¯ã¯ CDN ããŒãã§åŸ©å·åãããããã¯ãã©ãã£ãã¯ååã®æœåšçãªæ©äŒãšãªããŸãã ãã©ãã£ãã¯é瀺ãªãã§åäœãããªãã·ã§ã³ã¯ãéåžžãè¿œå æéã§æé«æéãã©ã³ã§æäŸãããŸãã
5. æ¥ç¶é 延ã®åæž
誰ããèªã CDN ã®äž»ãªå©ç¹ã¯ãCDN ãã¹ããšãŠãŒã¶ãŒéã®åŸ ã¡æéãçã (è·é¢ãçã) ããšã§ãã ãŠãŒã¶ãŒãéäžãããã€ã³ã (éœåžããã©ãã£ãã¯äº€æãã€ã³ããªã©) ã«ãã¹ããé 眮ããããå°ççã«åæ£ããããããã¯ãŒã¯ ã¢ãŒããã¯ãã£ãäœæããããšã«ãã£ãŠå®çŸãããŸãã
å®éã«ã¯ãããŸããŸãªãããã¯ãŒã¯ã®åªå é äœãç¹å®ã®å°åã«ããå ŽåããããŸãã ããšãã°ããã·ã¢ã® CDN ã¯ãã·ã¢ã§ããå€ãã®æ ç¹ãæã€ããšã«ãªããŸãã ã¢ã¡ãªã«ã®ãã®ã¯ããŸãã¢ã¡ãªã«åœå ã§ãããã¯ãŒã¯ãå±éããŸãã ããšãã°ãæ倧㮠CDN ã® 2 ã€ã§ãã Cloudflare ã¯ããã·ã¢ã«ã¢ã¹ã¯ã¯ãšãµã³ã¯ãããã«ãã«ã¯ã® 10 ã€ã®æ ç¹ãããããŸããã ã€ãŸããã¢ã¹ã¯ã¯ã«çŽæ¥é 眮ããå Žåãšæ¯èŒããŠãæå€§çŽ XNUMX ããªç§ã®é 延ãç¯çŽã§ããŸãã
ã»ãšãã©ã®è¥¿åŽ CDN ã¯ãã·ã¢ã§ã¯ãã€ã³ãããŸã£ããæã£ãŠããŸããã ãããã«æ¥ç¶ãããšããã·ã¢ã®èŠèŽè ã®é 延ãå¢ããã ãã§ãã
6. ã³ã³ãã³ãã®æé©åïŒçž®å°åãæ§é ã®å€æŽïŒ
æãè€éã§æè¡çã«é²ãã ãã€ã³ãã é ä¿¡äžã«ã³ã³ãã³ããå€æŽããããšã¯éåžžã«å±éºã§ãã ããšãçž®å°ãè¡ã£ããšããŠãããœãŒã¹ ã³ãŒããåæžãããš (äœåãªã¹ããŒã¹ãéèŠã§ãªãæ§é ãªã©ã«ãã)ãããã©ãŒãã³ã¹ã«åœ±é¿ããå¯èœæ§ããããŸãã JS ã³ãŒãã HTML ã®æåŸã«ç§»åãããããã¡ã€ã«ãçµåããããããªã©ãããæ·±å»ãªå€æŽã«ã€ããŠèšãã°ããµã€ãã®æ©èœãäžæããããªã¹ã¯ã¯ããã«é«ããªããŸãã
ãããã£ãŠããããè¡ãã®ã¯äžéšã®ã¿ã€ã 5 CDN ã®ã¿ã§ãã ãã¡ãããã¹ããŒãã¢ããã«å¿ èŠãªãã¹ãŠã®å€æŽãèªååããããšã¯äžå¯èœã§ããæåã«ããåæãšæé©åãå¿ èŠã§ãã ããšãã°ãæªäœ¿çšãŸãã¯éè€ããã³ãŒããåé€ããã®ã¯æåã®ã¿ã¹ã¯ã§ãã
ååãšããŠããã®ãããªæé©åã¯ãã¹ãŠèšå®ã«ãã£ãŠå¶åŸ¡ãããæãå±éºãªæé©åã¯ããã©ã«ãã§ç¡å¹ã«ãªã£ãŠããŸãã
CDN ã¿ã€ãå¥ã®é«éåæ©èœã®ãµããŒã
ããã§ã¯ãããŸããŸãªçš®é¡ã® CDN ãã©ã®ãããªæœåšçãªé«éåã®æ©äŒãæäŸããããèŠãŠã¿ãŸãããã
䟿å®äžãåé¡ãç¹°ãè¿ããŸãã
- JS ã©ã€ãã©ãªãé åžããããã®ç¡æã® CDN (MaxCDNãGoogle. Yandex)ã
- ã¯ã©ã€ã¢ã³ãæé©åã®ããã®ãµãŒãã¹ã® CDN (ãã©ã³ãã®å Žå㯠Google Fontsãç»åã®å Žå㯠CloudinaryãCloudimage ãªã©)ã
- CMS ã§ã®éçããã³ãªãœãŒã¹ã®æé©åã®ããã® CDN (BitrixãWordPress ãªã©ã§å©çšå¯èœ)ã
- æ±çš CDN (StackPathãCDNVideoãNGENIXãMegafon)ã
- ãŠã§ããµã€ãé«éåã®ããã® CDN (CloudflareãImpervaãAiri)ã
CDNã®ç¹åŸŽãšçš®é¡ãæ¯èŒããŠã¿ãŸãããã
æ©äŒ
1ã¿ã€ã
2ã¿ã€ã
3ã¿ã€ã
4ã¿ã€ã
5ã¿ã€ã
ããã¹ãå§çž®
+â
â
+â
+â
+
ãã£ãã·ã¥ããããŒ
+
+
+
+
+
åç
â
+â
+â
â
+
TLS
â
â
â
+â
+
é
ã
â
â
â
+
+
ã³ã³ãã³ã
â
â
â
â
+
ãã®è¡šã§ã¯ãã+ãã¯å®å šãªãµããŒãã瀺ãããâãã¯ãµããŒããªããã+âãã¯éšåçãªãµããŒãã瀺ããŸãã ãã¡ãããå®éã«ã¯ãã®è¡šããã®éžè±ãããå¯èœæ§ããããŸã (ããšãã°ãäžéšã®æ±çš CDN ã¯ç»åãæé©åããæ©èœãå®è£ ããŸã) ããäžè¬çãªã¢ã€ãã¢ãšããŠã¯åœ¹ç«ã¡ãŸãã
çµæ
ãã®èšäºãèªãã åŸããµã€ããé«éåããããã®ãCDN ã®äœ¿çšãã®æšå¥šäºé ã«ã€ããŠãããæ確ãªã€ã¡ãŒãžãåŸãããããšãé¡ã£ãŠããŸãã
ä»ã®ããžãã¹ãšåæ§ã«ããµãŒãã¹ã®ããŒã±ãã£ã³ã°äžã®çŽæãä¿¡ããããšã¯ã§ããŸããã å¹æã¯å®éã®æ¡ä»¶äžã§æž¬å®ããã³ãã¹ãããå¿ èŠããããŸãã ãã§ã« CDN ã䜿çšããŠããå Žåã¯ããã®èšäºã§èª¬æãããŠããåºæºã䜿çšã㊠CDN ã®æå¹æ§ã確èªããŠãã ããã
çŸåš CDN ã䜿çšããŠãããšããµã€ãã®èªã¿èŸŒã¿æéãé ããªã£ãŠããå¯èœæ§ããããŸãã
äžè¬çãªæšå¥šäºé ãšããŠãèŠèŽè ã調æ»ãããã®å°ççç¯å²ã決å®ããããšã«éç¹ã眮ãããšãã§ããŸãã äž»èŠãªèŠèŽè ãååŸ 1 ïœ 2 ããã¡ãŒãã«ä»¥å ã«éäžããŠããå Žåãé 延ã®åæžãšããäž»ãªç®çã®ããã« CDN ã¯å¿ èŠãããŸããã 代ããã«ããµãŒããŒããŠãŒã¶ãŒã®è¿ãã«é 眮ããŠé©åã«æ§æããããšã§ããã®èšäºã§èª¬æãããŠããæé©åã®ã»ãšãã©ã (ç¡æãã€æ°žç¶çã«) å®çŸã§ããŸãã
èŠèŽè
ãæ¬åœã«å°ççã«åæ£ããŠããå Žå (ååŸ 3000 ããã¡ãŒãã«ä»¥äž)ãé«å質㮠CDN ã䜿çšããããšãéåžžã«åœ¹ç«ã¡ãŸãã ãã ããCDN ã«ãã£ãŠæ£ç¢ºã«äœãé«éåã§ããã®ããäºåã«ç解ããå¿
èŠããããŸã (æ©èœã®è¡šãšãã®èª¬æãåç
§)ã ãã ããWeb ãµã€ãã®é«éåã¯äŸç¶ãšããŠè€éãªã¿ã¹ã¯ã§ãããCDN ã®æ¥ç¶ã§ã¯è§£æ±ºã§ããŸããã äžèšã®æé©åã«å ããŠãCDN ã®èåŸã«æãå¹æçãªé«éåæ段ãæ®ãããŠããŸããããã¯ããµãŒããŒéšåã®æé©åãã¯ã©ã€ã¢ã³ãéšåãžã®é«åºŠãªå€æŽ (æªäœ¿çšã®ã³ãŒãã®åé€ãã¬ã³ããªã³ã° ããã»ã¹ã®æé©åãã³ã³ãã³ãããã©ã³ããé©å¿æ§ãªã©ã®æäœ) ã§ãã )
åºæïŒ habr.com