ã¢ãããçããïŒ ç§ã®ååã¯ãªã¬ã°ã»ã¢ãã¹ã¿ã·ãšãã§ããOdnoklassniki ã®ãã©ãããã©ãŒã ããŒã ã§åããŠããŸãã ãããŠãç§ä»¥å€ã«ããOdnoklassniki ã§ã¯å€ãã®ããŒããŠã§ã¢ã皌åããŠããŸãã åœç€Ÿã«ã¯ 500 ã€ã®ããŒã¿ã»ã³ã¿ãŒããããçŽ 8 ã®ã©ãã¯ã« XNUMX å°ä»¥äžã®ãµãŒããŒãèšçœ®ãããŠããŸãã ããæç¹ã§ãæ°ãã管çã·ã¹ãã ãå°å ¥ãããšãæ©åšã®ããŒããããå¹ççã«ãªããã¢ã¯ã»ã¹ç®¡çã容æã«ãªããã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã®ïŒåïŒåé ãèªååãããæ°ãããµãŒãã¹ã®ç«ã¡äžããå éããã察å¿ãè¿ éåãããããšã«æ°ã¥ããŸããã倧èŠæš¡ãªäºæ ã«ã
äœãèµ·ãã£ãã®ã§ããããïŒ
ç§ãšå€æ°ã®ããŒããŠã§ã¢ã®ã»ãã«ããã®ããŒããŠã§ã¢ãæ±ã人ã ãããŸãã ãããã¯ãŒã¯ ãœãããŠã§ã¢ãã»ããã¢ãããããããã¯ãŒã«ãŒã ã€ã³ãã©ã¹ãã©ã¯ãã£ã®åŸ©å åãæäŸãã管çè ãã€ãŸã SREã ãšéçºããŒã ãããããããããããŒã¿ã«ã®æ©èœã®äžéšãæ åœããŸãã 圌ããäœæãããœãããŠã§ã¢ã¯æ¬¡ã®ããã«åäœããŸãã
ãŠãŒã¶ãŒãªã¯ãšã¹ãã¯ã¡ã€ã³ããŒã¿ã«ã®äž¡æ¹ã§åä¿¡ãããŸã
ãããã®åãµãŒãã¹ã¯å€ãã®ãã·ã³ã«ãããã€ãããŠãããããããã®ãµãŒãã¹ã«ã¯ã¢ãžã¥ãŒã«ã®æ©èœããã®æäœãããã³æè¡éçºãæ åœãã責任ããéçºè ãããŸãã ããããã¹ãŠã®ãµãŒãã¹ã¯ããŒããŠã§ã¢ ãµãŒããŒäžã§å®è¡ãããæè¿ãŸã§ãµãŒããŒããšã« XNUMX ã€ã®ã¿ã¹ã¯ãèµ·åããŠããŸãããã€ãŸããç¹å®ã®ã¿ã¹ã¯ã«ç¹åããŠããŸããã
äœæ ã§ããïŒ ãã®ã¢ãããŒãã«ã¯ããã€ãã®å©ç¹ããããŸããã
- å®å¿ãã 倧é管çã ã¿ã¹ã¯ã«ããã€ãã®ã©ã€ãã©ãªãšããã€ãã®èšå®ãå¿ èŠã ãšããŸãã 次ã«ããµãŒããŒã¯ XNUMX ã€ã®ç¹å®ã®ã°ã«ãŒãã«å²ãåœãŠããããã®ã°ã«ãŒãã® cfengine ããªã·ãŒãèšè¿°ãã (ãŸãã¯ãã§ã«èšè¿°ãããŠããŸã)ããã®æ§æã¯ãã®ã°ã«ãŒãå ã®ãã¹ãŠã®ãµãŒããŒã«äžå çãã€èªåçã«ããŒã«ã¢ãŠããããŸãã
- ç°¡ç¥å 蚺ææ³ã äžå€®ããã»ããµã®è² è·ã®å¢å ãèŠãŠããã®è² è·ã¯ãã®ããŒããŠã§ã¢ ããã»ããµã§å®è¡ãããã¿ã¹ã¯ã«ãã£ãŠã®ã¿çæãããå¯èœæ§ãããããšãããã£ããšããŸãã 責任ã®ãã人ç©ã®æ玢ã¯ããã«çµãããŸãã
- ç°¡ç¥å ã¢ãã¿ãªã³ã°ã ãµãŒããŒã«äœãåé¡ãããå Žåãã¢ãã¿ãŒããããå ±åããã®ã§ã誰ã®è²¬ä»»ãªã®ããæ£ç¢ºã«ããããŸãã
è€æ°ã®ã¬ããªã«ã§æ§æããããµãŒãã¹ã«ã¯ãè€æ°ã®ãµãŒã㌠(ããããã« XNUMX å°) ãå²ãåœãŠãããŸãã 次ã«ããµãŒãã¹ã®ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ãéåžžã«ç°¡åã«å²ãåœãŠãããŸããã€ãŸãããµãŒãã¹ãæã€ãµãŒããŒã®æ°ããµãŒãã¹ãæ¶è²»ã§ãããªãœãŒã¹ã®æ倧éã§ãã ããã§ãããç°¡åããšã¯ã䜿ãããããšããæå³ã§ã¯ãªãããªãœãŒã¹ã®å²ãåœãŠãæåã§è¡ããããšããæå³ã§ãã
ãã®ã¢ãããŒãã«ããã次ã®ããšãå¯èœã«ãªããŸããã ç¹æ®ãªã¢ã€ã¢ã³æ§æ ãã®ãµãŒããŒäžã§å®è¡ãããŠããã¿ã¹ã¯ã®å Žåã ã¿ã¹ã¯ã倧éã®ããŒã¿ãä¿åããå Žåã¯ã4 åã®ãã£ã¹ã¯ãåããã·ã£ãŒã·ãåãã 38U ãµãŒããŒã䜿çšããŸãã ã¿ã¹ã¯ãçŽç²ã«èšç®ã«é¢ãããã®ã§ããã°ãããå®äŸ¡ãª 1U ãµãŒããŒãè³Œå ¥ã§ããŸãã ããã¯èšç®å¹çãé«ãã§ãã ãšãããããã®ã¢ãããŒãã«ãããXNUMX ã€ã®ãã¬ã³ããªãŒãªãœãŒã·ã£ã« ãããã¯ãŒã¯ã«å¹æµããè² è·ã§ XNUMX åã® XNUMX ã®ãã·ã³ã䜿çšã§ããããã«ãªããŸãã
æãé«äŸ¡ãªãã®ã¯ãµãŒããŒã§ãããšããåæããé²ãã°ãã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã®äœ¿çšã«ããããã®ãããªå¹çã¯ãçµæžå¹çãä¿èšŒããã¯ãã§ãã é·ãéãããŒããŠã§ã¢ãæãé«äŸ¡ã§ãã£ããããç§ãã¡ã¯ããŒããŠã§ã¢ã®ä¿¡é Œæ§èŠä»¶ã軜æžãããã©ãŒã«ã ãã¬ã©ã³ã¹ ã¢ã«ãŽãªãºã ãèæ¡ããããŒããŠã§ã¢ã®äŸ¡æ Œãäžããããšã«å€å€§ãªåªåãæã£ãŠããŸããã ãããŠä»æ¥ã§ã¯ããµãŒããŒã®äŸ¡æ Œã決å®çãªãã®ã§ã¯ãªããªã段éã«éããŸããã ææ°ã®ãšããŸããã¯ãèæ ®ããªãå Žåãã©ãã¯å ã®ãµãŒããŒã®ç¹å®ã®æ§æã¯éèŠã§ã¯ãããŸããã ããã§ãå¥ã®åé¡ãçºçããŸããããã¯ãããŒã¿ã»ã³ã¿ãŒå ã§ãµãŒããŒãå ããã¹ããŒã¹ãã€ãŸãã©ãã¯å ã®ã¹ããŒã¹ã®äŸ¡æ Œã§ãã
ãããäºå®ã§ããããšã«æ°ã¥ããç§ãã¡ã¯ã©ãã¯ãã©ã®çšåºŠå¹ççã«äœ¿çšããŠããããèšç®ããããšã«ããŸããã
ç§ãã¡ã¯ãçµæžçã«æ£åœãªãµãŒããŒã®äžããæã匷åãªãµãŒããŒã®äŸ¡æ Œãèšç®ããã©ãã¯ã«ãã®ãããªãµãŒããŒãäœå°èšçœ®ã§ããããå€ãã¢ãã«ã11 ãµãŒã㌠= XNUMX ã¿ã¹ã¯ãã«åºã¥ããŠãããã®ãµãŒããŒã§å®è¡ã§ããã¿ã¹ã¯ã®æ°ãããã³ãã®ãããªãµãŒããŒã®éãèšç®ããŸãããã¿ã¹ã¯ã§ã¯æ©åšãå©çšã§ããŸãã 圌ãã¯æ°ãæ°ããŠæ¶ãæµããŸããã ã©ãã¯ã®äœ¿çšå¹çã¯çŽ XNUMX% ã§ããããšãããããŸããã çµè«ã¯æããã§ããããŒã¿ã»ã³ã¿ãŒã®äœ¿çšå¹çãé«ããå¿
èŠããããŸãã 解決çã¯æçœã§ããããã«æããŸããXNUMX ã€ã®ãµãŒããŒäžã§è€æ°ã®ã¿ã¹ã¯ãåæã«å®è¡ããå¿
èŠããããŸãã ãããããããããå°é£ã®å§ãŸãã§ãã
äžæ¬æ§æã¯åçã«è€éã«ãªãããµãŒããŒã« XNUMX ã€ã®ã°ã«ãŒããå²ãåœãŠãããšã¯äžå¯èœã«ãªããŸããã çµå±ã®ãšãããçŸåšã§ã¯ãç°ãªãã³ãã³ãã®è€æ°ã®ã¿ã¹ã¯ã XNUMX ã€ã®ãµãŒããŒäžã§èµ·åã§ããããã«ãªããŸããã ããã«ãç°ãªãã¢ããªã±ãŒã·ã§ã³ã§ã¯æ§æã競åããå¯èœæ§ããããŸãã 蚺æãããè€éã«ãªããŸãããµãŒããŒäžã§ CPU ãŸãã¯ãã£ã¹ã¯ã®æ¶è²»éãå¢å ããŠããããšãããã£ãŠããã©ã®ã¿ã¹ã¯ãåé¡ãåŒãèµ·ãããŠããã®ãããããŸããã
ãããéèŠãªããšã¯ãåããã·ã³äžã§å®è¡ãããŠããã¿ã¹ã¯éã«ã¯åé¢ããªããšããããšã§ãã ããšãã°ãããã«ããã®ã¯ãåããµãŒããŒäžã§å¥ã®èšç®ã¢ããªã±ãŒã·ã§ã³ãèµ·åãããååŸã®ãµãŒã㌠ã¿ã¹ã¯ã®å¹³åå¿çæéã®ã°ã©ãã§ããæåã®ã¢ããªã±ãŒã·ã§ã³ãšã¯ãŸã£ããé¢ä¿ããªããã¡ã€ã³ ã¿ã¹ã¯ã®å¿çæéãå€§å¹ ã«å¢å ããŠããŸãã
æããã«ãã¿ã¹ã¯ã¯ã³ã³ãããŒãŸãã¯ä»®æ³ãã·ã³ã§å®è¡ããå¿ èŠããããŸãã ã»ãŒãã¹ãŠã®ã¿ã¹ã¯ã XNUMX ã€ã® OS (Linux) ã§å®è¡ãããããããã«é©å¿ããããããå€ãã®ç°ãªããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ããµããŒãããå¿ èŠã¯ãããŸããã ãããã£ãŠãä»®æ³åã¯å¿ èŠãããŸãããããªãŒããŒããããè¿œå ããããããã³ã³ããåãããå¹çãäœããªããŸãã
ãµãŒããŒäžã§ã¿ã¹ã¯ãçŽæ¥å®è¡ããããã®ã³ã³ããã®å®è£ ãšããŠã¯ãDocker ãæåãªåè£ã§ãããã¡ã€ã« ã·ã¹ãã ã€ã¡ãŒãžã¯ãæ§æã®ç«¶åã«ããåé¡ãããŸã解決ããŸãã ã€ã¡ãŒãžãè€æ°ã®ã¬ã€ã€ãŒã§æ§æã§ãããšããäºå®ã«ãããå ±ééšåãåå¥ã®åºæ¬ã¬ã€ã€ãŒã«åé¢ããããšã§ãã€ã¡ãŒãžãã€ã³ãã©ã¹ãã©ã¯ãã£ã«å±éããããã«å¿ èŠãªããŒã¿éãå€§å¹ ã«åæžã§ããŸãã ãã®åŸãåºæ¬ç㪠(ãããŠæãããªã¥ãŒã ã®ãã) ã¬ã€ã€ãŒãã€ã³ãã©ã¹ãã©ã¯ãã£å šäœã«ããã£ãŠããªãè¿ éã«ãã£ãã·ã¥ãããå€ãã®ç°ãªãçš®é¡ã®ã¢ããªã±ãŒã·ã§ã³ãšããŒãžã§ã³ãé ä¿¡ããããã«ãå°ããªã¬ã€ã€ãŒã®ã¿ã転éããå¿ èŠããããŸãã
ããã«ãDocker ã®æ¢è£œã®ã¬ãžã¹ããªãšã€ã¡ãŒãžã®ã¿ã°ä»ãã«ãããã³ãŒããããŒãžã§ã³ç®¡çããŠéçšç°å¢ã«é ä¿¡ããããã®æ¢è£œã®ããªããã£ããæäŸãããŸãã
Docker ã¯ãä»ã®åæ§ã®ãã¯ãããžãŒãšåæ§ã«ãããã«äœ¿çšã§ããäžå®ã¬ãã«ã®ã³ã³ãããŒåé¢ãæäŸããŸãã ããšãã°ãã¡ã¢ãªã®åé¢ - åã³ã³ããã«ã¯ãã·ã³ ã¡ã¢ãªã®äœ¿çšå¶éãäžãããããããè¶ ãããšæ¶è²»ãããªããªããŸãã CPU 䜿çšçã«åºã¥ããŠã³ã³ãããåé¢ããããšãã§ããŸãã ããããç§ãã¡ã«ãšã£ãŠãæšæºçãªæç±æã§ã¯ååã§ã¯ãããŸããã§ããã ãã ããããã«ã€ããŠã¯ä»¥äžã§è©³ãã説æããŸãã
ãµãŒããŒäžã§ã³ã³ãããçŽæ¥å®è¡ããããšã¯åé¡ã®äžéšã«ãããŸããã ãã XNUMX ã€ã®éšåã¯ããµãŒããŒäžã§ã®ã³ã³ãããŒã®ãã¹ãã£ã³ã°ã«é¢é£ããŸãã ã©ã®ã³ã³ãããã©ã®ãµãŒããŒã«é 眮ã§ããããç解ããå¿ èŠããããŸãã é床ãèœãšããã«ã³ã³ãããã§ããã ãé«å¯åºŠã«ãµãŒããŒã«é 眮ããå¿ èŠããããããããã¯ããã»ã©ç°¡åãªäœæ¥ã§ã¯ãããŸããã ãã®ãããªé 眮ã¯ãèé害æ§ã®èŠ³ç¹ãããé£ããå ŽåããããŸãã å€ãã®å ŽåãåããµãŒãã¹ã®ã¬ããªã«ãããŒã¿ ã»ã³ã¿ãŒã®å¥ã®ã©ãã¯ãå¥ã®éšå±ã«é 眮ããŠãã©ãã¯ãéšå±ã«é害ãçºçããŠããããã«ãã¹ãŠã®ãµãŒãã¹ ã¬ããªã«ã倱ãããªãããã«ããããšèããŸãã
ãµãŒããŒã 8 å°ãã³ã³ãããŒã 8 ïœ 16 åããå Žåãã³ã³ãããŒãæåã§é åžããããšã¯ã§ããŸããã
ããã«ãéçºè ã管çè ã®å©ããåããã«å®çšŒåç°å¢ã§ãµãŒãã¹ããã¹ãã§ããããã«ããªãœãŒã¹å²ãåœãŠã®ç¬ç«æ§ãããã«é«ããããšèããŠããŸããã åæã«ãå°èŠæš¡ãªãµãŒãã¹ãããŒã¿ ã»ã³ã¿ãŒã®ãªãœãŒã¹ããã¹ãŠæ¶è²»ããªãããã«å¶åŸ¡ãç¶æããããšèããŠããŸããã
æããã«ããããèªåçã«è¡ãå¶åŸ¡å±€ãå¿ èŠã§ãã
ããã§ç§ãã¡ã¯ããã¹ãŠã®å»ºç¯å®¶ãæ§ãããã·ã³ãã«ã§ããããããå³ãã€ãŸã XNUMX ã€ã®æ£æ¹åœ¢ã«ãã©ãçããŸããã
one-cloud masters ã¯ãã¯ã©ãŠã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãæ åœãããã§ãŒã«ãªãŒã㌠ã¯ã©ã¹ã¿ãŒã§ãã éçºè ã¯ããµãŒãã¹ããã¹ãããããã«å¿ èŠãªãã¹ãŠã®æ å ±ãå«ããããã§ã¹ãããã¹ã¿ãŒã«éä¿¡ããŸãã ããã«åºã¥ããŠããã¹ã¿ãŒã¯éžæããããããªã³ (ã³ã³ãããŒãå®è¡ããããã«èšèšããããã·ã³) ã«ã³ãã³ããäžããŸãã ãããªã³ã«ã¯ãšãŒãžã§ã³ããããããšãŒãžã§ã³ãã¯ã³ãã³ããåãåãããã®ã³ãã³ãã Docker ã«çºè¡ããDocker ã¯å¯Ÿå¿ããã³ã³ãããŒãèµ·åããããã« Linux ã«ãŒãã«ãæ§æããŸãã ãšãŒãžã§ã³ãã¯ã³ãã³ãã®å®è¡ã«å ããŠããããªã³ ãã·ã³ãšãã®äžã§å®è¡ãããŠããã³ã³ããã®äž¡æ¹ã®ç¶æ ã®å€åã«ã€ããŠãã¹ã¿ãŒã«ç¶ç¶çã«å ±åããŸãã
è³æºé å
次ã«ãå€ãã®ãããªã³ã«å¯Ÿããããè€éãªãªãœãŒã¹å²ãåœãŠã®åé¡ãèŠãŠã¿ãŸãããã
ã¯ã³ã¯ã©ãŠãã®ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã¯æ¬¡ã®ãšããã§ãã
- ç¹å®ã®ã¿ã¹ã¯ã«ãã£ãŠæ¶è²»ãããããã»ããµé»åã®éã
- ã¿ã¹ã¯ã«äœ¿çšå¯èœãªã¡ã¢ãªã®éã
- ãããã¯ãŒã¯ãã©ãã£ãã¯ã åãããªã³ã«ã¯åž¯åå¹ ãå¶éãããç¹å®ã®ãããã¯ãŒã¯ ã€ã³ã¿ãŒãã§ã€ã¹ãããããããããã¯ãŒã¯äžã§éä¿¡ãããããŒã¿éãèæ ®ããã«ã¿ã¹ã¯ãåæ£ããããšã¯äžå¯èœã§ãã
- ãã£ã¹ã¯ã ããã«ãåœç¶ã®ããšã§ããããããã®ã¿ã¹ã¯çšã®ã¹ããŒã¹ã«ã¯ããã£ã¹ã¯ã®çš®é¡ (HDD ãŸã㯠SSD) ãå²ãåœãŠãããŸãã ãã£ã¹ã¯ã¯ XNUMX ç§ãããã®æéæ°ã®ãªã¯ãšã¹ã (IOPS) ã«å¯Ÿå¿ã§ããŸãã ãããã£ãŠãåäžã®ãã£ã¹ã¯ã§åŠçã§ãã以äžã® IOPS ãçæããã¿ã¹ã¯ã®å Žåã¯ããã¹ãã³ãã«ããã€ãŸãã¿ã¹ã¯å°çšã«äºçŽããå¿ èŠããããã£ã¹ã¯ ããã€ã¹ãå²ãåœãŠãŸãã
次ã«ãäžéšã®ãµãŒãã¹ (ãŠãŒã¶ãŒ ãã£ãã·ã¥ãªã©) ã«ã€ããŠã¯ãæ¶è²»ããããªãœãŒã¹ã次ã®æ¹æ³ã§èšé²ã§ããŸããããã»ããµ ã³ã¢ 400 åãã¡ã¢ãª 2,5 TBãåæ¹å 50 Gbit/s ãã©ãã£ãã¯ã6 ã¹ãã³ãã«äžã«ãã 100 TB HDD ã¹ããŒã¹ã ãŸãã¯ã次ã®ãããªããäžè¬çãªåœ¢åŒã§ãæ§ããŸããã
alloc:
cpu: 400
mem: 2500
lan_in: 50g
lan_out: 50g
hdd:100x6T
ãŠãŒã¶ãŒ ãã£ãã·ã¥ ãµãŒãã¹ ãªãœãŒã¹ã¯ãéçšã€ã³ãã©ã¹ãã©ã¯ãã£ã§äœ¿çšå¯èœãªãã¹ãŠã®ãªãœãŒã¹ã®äžéšã®ã¿ãæ¶è²»ããŸãã ãããã£ãŠããªãã¬ãŒã¿ãŒã®ãšã©ãŒã®æç¡ã«ãããããããŠãŒã¶ãŒ ãã£ãã·ã¥ãå²ãåœãŠãããŠãã以äžã®ãªãœãŒã¹ãçªç¶æ¶è²»ããªãããã«ããããšèããŠããŸãã ã€ãŸãããªãœãŒã¹ãå¶éããå¿ èŠããããŸãã ããããå²ãåœãŠãäœã«çµã³ä»ããããšãã§ããã§ãããã?
ã³ã³ããŒãã³ãã®çžäºäœçšãéåžžã«ç°¡ç¥åããå³ã«æ»ã£ãŠãããã«è©³ããæãçŽããŠã¿ãŸãããã次ã®ããã«ãªããŸãã
ç®ãåŒããã®:
- Web ããã³ããšã³ããšé³æ¥œã¯ãåãã¢ããªã±ãŒã·ã§ã³ ãµãŒããŒã®åé¢ãããã¯ã©ã¹ã¿ãŒã䜿çšããŸãã
- ãããã®ã¯ã©ã¹ã¿ãŒãå±ããè«çå±€ (ããã³ãããã£ãã·ã¥ãããŒã¿ ã¹ãã¬ãŒãžã管çå±€) ãåºå¥ã§ããŸãã
- ããã³ããšã³ãã¯ç°çš®æ··åã§ãããç°ãªãæ©èœãµãã·ã¹ãã ã§æ§æãããŠããŸãã
- ãã£ãã·ã¥ã¯ãããŒã¿ããã£ãã·ã¥ãããµãã·ã¹ãã å šäœã«åæ£ãããããšãã§ããŸãã
ããäžåºŠçµµãæãçŽããŠã¿ãŸãããã
ããïŒ ã¯ããéå±€ã衚瀺ãããŸãã ããã¯ããªãœãŒã¹ããã倧ããªåäœã§åæ£ã§ããããšãæå³ããŸããæ©èœãµãã·ã¹ãã (å³ã®ãé³æ¥œããªã©) ã«å¯Ÿå¿ãããã®éå±€ã®ããŒãã«è²¬ä»»ã®ããéçºè ãå²ãåœãŠãéå±€ã®åãã¬ãã«ã«ã¯ã©ãŒã¿ãå²ãåœãŠãŸãã ãã®éå±€ã«ããããµãŒãã¹ãããæè»ã«ç·šæããŠç®¡çã容æã«ããããšãã§ããŸãã ããšãã°ãããã¯éåžžã«å€§ããªãµãŒããŒã®ã°ã«ãŒãã§ããããããã¹ãŠã® Web ãããã€ãã®å°ããªã°ã«ãŒãã«åå²ããŸã (å³ã§ã¯ group1ãgroup2 ãšããŠç€ºããŠããŸã)ã
äœåãªè¡ãåé€ããããšã§ãç»åã®åããŒããããå¹³åŠãªåœ¢åŒã§æžãããšãã§ããŸãã ã°ã«ãŒã1.web.ããã³ã, api.music.front, ãŠãŒã¶ãŒãã£ãã·ã¥.ãã£ãã·ã¥.
ããããéå±€ãã¥ãŒãã®æŠå¿µã«å°éããæ¹æ³ã§ãã ãgroup1.web.frontãã®ãããªååãä»ããŠããŸãã ãªãœãŒã¹ãšãŠãŒã¶ãŒæš©éã®ã¯ã©ãŒã¿ãå²ãåœãŠãããŸãã DevOps ã®æ åœè ã«ãã¥ãŒã«ãµãŒãã¹ãéä¿¡ããæš©éãäžããŸãããã®ãããªåŸæ¥å¡ã¯ãã¥ãŒå ã§äœããèµ·åã§ããŸããOpsDev ã®æ åœè ã¯ç®¡çè æš©éãæã¡ããã¥ãŒã管çãããã¥ãŒã«äººãå²ãåœãŠãããšãã§ããããã«ãªããŸãããã®ãã¥ãŒã§å®è¡ãããŠãããµãŒãã¹ã¯ããã¥ãŒã®ã¯ã©ãŒã¿å ã§å®è¡ãããŸãã ãã¥ãŒã®èšç®ã¯ã©ãŒã¿ããã¹ãŠã®ãµãŒãã¹ãäžåºŠã«å®è¡ããã®ã«ååã§ãªãå ŽåããµãŒãã¹ã¯é çªã«å®è¡ããããã¥ãŒèªäœã圢æãããŸãã
ãµãŒãã¹ã詳ããèŠãŠã¿ãŸãããã ãµãŒãã¹ã«ã¯å®å šä¿®é£Ÿåããããåžžã«ãã¥ãŒã®ååãå«ãŸããŸãã ããã³ã Web ãµãŒãã¹ã®ååã¯æ¬¡ã®ããã«ãªããŸãã ok-web.group1.web.frontã ãããŠãã¢ã¯ã»ã¹ããã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãµãŒãã¹ã¯æ¬¡ã®ããã«åŒã°ããŸã ok-app.group1.web.frontã åãµãŒãã¹ã«ã¯ãããã§ã¹ãããããç¹å®ã®ãã·ã³ã«é 眮ããããã«å¿ èŠãªãã¹ãŠã®æ å ± (ãã®ã¿ã¹ã¯ãæ¶è²»ãããªãœãŒã¹ã®æ°ãã¿ã¹ã¯ã«å¿ èŠãªæ§æãå¿ èŠãªã¬ããªã«ã®æ°ããã®ãµãŒãã¹ã®é害ãåŠçããããã®ããããã£) ãæå®ããŸãã ãµãŒãã¹ããã·ã³ã«çŽæ¥é 眮ããããšããã®ã€ã³ã¹ã¿ã³ã¹ã衚瀺ãããŸãã ãŸããã€ã³ã¹ã¿ã³ã¹çªå·ãšãµãŒãã¹åãšããŠãæ確ã«ååãä»ããããŸãã 1.ok-web.group1.web.frontã2.ok-web.group1.web.frontãâŠ
ããã¯éåžžã«äŸ¿å©ã§ããå®è¡äžã®ã³ã³ããã®ååãèŠãã ãã§ãããã«å€ãã®ããšãç¥ãããšãã§ããŸãã
次ã«ããããã®ã€ã³ã¹ã¿ã³ã¹ãå®éã«å®è¡ããã¿ã¹ã¯ãã€ãŸãã¿ã¹ã¯ã詳ããèŠãŠã¿ãŸãããã
ã¿ã¹ã¯åé¢ã¯ã©ã¹
OK ã®ãã¹ãŠã®ã¿ã¹ã¯ (ãããŠããããã©ãã§ã) ã¯ã°ã«ãŒãã«åé¡ã§ããŸãã
- åŸ ã¡æéã®çãã¿ã¹ã¯ - prodã ãã®ãããªã¿ã¹ã¯ããµãŒãã¹ã§ã¯ãåãªã¯ãšã¹ããã·ã¹ãã ã«ãã£ãŠã©ãã ãæ©ãåŠçãããããšããå¿çé 延 (ã¬ã€ãã³ã·ãŒ) ãéåžžã«éèŠã§ãã ã¿ã¹ã¯ã®äŸ: Web ããã³ãããã£ãã·ã¥ãã¢ããªã±ãŒã·ã§ã³ ãµãŒããŒãOLTP ã¹ãã¬ãŒãžãªã©ã
- èšç®åé¡ - ãããã ããã§ãåç¹å®ã®ãªã¯ãšã¹ãã®åŠçé床ã¯éèŠã§ã¯ãããŸããã 圌ãã«ãšã£ãŠã¯ããã®ã¿ã¹ã¯ãäžå®ã® (é·ã) æéå ã«ã©ãã ãã®èšç®ãè¡ãã (ã¹ã«ãŒããã) ãéèŠã§ãã ãããã¯ãMapReduceãHadoopãæ©æ¢°åŠç¿ãçµ±èšã®ã¿ã¹ã¯ã«ãªããŸãã
- ããã¯ã°ã©ãŠã³ã ã¿ã¹ã¯ - ã¢ã€ãã«ç¶æ ã ãã®ãããªã¿ã¹ã¯ã§ã¯ãã¬ã€ãã³ã·ãã¹ã«ãŒããããããŸãéèŠã§ã¯ãããŸããã ããã«ã¯ãããŸããŸãªãã¹ãã移è¡ãåèšç®ãããã³ãã圢åŒããå¥ã®åœ¢åŒãžã®ããŒã¿ã®å€æãå«ãŸããŸãã äžæ¹ã§ããããã¯èšç®ããããã®ã«äŒŒãŠããŸãããä»æ¹ã§ã¯ãã©ãã ãæ©ãå®äºãããã¯ç§ãã¡ã«ãšã£ãŠããŸãéèŠã§ã¯ãããŸããã
ãã®ãããªã¿ã¹ã¯ãäžå€®ããã»ããµãªã©ã®ãªãœãŒã¹ãã©ã®ããã«æ¶è²»ããããèŠãŠã¿ãŸãããã
é 延ã®çãã¿ã¹ã¯ã ãã®ãããªã¿ã¹ã¯ã® CPU æ¶è²»ãã¿ãŒã³ã¯æ¬¡ã®ããã«ãªããŸãã
ãŠãŒã¶ãŒããã®åŠçãªã¯ãšã¹ããåä¿¡ãããšãã¿ã¹ã¯ã¯å©çšå¯èœãªãã¹ãŠã® CPU ã³ã¢ã®äœ¿çšãéå§ãããããåŠçããå¿çãè¿ãã次ã®ãªã¯ãšã¹ããåŸ ã£ãŠåæ¢ããŸãã 次ã®ãªã¯ãšã¹ããå°çããŸãã - ããã§ããããã«ãããã¹ãŠã®ãã®ãéžæããèšç®ããŠã次ã®ãªã¯ãšã¹ããåŸ ã£ãŠããŸãã
ãã®ãããªã¿ã¹ã¯ã®æå°ã¬ã€ãã³ã·ãŒãä¿èšŒããã«ã¯ãã¿ã¹ã¯ãæ¶è²»ãããªãœãŒã¹ãæ倧éã«æŽ»çšãããããªã³ (ã¿ã¹ã¯ãå®è¡ãããã·ã³) äžã«å¿ èŠãªæ°ã®ã³ã¢ãäºçŽããå¿ èŠããããŸãã ãã®å Žåãåé¡ã®äºçŽåŒã¯æ¬¡ã®ããã«ãªããŸãã
alloc: cpu = 4 (max)
16 ã³ã¢ã®ãããªã³ ãã·ã³ãããå Žåããã®ãããªã¿ã¹ã¯ãã¡ããã© XNUMX ã€é 眮ã§ããŸãã ç¹ã«ããã®ãããªã¿ã¹ã¯ã®å¹³åããã»ããµæ¶è²»éãéåžžã«äœãããšãå€ãããšã«æ³šç®ããŸããã¿ã¹ã¯ã¯æéã®ããªãã®éšåããªã¯ãšã¹ããåŸ ã£ãŠäœãããªããããããã¯æããã§ãã
èšç®ã¿ã¹ã¯ã ãããã®ãã¿ãŒã³ã¯è¥å¹²ç°ãªããŸãã
ãã®ãããªã¿ã¹ã¯ã®å¹³å CPU ãªãœãŒã¹æ¶è²»éã¯éåžžã«å€ããªããŸãã å€ãã®å Žåãèšç®ã¿ã¹ã¯ãäžå®ã®æéå ã«å®äºãããããããèšç®å šäœã蚱容å¯èœãªæéå ã«å®äºããããã«ãå¿ èŠãªæå°æ°ã®ããã»ããµãäºçŽããå¿ èŠããããŸãã ãã®äºçŽåŒã¯æ¬¡ã®ããã«ãªããŸãã
alloc: cpu = [1,*)
ãå°ãªããšã XNUMX ã€ã®ç©ºãã³ã¢ããããããªã³ã«é 眮ããŠãã ãããããããã°ãã³ã¢ãããã°ããã ãããã¹ãŠã貪ãé£ãã§ããããã
ããã§ã®äœ¿çšå¹çã¯ãé 延ãçãã¿ã¹ã¯ããããã§ã«ã¯ããã«åªããŠããŸãã ããããXNUMX å°ã®ãããªã³ ãã·ã³äžã§äž¡æ¹ã®ã¿ã€ãã®ã¿ã¹ã¯ãçµã¿åããããã®ãªãœãŒã¹ãå€åºå ã§åæ£ããã°ããã®å¹æã¯ããã«å€§ãããªããŸãã é 延ã®çãã¿ã¹ã¯ãããã»ããµãå¿ èŠãšããå Žåãããã»ããµã¯ããã«ããã»ããµãåãåãããªãœãŒã¹ãäžèŠã«ãªããšããªãœãŒã¹ã¯èšç®ã¿ã¹ã¯ã«è»¢éãããŸããã€ãŸãã次ã®ãããªãã®ã«ãªããŸãã
ãããããããè¡ãæ¹æ³ã¯ïŒ
ãŸããprod ãšãã®å²ãåœãŠãèŠãŠã¿ãŸããã: cpu = 4ãXNUMX ã€ã®ã³ã¢ãäºçŽããå¿ èŠããããŸãã Docker run ã§ã¯ããã㯠XNUMX ã€ã®æ¹æ³ã§å®è¡ã§ããŸãã
- ãªãã·ã§ã³ã®äœ¿çš
--cpuset=1-4
ã€ãŸãããã·ã³äžã® XNUMX ã€ã®ç¹å®ã®ã³ã¢ãã¿ã¹ã¯ã«å²ãåœãŠãŸãã - 䜿çšãã
--cpuquota=400_000 --cpuperiod=100_000
ãããã»ããµæéã®ã¯ã©ãŒã¿ãå²ãåœãŠãŸããã€ãŸããã¿ã¹ã¯ããªã¢ã«ã¿ã€ã 100 ããªç§ããšã«æ¶è²»ããããã»ããµæéã 400 ããªç§ä»¥äžã§ããããšã瀺ããŸãã åã XNUMX ã€ã®ã³ã¢ãåŸãããŸãã
ãããããããã®æ¹æ³ã®ãã¡ã©ããé©åã§ãããã?
cpuset ã¯éåžžã«é åçã«èŠããŸãã ãã®ã¿ã¹ã¯ã«ã¯ XNUMX ã€ã®å°çšã³ã¢ããããããã»ããµ ãã£ãã·ã¥ãå¯èœãªéãå¹ççã«åäœããããšãæå³ããŸãã ããã«ã¯æ¬ ç¹ããããŸããOS ã§ã¯ãªãããã·ã³ã®ã¢ã³ããŒããããã³ã¢å šäœã«èšç®ãåæ£ããã¿ã¹ã¯ãåŒãåããå¿ èŠããããç¹ã«ãã®ãããªãã·ã³ã«ããã ã¿ã¹ã¯ãé 眮ããããšããå Žåãããã¯ããªãç°¡åãªã¿ã¹ã¯ã§ã¯ãããŸãããæ©æ¢°ã ãã¹ãã®çµæãããã§ã¯ã¯ã©ãŒã¿ä»ãã®ãªãã·ã§ã³ã®æ¹ãé©ããŠããããšãããããŸããããã®æ¹æ³ã§ã¯ããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãçŸæç¹ã§ã¿ã¹ã¯ãå®è¡ããã³ã¢ãããèªç±ã«éžæã§ããããã«ãªããããã»ããµæéãããå¹ççã«åæ£ãããŸãã
æå°ã³ã¢æ°ã«åºã¥ã㊠Docker ã§äºçŽããæ¹æ³ãèããŠã¿ãŸãããã æ倧å€ãå¶éããå¿
èŠã¯ãªããæå°å€ãä¿èšŒããã ãã§ååã§ãããããããã ã¿ã¹ã¯ã®ã¯ã©ãŒã¿ã¯é©çšãããªããªããŸããã ãããŠãããã§ã¯ãªãã·ã§ã³ãããŸãé©åããŸã docker run --cpushares
.
ãããã§å°ãªããšã XNUMX ã€ã®ã³ã¢ã®ä¿èšŒãå¿
èŠãªå Žåã¯ã次ã®ããšã瀺ãããšã«åæããŸããã --cpushares=1024
ãå°ãªããšã XNUMX ã€ã®ã³ã¢ãããå Žåã¯ã --cpushares=2048
ã CPU ã·ã§ã¢ã¯ãååãªéãããéããããã»ããµæéã®é
åã«ãŸã£ããå¹²æžããŸããã ãããã£ãŠãprod ãçŸåšãã® 1024 ã€ã®ã³ã¢ãã¹ãŠã䜿çšããŠããªãå Žåãããã ã¿ã¹ã¯ãå¶éãããã®ã¯äœããªããããè¿œå ã®ããã»ããµæéã䜿çšããããšãã§ããŸãã ãã ããããã»ããµãŒãäžè¶³ããŠããç¶æ³ã§ãprod ã 2048 ã€ã®ã³ã¢ããã¹ãŠæ¶è²»ããŠã¯ã©ãŒã¿ã«éããå Žåãæ®ãã®ããã»ããµãŒæé㯠cpushare ã«æ¯äŸããŠåå²ãããŸããã€ãŸããXNUMX ã€ã®ç©ºãã³ã¢ãããç¶æ³ã§ã¯ãXNUMX ã€ã¯ CPU ã·ã§ã¢ã«æ¯äŸããŠåå²ãããŸãã XNUMX CPU ã·ã§ã¢ã®ã¿ã¹ã¯ã«å²ãåœãŠãããæ®ãã® XNUMX ã€ã¯ XNUMX CPU ã·ã§ã¢ã®ã¿ã¹ã¯ã«å²ãåœãŠãããŸãã
ããããã¯ã©ãŒã¿ãšã·ã§ã¢ã䜿çšããã ãã§ã¯ååã§ã¯ãããŸããã ããã»ããµæéãå²ãåœãŠãéã«ã¯ãé
延ã®çãã¿ã¹ã¯ãããã ã¿ã¹ã¯ãããåªå
ãããããã«ããå¿
èŠããããŸãã ãã®ãããªåªå
é äœä»ãããªããšãæ¬çªç°å¢ã§ããã ã¿ã¹ã¯ãå¿
èŠã«ãªã£ãç¬éã«ãããã ã¿ã¹ã¯ããã¹ãŠã®ããã»ããµæéãå æããããšã«ãªããŸãã Docker ã®å®è¡ã«ã¯ã³ã³ãããŒã®åªå
é äœä»ããªãã·ã§ã³ã¯ãããŸããããLinux CPU ã¹ã±ãžã¥ãŒã©ãŒ ããªã·ãŒã¯äŸ¿å©ã§ãã ãããã«ã€ããŠè©³ããèªãããšãã§ããŸã
- SCHED_OTHER
ããã©ã«ãã§ã¯ãLinux ãã·ã³äžã®ãã¹ãŠã®éåžžã®ãŠãŒã¶ãŒ ããã»ã¹ãåä¿¡ããŸãã - SCHED_BATCH
ãªãœãŒã¹ã倧éã«æ¶è²»ããããã»ã¹åãã«èšèšãããŠããŸãã ã¿ã¹ã¯ãããã»ããµã«é 眮ãããšãããããã¢ã¯ãã£ããŒã·ã§ã³ ããã«ãã£ãå°å ¥ãããŸãããã®ãããªã¿ã¹ã¯ãçŸåš SCHED_OTHER ãæã€ã¿ã¹ã¯ã«ãã£ãŠäœ¿çšãããŠããå Žåããã®ã¿ã¹ã¯ã¯ããã»ããµ ãªãœãŒã¹ãåãåãå¯èœæ§ãäœããªããŸãã - SCHED_IDLE
åªå 床ãéåžžã«äœããnice -19 ãããããã«äœãããã¯ã°ã©ãŠã³ã ããã»ã¹ã ç§ãã¡ã¯ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªã䜿çšããŠããŸãã¯ã³ã㪠ãåŒã³åºããŠã³ã³ãããèµ·åãããšãã«å¿ èŠãªããªã·ãŒãèšå®ãããã
one.nio.os.Proc.sched_setscheduler( pid, Proc.SCHED_IDLE )
ãã ããJava ã§ããã°ã©ã ãäœæããŠããªãå Žåã§ããchrt ã³ãã³ãã䜿çšããŠåãããšãã§ããŸãã
chrt -i 0 $pid
ããããããããããã«ããã¹ãŠã®åé¢ã¬ãã«ã XNUMX ã€ã®è¡šã«ãŸãšããŠã¿ãŸãããã
絶çžã¯ã©ã¹
å²ãåœãŠã®äŸ
Docker å®è¡ãªãã·ã§ã³
sched_setscheduler ãã£ãŒã*
çªã
CPU = 4
--cpuquota=400000
--cpuperiod=100000
SCHED_OTHER
ããã
CPU = [1, *)
--cpushares=1024
SCHED_BATCH
ã¢ã€ãã«
CPU= [2, *)
--cpushares=2048
SCHED_IDLE
*ã³ã³ããå ãã chrt ãå®è¡ããŠããå Žåã¯ãsys_nice æ©èœãå¿ èŠã«ãªãå ŽåããããŸããããã¯ãã³ã³ããã®èµ·åæã«ããã©ã«ã㧠Docker ããã®æ©èœãåé€ããããã§ãã
ãã ããã¿ã¹ã¯ã¯ããã»ããµã ãã§ãªããã©ãã£ãã¯ãæ¶è²»ãããããããã»ããµ ãªãœãŒã¹ã®äžé©åãªå²ãåœãŠããããããã¯ãŒã¯ ã¿ã¹ã¯ã®é
延ã«ããã«å€§ããªåœ±é¿ãäžããŸãã ãããã£ãŠãåœç¶ã®ããšãªããããã©ãã£ãã¯ã«ã€ããŠããŸã£ããåãç»åãååŸããããšèããŸãã ã€ãŸããæ¬çªã¿ã¹ã¯ãããã€ãã®ãã±ããããããã¯ãŒã¯ã«éä¿¡ãããšããæ倧é床ãå¶éããŸãïŒåŒ alloc: lan=[*,500mbps) )ãprod ã§ãããè¡ãããšãã§ããŸãã ãŸãããããã®å Žåã¯ãæå°ã¹ã«ãŒãããã®ã¿ãä¿èšŒããŸãããæ倧ã¹ã«ãŒãããã¯å¶éããŸããïŒåŒ alloc: lan=[10Mbps,*) ) ãã®å Žåãæ¬çªãã©ãã£ãã¯ã¯ããã ã¿ã¹ã¯ãããåªå
ãããå¿
èŠããããŸãã
ããã§ãDocker ã«ã¯äœ¿çšã§ããããªããã£ãããããŸããã ããããããã¯ç§ãã¡ã®å©ãã«ãªããŸã
ããã§ã1:0 㯠hsfc èŠåŸã®ãã«ãŒã qdiscãã§ãã 1:1 - ç·åž¯åå¹ å¶éã 8 Gbit/s ã® hsfc åã¯ã©ã¹ããã®äžã«ãã¹ãŠã®ã³ã³ããã®åã¯ã©ã¹ãé 眮ãããŸãã 1:2 - hsfc åã¯ã©ã¹ã¯ã以äžã§èª¬æãããåçãå¶éãæã€ãã¹ãŠã®ããã ã¿ã¹ã¯ãšã¢ã€ãã« ã¿ã¹ã¯ã«å ±éã§ãã æ®ãã® hsfc åã¯ã©ã¹ã¯ããããã§ã¹ãã«å¯Ÿå¿ããå¶é (450 ããã³ 400 Mbit/s) ãæã€ãçŸåšå®è¡äžã®æ¬çªã³ã³ããçšã®å°çšã¯ã©ã¹ã§ãã å hsfc ã¯ã©ã¹ã«ã¯ããã©ãã£ã㯠ããŒã¹ãæã®ãã±ããæ倱ãé¿ããããã«ãLinux ã«ãŒãã«ã®ããŒãžã§ã³ã«å¿ã㊠qdisc ãã¥ãŒ fq ãŸã㯠fq_codel ãå²ãåœãŠãããŸãã
éåžžãTC èŠåŸã¯éä¿¡ãã©ãã£ãã¯ã®ã¿ãåªå
ãã圹å²ãæãããŸãã ããããåä¿¡ãã©ãã£ãã¯ã«ãåªå
é äœãä»ããããšèããŠããŸããçµå±ã®ãšãããäžéšã®ããã ã¿ã¹ã¯ã¯ãããšãã°ãmap&reduce ã®å
¥åããŒã¿ã®å€§ããªããããåä¿¡ãããªã©ãåä¿¡ãã£ãã«å
šäœãç°¡åã«éžæã§ããŸãã ãã®ããã«ãã¢ãžã¥ãŒã«ã䜿çšããŸã
å®éšäžã«ããããªã³ ãã·ã³äžã®éåªå ããã/ã¢ã€ãã« ãã©ãã£ãã¯ã® 1:2 ã¯ã©ã¹ãç¹å®ã®ç©ºãã¬ãŒã³ä»¥äžã«å¶éãããŠããå Žåãhsfc ãæè¯ã®çµæã瀺ãããšãããããŸããã ããããªããšãéåªå ãã©ãã£ãã¯ãæ¬çªã¿ã¹ã¯ã®ã¬ã€ãã³ã·ãŒã«å€§ããªåœ±é¿ãäžããŸãã miniond ã¯ãç¹å®ã®ãããªã³ã®ãã¹ãŠã® prod ã¿ã¹ã¯ã®å¹³åãã©ãã£ãã¯æ¶è²»éã枬å®ããŠãçŸåšã®ç©ºã垯åå¹ ã®éãæ¯ç§æ±ºå®ããŸãã ãããŠããããããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ã®åž¯åå¹ ããå·®ãåŒããŸã ããããªããŒãžã³ãæã£ãŠãã€ãŸã
垯åã¯ãåä¿¡ãã©ãã£ãã¯ãšéä¿¡ãã©ãã£ãã¯ã«å¯ŸããŠåå¥ã«å®çŸ©ãããŸãã ãããŠãæ°ããå€ã«åŸã£ãŠãminiond ã¯éåªå ã¯ã©ã¹ã®å¶éã 1:2 ã«åæ§æããŸãã
ãããã£ãŠãprodãbatchãidle ã® XNUMX ã€ã®åé¢ã¯ã©ã¹ããã¹ãŠå®è£ ããŸããã ãããã®ã¯ã©ã¹ã¯ãã¿ã¹ã¯ã®ããã©ãŒãã³ã¹ç¹æ§ã«å€§ããªåœ±é¿ãäžããŸãã ãããã£ãŠãéå±€ãã¥ãŒã®ååãèŠããšãäœãæ±ã£ãŠããã®ããããã«ãããããã«ããã®å±æ§ãéå±€ã®æäžäœã«é 眮ããããšã«ããŸããã
ç§ãã¡ã®åéå šå¡ ãŠã§ã О é³æ¥œ ããã³ã㯠prod ã®äžã®éå±€ã«é 眮ãããŸãã ããšãã°ããããã®äžã«ãµãŒãã¹ãé 眮ããŸããã é³æ¥œã«ã¿ãã°ãOdnoklassniki ã«ã¢ããããŒãããã mp3 ãã¡ã€ã«ã®ã»ãããããã©ãã¯ã®ã«ã¿ãã°ãå®æçã«ã³ã³ãã€ã«ããŸãã ã¢ã€ãã«ç¶æ ã®ãµãŒãã¹ã®äŸã¯æ¬¡ã®ãšããã§ãã ãã¥ãŒãžãã¯ãã©ã³ã¹ãã©ãŒããŒãé³æ¥œã®é³éã¬ãã«ãæ£èŠåããŸãã
äœåãªè¡ãå床åé€ãããšãå®å šãªãµãŒãã¹åã®æ«å°Ÿã«ã¿ã¹ã¯åé¢ã¯ã©ã¹ãè¿œå ããããšã§ããµãŒãã¹åãããå¹³åŠã«æžãããšãã§ããŸãã web.front.prod, ã«ã¿ãã°.é³æ¥œ.ããã, ãã©ã³ã¹ãã©ãŒããŒãã¥ãŒãžãã¯ã¢ã€ãã«.
ãããŠä»ããµãŒãã¹ã®ååãèŠããšããããã©ã®ãããªæ©èœãå®è¡ãããã ãã§ãªãããã®éèŠæ§ãªã©ãæå³ããåé¢ã¯ã©ã¹ãç解ã§ããŸãã
ãã¹ãŠãçŽ æŽãããã§ãããèŠãçå®ã XNUMX ã€ãããŸãã XNUMX å°ã®ãã·ã³ã§å®è¡ãããŠããã¿ã¹ã¯ãå®å šã«åé¢ããããšã¯äžå¯èœã§ãã
éæã§ããããš: ããããéäžçã«æ¶è²»ããå Žå ã®ã¿ CPU ãªãœãŒã¹ãããã°ãçµã¿èŸŒã¿ã® Linux CPU ã¹ã±ãžã¥ãŒã©ãéåžžã«é©åã«æ©èœããæ¬çªã¿ã¹ã¯ã«ã¯å®è³ªçã«åœ±é¿ãäžããŸããã ãããããã®ããã ã¿ã¹ã¯ãã¡ã¢ãªãç©æ¥µçã«åŠçãå§ãããšãçžäºã®åœ±é¿ããã§ã«çŸããŠããŸãã ããã¯ãprod ã¿ã¹ã¯ãããã»ããµã®ã¡ã¢ãª ãã£ãã·ã¥ãããæŽãæµããããããã«çºçããŸãããã®çµæããã£ãã·ã¥ ãã¹ãå¢å ããããã»ããµã«ãã prod ã¿ã¹ã¯ã®åŠçãé ããªããŸãã ãã®ãããªããã ã¿ã¹ã¯ã«ãããäžè¬çãªæ¬çªã³ã³ããã®ã¬ã€ãã³ã·ã 10% å¢å ããå¯èœæ§ããããŸãã
æè¿ã®ãããã¯ãŒã¯ ã«ãŒãã«ã¯å éšãã±ãã ãã¥ãŒãããããããã©ãã£ãã¯ãåé¢ããããšã¯ããã«å°é£ã§ãã ããã ã¿ã¹ã¯ããã®ãã±ãããæåã«å°çããå Žåããããæåã«ã±ãŒãã«çµç±ã§éä¿¡ãããããšã«ãªããããã«ã€ããŠã¯äœãã§ããŸããã
ããã«ããããŸã§ã®ãšãããTCP ãã©ãã£ãã¯ã®åªå é äœä»ãã®åé¡ãã解決ã§ããŠããŸãããhsfc ã¢ãããŒã㯠UDP ã§ã¯æ©èœããŸããã ãŸããTCP ãã©ãã£ãã¯ã®å Žåã§ããããã ã¿ã¹ã¯ã倧éã®ãã©ãã£ãã¯ãçæãããšãæ¬çªã¿ã¹ã¯ã®é 延ãçŽ 10% å¢å ããŸãã
èé害æ§
ã¯ã³ã¯ã©ãŠããéçºããéã®ç®æšã® XNUMX ã€ã¯ãOdnoklassniki ã®èé害æ§ãåäžãããããšã§ããã ããã§æ¬¡ã«ãèµ·ããåŸãæ éãäºæ ã®ã·ããªãªããã詳ããèããŠã¿ãããšæããŸãã ã³ã³ãããŒã®é害ãšããåçŽãªã·ããªãªããå§ããŸãããã
ã³ã³ããèªäœã¯ããŸããŸãªæ¹æ³ã§å€±æããå¯èœæ§ããããŸãã ããã¯ããããã§ã¹ãå ã®äœããã®å®éšããã°ããŸãã¯ãšã©ãŒã§ããå¯èœæ§ãããããããåå ã§ãprod ã¿ã¹ã¯ããããã§ã¹ãã«ç€ºãããŠãããããå€ãã®ãªãœãŒã¹ãæ¶è²»ãå§ããŸãã ããéçºè ã XNUMX ã€ã®è€éãªã¢ã«ãŽãªãºã ãå®è£ ããäœåºŠãããçŽããèããããŠæ··ä¹±ããæçµçã«åé¡ãéåžžã«åçŽã§ã¯ãªã圢ã§ã«ãŒãããŠããŸããšããã±ãŒã¹ããããŸããã ãããŠãprod ã¿ã¹ã¯ã¯åããããªã³äžã®ä»ã®ãã¹ãŠã®ã¿ã¹ã¯ãããé«ãåªå é äœãæã£ãŠãããããå©çšå¯èœãªãã¹ãŠã®ããã»ããµ ãªãœãŒã¹ãæ¶è²»ãå§ããŸããã ãã®ç¶æ³ã§ã¯ãåé¢ãã€ãŸã CPU æéã®å²ãåœãŠã«ãã£ãŠçª®å°ãæãããŸããã ã¿ã¹ã¯ã«ã¯ã©ãŒã¿ãå²ãåœãŠãããŠããå Žåãã¿ã¹ã¯ã¯ãã以äžã®ã¯ã©ãŒã¿ãæ¶è²»ããŸããã ãããã£ãŠãåããã·ã³äžã§å®è¡ããããããããã³ãã®ä»ã®æ¬çªã¿ã¹ã¯ã¯äœãèªèããŸããã§ããã
XNUMX çªç®ã«èããããåé¡ã¯ãã³ã³ããã®èœäžã§ãã ãããŠãããã§åèµ·åããªã·ãŒãç§ãã¡ãæã£ãŠãããŸãã誰ãããããç¥ã£ãŠããŸãããDocker èªäœã¯çŽ æŽãããä»äºãããŸãã ã»ãšãã©ãã¹ãŠã®æ¬çªã¿ã¹ã¯ã«ã¯ãåžžã«åèµ·åããããªã·ãŒããããŸãã ããã ã¿ã¹ã¯ãæ¬çªã³ã³ããã®ãããã°ã« on_failure ã䜿çšããããšããããŸãã
ãããªã³å šäœãå©çšã§ããªãå Žåã¯ã©ãããã°ããã§ãããã?
åœç¶ãã³ã³ãããå¥ã®ãã·ã³ã§å®è¡ããŸãã ããã§èå³æ·±ãã®ã¯ãã³ã³ããã«å²ãåœãŠããã IP ã¢ãã¬ã¹ãã©ããªãããšããããšã§ãã
ãããã®ã³ã³ãããå®è¡ããããããªã³ ãã·ã³ãšåã IP ã¢ãã¬ã¹ãã³ã³ããã«å²ãåœãŠãããšãã§ããŸãã ãã®åŸãã³ã³ãããå¥ã®ãã·ã³ã§èµ·åããããšããã® IP ã¢ãã¬ã¹ãå€æŽããããã¹ãŠã®ã¯ã©ã€ã¢ã³ãã¯ã³ã³ããã移åããããšãç解ããå¿ èŠããããå¥ã®ã¢ãã¬ã¹ã«ç§»åããå¿ èŠããããããå¥ã® Service Discovery ãµãŒãã¹ãå¿ èŠã«ãªããŸãã
ãµãŒãã¹ãã£ã¹ã«ããªãŒã¯äŸ¿å©ã§ãã åžå Žã«ã¯ããµãŒãã¹ ã¬ãžã¹ããªãç·šæããããã®ãããŸããŸãªçšåºŠã®èé害æ§ãåããå€ãã®ãœãªã¥ãŒã·ã§ã³ãååšããŸãã å€ãã®å Žåããã®ãããªãœãªã¥ãŒã·ã§ã³ã§ã¯ããŒã ãã©ã³ãµãŒ ããžãã¯ãå®è£
ãããKV ã¹ãã¬ãŒãžãªã©ã®åœ¢åŒã§è¿œå ã®æ§æãä¿åãããŸãã
ãã ããå¥ã®ã¬ãžã¹ããªãå®è£
ããå¿
èŠæ§ã¯é¿ããããšèããŠããŸããããã¯ãæ¬çªç°å¢ã®ãã¹ãŠã®ãµãŒãã¹ã§äœ¿çšãããéèŠãªã·ã¹ãã ãå°å
¥ããããšãæå³ããããã§ãã ããã¯ããããæœåšçãªé害ç¹ã§ããããšãæå³ããéåžžã«èé害æ§ã®é«ããœãªã¥ãŒã·ã§ã³ãéžæãŸãã¯éçºããå¿
èŠããããŸãããããã¯æããã«éåžžã«å°é£ã§ãæéãšè²»çšãããããŸãã
ãããŠããã XNUMX ã€ã®å€§ããªæ¬ ç¹ããããŸããå€ãã€ã³ãã©ã¹ãã©ã¯ãã£ãæ°ããã€ã³ãã©ã¹ãã©ã¯ãã£ãšé£æºãããã«ã¯ããã皮㮠Service Discovery ã·ã¹ãã ã䜿çšããããã«ãã¹ãŠã®ã¿ã¹ã¯ãå®å
šã«æžãçŽãå¿
èŠããããŸãã å€ãã®äœæ¥ããããOS ã«ãŒãã« ã¬ãã«ã§åäœããããŸãã¯ããŒããŠã§ã¢ãšçŽæ¥åäœããäœã¬ãã«ã®ããã€ã¹ã«é¢ããŠã¯ãå Žæã«ãã£ãŠã¯ã»ãšãã©äžå¯èœã§ãã 次ã®ãããªç¢ºç«ããããœãªã¥ãŒã·ã§ã³ ãã¿ãŒã³ã䜿çšããŠãã®æ©èœãå®è£
ããŸãã
XNUMX ã€ã®ã¯ã©ãŠãã§ã¯ãIP ã¯ã³ã³ããã«åŸããŸããã€ãŸããåã¿ã¹ã¯ ã€ã³ã¹ã¿ã³ã¹ã¯ç¬èªã® IP ã¢ãã¬ã¹ãæã¡ãŸãã ãã®ã¢ãã¬ã¹ã¯ãéçãã§ãããµãŒãã¹ãæåã«ã¯ã©ãŠãã«éä¿¡ããããšãã«åã€ã³ã¹ã¿ã³ã¹ã«å²ãåœãŠãããŸãã ãµãŒãã¹ã®åç¶æéäžã«ç°ãªãæ°ã®ã€ã³ã¹ã¿ã³ã¹ããã£ãå Žåãæçµçã«ã¯æ倧ã€ã³ã¹ã¿ã³ã¹ãšåãæ°ã® IP ã¢ãã¬ã¹ãå²ãåœãŠãããŸãã
ãã®åŸããããã®ã¢ãã¬ã¹ã¯å€æŽãããŸããããããã®ã¢ãã¬ã¹ã¯äžåºŠå²ãåœãŠããããšãéçšç°å¢ã§ã®ãµãŒãã¹ã®åç¶æéäžãã£ãšååšãç¶ããŸãã IP ã¢ãã¬ã¹ã¯ãããã¯ãŒã¯äžã®ã³ã³ããã«åŸããŸãã ã³ã³ãããå¥ã®ãããªã³ã«è»¢éãããå Žåãã¢ãã¬ã¹ã¯ããã«ç¶ããŸãã
ãããã£ãŠããµãŒãã¹åã® IP ã¢ãã¬ã¹ã®ãªã¹ããžã®ãããã³ã°ãå€æŽãããããšã¯ã»ãšãã©ãããŸããã ãã®èšäºã®åé ã§èª¬æãããµãŒãã¹ ã€ã³ã¹ã¿ã³ã¹ã®ååãããäžåºŠèŠãŠã¿ãŸããã (1.ok-web.group1.web.front.prodã2.ok-web.group1.web.front.prodãâŠ)ãDNS ã§äœ¿çšããã FQDN ã«äŒŒãŠããããšãããããŸãã ããã§ãããµãŒãã¹ ã€ã³ã¹ã¿ã³ã¹ã®ååããã® IP ã¢ãã¬ã¹ã«ãããã³ã°ããã«ã¯ãDNS ãããã³ã«ã䜿çšããŸãã ããã«ããã® DNS ã¯ãå®è¡äžãšåæ¢ã®äž¡æ¹ã®ãã¹ãŠã®ã³ã³ãããŒã®ãã¹ãŠã®äºçŽæžã¿ IP ã¢ãã¬ã¹ãè¿ããŸã (XNUMX ã€ã®ã¬ããªã«ã䜿çšãããŠãããããã« XNUMX ã€ã®ã¢ãã¬ã¹ãäºçŽãããŠãããšããŸããXNUMX ã€ãã¹ãŠãè¿ãããŸã)ã ãã®æ å ±ãåãåã£ãã¯ã©ã€ã¢ã³ãã¯ãXNUMX ã€ã®ã¬ããªã«ãã¹ãŠãšã®æ¥ç¶ã確ç«ããããšããåäœããŠããã¬ããªã«ãå€æããŸãã å¯çšæ§ãå€æããããã®ãã®ãªãã·ã§ã³ã¯ãã¯ããã«ä¿¡é Œæ§ãé«ããDNS ããµãŒãã¹æ€åºãé¢äžããªããããæ å ±ã®é¢é£æ§ãšãããã®ã·ã¹ãã ã®ãã©ãŒã«ã ãã¬ã©ã³ã¹ã確ä¿ããéã«è§£æ±ºããã®ã¯é£ããåé¡ããããŸããã ããã«ãããŒã¿ã«å šäœã®éçšãäŸåããéèŠãªãµãŒãã¹ã§ã¯ãDNS ããŸã£ãã䜿çšã§ãããæ§æã« IP ã¢ãã¬ã¹ãå ¥åããã ãã§ãã
ãã®ãã㪠IP 転éãã³ã³ããã®èåŸã«å®è£ ããããšã¯ç°¡åã§ã¯ãããŸããã次ã®äŸã§ãããã©ã®ããã«æ©èœããããèŠãŠãããŸãã
ã¯ã³ã¯ã©ãŠã ãã¹ã¿ãŒããããªã³ M1 ã«å®è¡ããã³ãã³ããäžãããšããŸãã 1.ok-web.group1.web.front.prod ã¢ãã¬ã¹ã¯ 1.1.1.1 ã§ãã ãããªã³ã§åäœããŸã
次ã«ã1 ã¯ã©ãŠã ãã¹ã¿ãŒãš M1 ãããªã³ã®éã®æ¥ç¶ã倱ããããšä»®å®ããŸãã 2 ã¯ã©ãŠã ãã¹ã¿ãŒã¯ãMXNUMX ãå®å šã«å€±æãããšããæ³å®ã«åºã¥ããŠåäœããããã«ãªããŸãã ã€ãŸããMXNUMX ãããªã³ã«èµ·åã®ã³ãã³ããäžããŸãã web.group1.web.front.prod åãã¢ãã¬ã¹ 1.1.1.1 ã§ãã çŸåšã1.1.1.1 ã®ãããã¯ãŒã¯äžã«ã¯ãM1 ãš M2 ã® 1 ã€ã®ç«¶åããã«ãŒãããããŸãã ãã®ãããªç«¶åã解決ããããã«ãBGP ã¢ããŠã³ã¹ã§æå®ãããŠãã Multi Exit Discriminator ã䜿çšããŸãã åºåããçµè·¯ã®éã¿ãè¡šãæ°å€ã§ãã 競åããçµè·¯ã®ãã¡ãMED å€ãå°ããçµè·¯ãéžæãããŸãã ã¯ã³ã¯ã©ãŠã ãã¹ã¿ãŒã¯ãã³ã³ãã㌠IP ã¢ãã¬ã¹ã®äžå¯æ¬ ãªéšåãšã㊠MED ããµããŒãããŸãã åããŠãã¢ãã¬ã¹ã¯ååã«å€§ã㪠MED = 000 ã§æžã蟌ãŸããŸãããã®ãããªç·æ¥ã³ã³ãã転éã®ç¶æ³ã§ã¯ããã¹ã¿ãŒã¯ MED ãåæžããM000 ã¯ãã§ã«ã¢ãã¬ã¹ 2 ã MED = ã§ã¢ããã¿ã€ãºããã³ãã³ããåä¿¡ããŸãã 1.1.1.1ããã®å Žåãæ¥ç¶ããªãå ŽåãM999 ã§å®è¡ãããŠããã€ã³ã¹ã¿ã³ã¹ã¯ãã®ãŸãŸæ®ãããã¹ã¿ãŒãšã®æ¥ç¶ãå埩ãããŸã§ã圌ã®ä»åŸã®éåœã«ã¯ã»ãšãã©èå³ããããŸããããã¹ã¿ãŒãšã®æ¥ç¶ãå埩ãããšãå€ããã€ã¯ã®ããã«åæ¢ãããŸãã
é害
ãã¹ãŠã®ããŒã¿ã»ã³ã¿ãŒç®¡çã·ã¹ãã ã¯ã軜埮ãªé害ãåžžã«é©åã«åŠçããŸãã ã³ã³ããã®ãªãŒããŒãããŒã¯ãã»ãŒã©ãã§ãããããããšã§ãã
ããŒã¿ã»ã³ã¿ãŒã® XNUMX ã€ãŸãã¯è€æ°ã®éšå±ã§ã®åé»ãªã©ã®ç·æ¥äºæ ã«ã©ã®ããã«å¯ŸåŠããããèŠãŠã¿ãŸãããã
äºæ ã¯ããŒã¿ã»ã³ã¿ãŒç®¡çã·ã¹ãã ã«ãšã£ãŠäœãæå³ããŸãã? ãŸã第äžã«ãããã¯å€ãã®ãã·ã³ã®äžåºŠéãã®å€§èŠæš¡ãªé害ã§ãããå¶åŸ¡ã·ã¹ãã ã¯åæã«å€ãã®ã³ã³ããã移è¡ããå¿ èŠããããŸãã ããããçœå®³ãéåžžã«å€§èŠæš¡ãªå ŽåãããŒã¿ã»ã³ã¿ãŒã®ãªãœãŒã¹å®¹éãè² è·ã® 100% ãäžåãããã«ããã¹ãŠã®ã¿ã¹ã¯ãä»ã®ãããªã³ã«åå²ãåœãŠã§ããªãå ŽåããããŸãã
å€ãã®å Žåãäºæ ã«ã¯å¶åŸ¡å±€ã®é害ã䌎ããŸãã ããã¯ãæ©åšã®æ éã«ãã£ãŠçºçããå¯èœæ§ããããŸãããããå€ãã®å Žåãäºæ ããã¹ããããŠããªããšããäºå®ããè² è·ã®å¢å ã«ããå¶åŸ¡å±€èªäœãäœäžãããšããäºå®ãåå ã§ãã
ããããã¹ãŠã«ã€ããŠäœãã§ããã§ãããã?
倧é移è¡ãšã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£å ã§å€æ°ã®ã¢ã¯ãã£ããã£ã移è¡ãããã³å±éãçºçããããšãæå³ããŸãã å移è¡ã§ã¯ããããªã³ãžã®ã³ã³ãã ã€ã¡ãŒãžã®é ä¿¡ãšè§£åãã³ã³ããã®èµ·åãšåæåãªã©ã«æéããããå ŽåããããŸãããã®ãããããéèŠãªã¿ã¹ã¯ããããã»ã©éèŠã§ãªãã¿ã¹ã¯ãããåã«èµ·åããããšãæãŸããã§ãã
ç§ãã¡ãããç¥ã£ãŠãããµãŒãã¹ã®éå±€ãããäžåºŠèŠãŠãã©ã®ã¿ã¹ã¯ãæåã«å®è¡ãããã決å®ããŠã¿ãŸãããã
ãã¡ããããããã¯ãŠãŒã¶ãŒèŠæ±ã®åŠçã«çŽæ¥é¢äžããããã»ã¹ãã€ãŸã prod ã§ãã ããã次ã®ããã«ç€ºããŸãã é 眮ã®åªå é äœ â ãã¥ãŒã«å²ãåœãŠãããšãã§ããçªå·ã ãã¥ãŒã®åªå é äœãé«ãå Žåããã®ãµãŒãã¹ãæåã«é 眮ãããŸãã
prod ã§ã¯ãããé«ãåªå 床 0 ãå²ãåœãŠãŸãã ãããã§ã¯-å°ãäœãã100; ã¢ã€ãã«æ - ããã«äœã 200ãåªå é äœã¯éå±€çã«é©çšãããŸãã éå±€ã®äžäœã®ãã¹ãŠã®ã¿ã¹ã¯ã«ã¯ã察å¿ããåªå 床ãèšå®ãããŸãã ããã³ããšã³ããããåã«è£œåå ã®ãã£ãã·ã¥ãèµ·åãããå Žåã¯ããã£ãã·ã¥ = 0ãããã³ã ãµããã¥ãŒ = 1 ã«åªå é äœãå²ãåœãŠãŸããããšãã°ãã¡ã€ã³ ããŒã¿ã«ãæåã«ããã³ããšã³ãããèµ·åãããã¥ãŒãžã㯠ããã³ãã®ã¿ãèµ·åãããå Žå次ã«ãåŸè ã«äœãåªå é äœ (10) ãå²ãåœãŠãããšãã§ããŸãã
次ã®åé¡ã¯ãªãœãŒã¹ã®äžè¶³ã§ãã ãã®ããã倧éã®æ©åšãã€ãŸãããŒã¿ã»ã³ã¿ãŒã®ããŒã«å šäœãæ éããéåžžã«å€ãã®ãµãŒãã¹ãåèµ·åãããããçŸåšã§ã¯å šå¡ã«ååãªãªãœãŒã¹ããããŸããã äž»èŠãªéèŠãªãµãŒãã¹ãå®è¡ãç¶ããããã«ãã©ã®ã¿ã¹ã¯ãç ç²ã«ãããã決å®ããå¿ èŠããããŸãã
é 眮ã®åªå é äœãšã¯ç°ãªãããã¹ãŠã®ããã ã¿ã¹ã¯ãç¡å·®å¥ã«ç ç²ã«ããããšã¯ã§ããŸããããããã®äžéšã¯ããŒã¿ã«ã®éçšã«ãšã£ãŠéèŠã§ãã ãããã£ãŠãåå¥ã«åŒ·èª¿è¡šç€ºããŸãã ããªãšã³ãã·ã§ã³ã®åªå é äœ ã¿ã¹ã¯ã é 眮ããããšã空ããããªã³ããªããªã£ãå Žåãåªå 床ã®é«ãã¿ã¹ã¯ã¯åªå 床ã®äœãã¿ã¹ã¯ãããªãšã³ãããã€ãŸãåæ¢ããããšãã§ããŸãã ãã®å Žåãåªå 床ã®äœãã¿ã¹ã¯ã¯ããããé 眮ãããªããŸãŸã«ãªãã§ããããã€ãŸããååãªç©ºããªãœãŒã¹ãåããé©åãªãããªã³ã¯ããååšããŸããã
ãã®éå±€ã§ã¯ãã¢ã€ãã«ã®åªå é äœã 200 ã«æå®ããããšã§ãæ¬çªã¿ã¹ã¯ãšããã ã¿ã¹ã¯ãã¢ã€ãã« ã¿ã¹ã¯ãããªãšã³ãããŸãã¯åæ¢ããŸãããçžäºã«ã¯ããªãšã³ãã·ã§ã³åªå é äœãæå®ããããšã¯éåžžã«ç°¡åã§ããé 眮åªå é äœã®å Žåãšåæ§ã«ãããè€éãªã«ãŒã«ãèšè¿°ããããã«éå±€ã䜿çšã§ããŸãã ããšãã°ãã¡ã€ã³ Web ããŒã¿ã«ã«ååãªãªãœãŒã¹ããªãå Žåã¯é³æ¥œæ©èœãç ç²ã«ãã察å¿ããããŒãã®åªå é äœã 10 ãšäœãèšå®ããŠã¿ãŸãããã
çŽæµäºæ å šäœ
ããŒã¿ã»ã³ã¿ãŒå
šäœã«é害ãçºçããå¯èœæ§ãããã®ã¯ãªãã§ãã? èŠçŽ ã è¯ãæçš¿ã§ãã
ããã¯ã誰ã #alive ããã€ãŒãã§ããªãããã«ããããã«è¡ã£ãŠããããšã§ãã
æåã®æŠç¥ã¯å€ç«ã§ãã å XNUMX ã¯ã©ãŠã ã€ã³ã¹ã¿ã³ã¹ã¯åé¢ãããŠãããXNUMX ã€ã®ããŒã¿ ã»ã³ã¿ãŒã§ã®ã¿ãã·ã³ã管çã§ããŸãã ã€ãŸãããã°ããªãã¬ãŒã¿ãŒã®èª€ã£ãã³ãã³ãã«ããã¯ã©ãŠãã®æ倱ã¯ãããŒã¿ã»ã³ã¿ãŒã XNUMX ã€ã ã倱ãããããšã«ãªããŸãã ç§ãã¡ã¯ããã«å¯Ÿããæºåãã§ããŠããŸããç§ãã¡ã¯ãã¢ããªã±ãŒã·ã§ã³ãšããŒã¿ã®ã¬ããªã«ããã¹ãŠã®ããŒã¿ã»ã³ã¿ãŒã«é
眮ããåé·æ§ããªã·ãŒãæã£ãŠããŸãã åœç€Ÿã¯ãã©ãŒã«ããã¬ã©ã³ããªããŒã¿ããŒã¹ã䜿çšããå®æçã«é害ããã¹ãããŸãã
çŸåšãåœç€Ÿã«ã¯ XNUMX ã€ã®ããŒã¿ã»ã³ã¿ãŒããããŸããããã¯ãXNUMX ã€ã®ã¯ã©ãŠãã® XNUMX ã€ã®åå¥ã®å®å
šã«åé¢ãããã€ã³ã¹ã¿ã³ã¹ãæå³ããŸãã
ãã®ã¢ãããŒãã¯ãç©ççãªé害ããä¿è·ããã ãã§ãªãããªãã¬ãŒã¿ãŒã®ãšã©ãŒãããä¿è·ã§ããŸãã
人çèŠå ã«é¢ããŠä»ã«äœãã§ããã§ãããã? ãªãã¬ãŒã¿ãŒãã¯ã©ãŠãã«å¥åŠãªã³ãã³ãããŸãã¯æœåšçã«å±éºãªã³ãã³ããäžãããšãèªåãã©ãã ãããŸãèãããã確èªããããã«ãçªç¶å°ããªåé¡ã解決ããããã«æ±ããããããšããããŸãã ããšãã°ããããå€æ°ã®ã¬ããªã«ã®äœããã®äžæ¬åæ¢ã§ããå ŽåããŸãã¯åãªãå¥åŠãªã³ãã³ãã§ããå Žåãæ°ãããããã§ã¹ãã®ããŒãžã§ã³çªå·ã ãã§ãªããã¬ããªã«ã®æ°ãæžããããã€ã¡ãŒãžã®ååãå€æŽããŸãã
çµæ
ã¯ã³ã¯ã©ãŠãã®ç¹åŸŽ:
- ãµãŒãã¹ãšã³ã³ããã®éå±€çãã€èŠèŠçãªåœåã¹ããŒã ããã«ãããã¿ã¹ã¯ãäœã§ããããäœã«é¢é£ããŠããããã©ã®ããã«æ©èœãããã誰ããã®è²¬ä»»è ã§ããããããã«ç¥ãããšãã§ããŸãã
- ç§ãã¡ã¯ç§ãã¡ã® ãããã¯ããšããããçµã¿åãããææ³ãã·ã³å ±æã®å¹çãåäžãããããã«ãããªã³ã§ã¿ã¹ã¯ãå®è¡ããŸãã cpuset ã®ä»£ããã«ãCPU ã¯ã©ãŒã¿ãã·ã§ã¢ãCPU ã¹ã±ãžã¥ãŒã© ããªã·ãŒãããã³ Linux QoS ã䜿çšããŸãã
- åããã·ã³äžã§å®è¡ãããŠããã³ã³ãããå®å šã«åé¢ããããšã¯ã§ããŸããããçžäºã®åœ±é¿ã¯ 20% 以å ã«ãšã©ãŸããŸãã
- ãµãŒãã¹ãéå±€ã«ç·šæãããšã次ã䜿çšããèªåçœå®³åŸ©æ§ã«åœ¹ç«ã¡ãŸãã é 眮ãšããªãšã³ãã·ã§ã³ã®åªå é äœ.
ãããã質å
ãªãæ¢è£œã®ãœãªã¥ãŒã·ã§ã³ãæ¡çšããªãã£ãã®ã§ãããã?
- ã¿ã¹ã¯åé¢ã®ã¯ã©ã¹ãç°ãªããšããããªã³ã«é 眮ãããšãã«ç°ãªãããžãã¯ãå¿ èŠã«ãªããŸãã ãªãœãŒã¹ãäºçŽããã ãã§æ¬çªã¿ã¹ã¯ãé 眮ã§ããå Žåã¯ããããªã³ ãã·ã³äžã®ãªãœãŒã¹ã®å®éã®äœ¿çšç¶æ³ã远跡ããªãããããã ã¿ã¹ã¯ãšã¢ã€ãã« ã¿ã¹ã¯ãé 眮ããå¿ èŠããããŸãã
- 次ã®ãããªã¿ã¹ã¯ã«ãã£ãŠæ¶è²»ããããªãœãŒã¹ãèæ
®ããå¿
èŠããããŸãã
- ãããã¯ãŒã¯åž¯åå¹ ã
- ãã£ã¹ã¯ã®çš®é¡ãšãã¹ãã³ãã«ãã
- ç·æ¥å¯Ÿå¿äžã®ãµãŒãã¹ã®åªå é äœããªãœãŒã¹ã«å¯Ÿããã³ãã³ãã®æš©éãšå²ãåœãŠã瀺ãå¿ èŠããããŸãããããã¯ã¯ã³ã¯ã©ãŠãã®éå±€ãã¥ãŒã䜿çšããŠè§£æ±ºãããŸãã
- äºæ ãã€ã³ã·ãã³ããžã®å¯Ÿå¿æéãççž®ããããã«ãã³ã³ããã«äººéãååãä»ããå¿ èŠæ§
- Service Discovery ã XNUMX åéãã§åºç¯ã«å®è£ ããããšã¯äžå¯èœã§ãã ããŒããŠã§ã¢ ãã¹ãã§ãã¹ããããŠããã¿ã¹ã¯ãšé·æéå ±åããå¿ èŠããããŸããããã¯ãã³ã³ããã«ç¶ããéçãIP ã¢ãã¬ã¹ã«ãã£ãŠè§£æ±ºããããã®çµæã倧èŠæš¡ãªãããã¯ãŒã¯ ã€ã³ãã©ã¹ãã©ã¯ãã£ãšã®ç¬èªã®çµ±åãå¿ èŠã«ãªããŸãã
ããããã¹ãŠã®æ©èœã䜿çšããã«ã¯ãåœç€Ÿã«åãããŠæ¢åã®ãœãªã¥ãŒã·ã§ã³ãå€§å¹ ã«å€æŽããå¿ èŠããããŸãããäœæ¥éãè©äŸ¡ããçµæãã»ãŒåã人件費ã§ç¬èªã®ãœãªã¥ãŒã·ã§ã³ãéçºã§ããããšãããããŸããã ãã ãããœãªã¥ãŒã·ã§ã³ã®æäœãšéçºã¯ã¯ããã«ç°¡åã«ãªããŸããå¿ èŠã®ãªãæ©èœããµããŒãããäžå¿ èŠãªæœè±¡åãå«ãŸããŠããŸããã
æåŸãŸã§èªãã§ãã ãã£ãçæ§ãå¿èãšæ³šç®ãããããšãããããŸãã!
åºæïŒ habr.com