-
100%ã®æé å©çšå¯èœãªãµãŒãã¹ã¯ãªã
- é æ ®ã®ãªãã¯ã©ã€ã¢ã³ã
- 50åã®èŠæ±
- ïŒèš³æ³š: äžèš2ã€ã¯Pokemon Goã®ããšã§ãããïŒ
- ã¹ã©ãã£ãã¯ã®ã¹ãã€ã¯
- æµ·åºã±ãŒãã«ã®åæ
-
ç§éã®ãµãŒãã¹ã«äŸåãããŠãŒã¶ãŒããã
- å¯èœãªéãä¿¡é Œæ§ãé«ããã«ã¯ã©ãããã°ããã®ãïŒ
-
ãã®11ç« ã§ã¯Googleã®ãã©ãã£ãã¯ç®¡çæ¹æ³ã«ã€ããŠèª¬æ
- é·å¹Žã®éçšã®çµæãåäžã®è§£æ±ºçã¯ååšããªãããšãåãã£ã
- ãã®ä»£ãã«è€æ°ã®ããŒã«ãæè¡ãæŠç¥ãããŸãçµã¿åãããŠãµãŒãã¹ã®ä¿¡é Œæ§ãä¿ã£ãŠãã
- ãã®ç« ãèªãåã«ãåSREæ¬ã®19ç« ãš20ç« ã§èª¬æããèãæ¹ãèªãããšããå§ã
-
ïŒèš³æ³š: ååã¯Googleã®ããŒããã©ã³ãµã®ä»çµã¿ã説æããŠããããã®éšåã¯çŽæ¥SREã«åœ¹ç«ã€ïŒ
- æè¿ã®å€ãã®äŒæ¥ã¯èªç€Ÿã§ç¬èªã®ããŒããã©ã³ãµãéçºã»ã¡ã³ãããŠããªã
- 倧æã¯ã©ãŠããããã€ããŒã®ãã®ã䜿ãããšãéžæããŠãã
- ããã§ã¯Googleã®GCLB(Google Cloud Load Balancing)ã«ã€ããŠèª¬æ
- 玹ä»ãããã¹ããã©ã¯ãã£ã¹ã¯ä»ã®ã¯ã©ãŠããããã€ããŒã®ãã®ã§ãé©çšå¯èœ
- 18幎éã«æž¡ãããµãŒãã¹ãé«éãã€ä¿¡é Œæ§ã®é«ããã®ã«ããããã®ã€ã³ãã©ãæ§ç¯ããŠãã
- YouTube, Googleããã, Gmail, Googleæ€çŽ¢ çã ã§ãããã®ã·ã¹ãã ã䜿çšããŠãã
- GCLBã¯ç€Ÿå ã§éçºããã·ã¹ãã ãå€éšåãã«å ¬éãããã®ã®äžã€
- DNSããŒããã©ã³ã·ã³ã°
- åSREæ¬ã®19ç« ã§ã¯ãDNSããŒã¹ã®è² è·åæ£ãããŠãŒã¶ãŒã®æ¥ç¶ãéå§ããåã«è² è·ãåæ£ããã·ã³ãã«ãã€å¹æçãªæ¹æ³ãšããŠèª¬æ
- åºæã®åé¡ãšããŠãDNSã¬ã³ãŒããããŸãæéåãã«ããŠåååŸããã«ã¯ã¯ã©ã€ã¢ã³ãåŽãšã®ååã«åºã¥ããŠããŸã
- GCLBã§ã¯ãã®åé¡ã®ããDNSããŒããã©ã³ã·ã³ã°ã䜿çšããªã
- 代ããã«ãšããŒãã£ã¹ãã䜿çš
- åSREæ¬ã®19ç« ã§ã¯ãDNSããŒã¹ã®è² è·åæ£ãããŠãŒã¶ãŒã®æ¥ç¶ãéå§ããåã«è² è·ãåæ£ããã·ã³ãã«ãã€å¹æçãªæ¹æ³ãšããŠèª¬æ
- ãšããŒãã£ã¹ã
- DNSã®å°çæ å ±ã«é Œããã«ãæãè¿ãã¯ã©ã¹ã¿ãžéä¿¡ããæ¹æ³
- GCLBã¯ã¯ã©ã€ã¢ã³ãã®å Žæãç¥ã£ãŠããŠãæãè¿ãWebãµãŒãã¹ãžãã±ããã転éãã
- åäžã®VIPïŒä»®æ³IPïŒã䜿çšããªããäœã¬ã€ãã³ã·
- åäžã®VIPã¯DNSã¬ã³ãŒãã®TTLãé·ãããããšãã§ããã¬ã€ãã³ã·ãããã«äœãã§ãã
-
ãšããŒãã£ã¹ã
- ãããã¯ãŒã¯ã¢ãã¬ã¹æå®ãšã«ãŒãã£ã³ã°ã®æ¹æ³
- åäžã®éä¿¡è
ããã®ããŒã¿ã°ã©ã ããããããžçã«æãè¿ãããŒããžã«ãŒãã£ã³ã°ãã
- å šãŠåãå®å IPã¢ãã¬ã¹ãšããŠèå¥ããã
- Googleã¯ãã®IPã¢ãã¬ã¹ãGoogleã®ãããã¯ãŒã¯å è€æ°ã®å°ç¹ããBGPçµç±ã§ã¢ããŠã³ã¹ããŠãã
- ãŠãŒã¶ãŒããæãè¿ãããã³ããšã³ããžãã±ãããäŒéããã®ã«BGPã«ãŒãã£ã³ã°ã¡ãã·ã¥ã䜿çšããŠãã
- ããã³ããšã³ãã§ã¯TCPã»ãã·ã§ã³ãçµããããããšãã§ãã
- 以äžã®2ã€ã®åé¡ã解決ã§ãã
- ãŠããã£ã¹ãIPã®æ¥å¢
- ãŠãŒã¶ãŒã«æãè¿ãããã³ããšã³ãã®çºèŠ
- ããã2ã€ã®å€§ããªåé¡ãæ®ã£ãŠãã
- è¿ãã®ãŠãŒã¶ãŒãå€ãããéã«ãããã³ããšã³ããéè² è·ã«ããŠããŸãå¯èœæ§
- BGPã«ãŒãèšç®ã«ãã£ãŠã³ãã¯ã·ã§ã³ããªã»ãããããå¯èœæ§
- äŸãã°é »ç¹ã«BGPã«ãŒããåèšç®ããISPããããš...
- äŸãã°ã2ã€ã®ããã³ããšã³ããµã€ãã®å ã1ãŠãŒã¶ãŒã«ã€ããŠã©ã¡ããã®ããã³ããšã³ããåªå ããããã
- BGPã«ãŒããããã©ããããã床ã«ãéä¿¡éäžã®TCPã¹ããªãŒã ããªã»ãããããŠããŸã
- TCPã»ãã·ã§ã³ç¶æ ãç¡ãç¶æ ã§æ°ããããã³ããšã³ãã«è»¢éããããã
- ïŒèš³æ³š: åè Qiita - TCPã®ç¶æ é·ç§» ïŒ
- ãããã®åé¡ã«å¯ŸåŠããããã«ãGoogleã§ã¯åŸã«èª¬æããMaglevã䜿çš
- ã³ãã¯ã·ã§ã³ã¬ãã«ã®ããŒããã©ã³ãµ
- ã«ãŒããã©ãããèµ·ããŠãTCPã¹ããªãŒã ã¯äžè²«ããŠç¶ã
- ãã®ææ³ã Stabilized ãšããŒãã£ã¹ã ãšåŒãã§ãã
-
ïŒèš³æ³š: åè IP anycastã«ã€ã㊠é 匵ãIP anycastïŒ
- Googleã¯ç¬èªã®ããŒããã©ã³ãµã§ããMaglevã䜿çšããŠstabilizedãšããŒãã£ã¹ããå®è£
- ïŒå³11-1ãåç §ïŒ
- ãšããŒãã£ã¹ããå®å®åããã
- åMaglevãã·ã³ã«å¯ŸããŠãã¯ã©ã€ã¢ã³ãIPã¢ãã¬ã¹ãæãè¿ãGoogleããã³ããšã³ããµã€ããžãšãããã³ã°ãããæ¹æ³ãæäŸ
- Maglevã¯ãšããŒãã£ã¹ãVIPå®ãŠã®ãã±ããã«ã€ããŠãä»ã®ããã³ããšã³ããµã€ãã«è¿ãã¯ã©ã€ã¢ã³ãã®å Žå
- Maglevã¯ãã®ãã±ããããããè¿ãããã³ããšã³ããµã€ãã®å¥ã®Maglevãžãšè»¢éãã
- æãè¿ãããã³ããšã³ããµã€ãã®Maglevãã·ã³ã¯ãã®ãã±ãããéåžžã®ãã±ãããšåãããã«æ±ããããŒã«ã«ã®ããã¯ãšã³ããžãšã«ãŒãã£ã³ã°ãã
-
Maglevã¯Googleç¬èªã®åæ£åãã±ããã¬ãã«ããŒããã©ã³ãµ
- ïŒå³11-2ãåç §ïŒ
- ã¯ã©ã¹ã¿ã®åä¿¡ãã©ãã£ãã¯ã管ç
- ããã³ããšã³ããµãŒããŒã«å¯ŸããŠã¹ããŒããã«ãªTCPã¬ãã«ã®ããŒããã©ã³ã·ã³ã°ãæäŸ
-
ããã€ãã®ç¹ã§åŸæ¥ã®ããŒããŠã§ã¢ããŒããã©ã³ãµãšç°ãªã
-
ç¹å®ã®IPã¢ãã¬ã¹å®ã®å šãã±ããã¯ãECMPçµç±ã§Maglevãã·ã³ããŒã«å šäœã«åçã«åæ£å¯èœ
- ããŒã«ã«ãµãŒããŒãè¿œå ããã ãã§Maglevã®å®¹éãå¢ããããšãã§ãã
- ãã±ããã®åæ£ã«ããMaglevã®åé·æ§ãN+1ãšããŠã¢ãã«åããããšãå¯èœã«ãªããå¯çšæ§ãšä¿¡é Œæ§ãåŸæ¥ãããåäžãã
- åé·æ§ã«ã€ããŠãN+1ã¯äºåã®æ©åšã1åããç¶æ ã2Nã¯ã¢ã¯ãã£ãæ©ãšã¹ã¿ã³ãã€æ©ãåãæ°ããç¶æ
-
Googleç¬èªã®ãœãªã¥ãŒã·ã§ã³ãªã®ã§ããšã³ãããŒãšã³ãã§å¶åŸ¡å¯èœã§ãè¿ éã«å®éšã®PDCAãåãã
-
Googleã®iDCäžã®ã³ã¢ãã£ãã£ããŒããŠã§ã¢äžã§çšŒåããŠããããããã€ãéåžžã«ã·ã³ãã«ã«ãªã
-
-
Maglevã§ã¯ã³ã³ã·ã¹ãã³ãããã·ã¥æ³ãšã³ãã¯ã·ã§ã³ãã©ããã³ã°ããã±ããé ä¿¡ã«äœ¿çš
- TCPã»ãã·ã§ã³ãçµäºãããHTTPãªããŒã¹ãããã·ïŒ= GFS | Google Front EndsïŒã§TCPã¹ããªãŒã ãçµåããã
- Maglevã¯ãã±ããåäœïŒâ æ¥ç¶æ°ïŒã§ã¹ã±ãŒã«ããããã³ã³ã·ã¹ãã³ãããã·ã¥æ³ãšã³ãã¯ã·ã§ã³ãã©ããã³ã°ãéèŠ
- ã«ãŒã¿ãŒã¯ãMaglevã®VIPå®ãŠã®ãã±ãããåä¿¡ãããšããã®ãã±ãããECMPçµç±ã§ã¯ã©ã¹ã¿å
ã®Maglevãã·ã³ãžè»¢éãã
- Maglevã¯ãã±ãããåä¿¡ãããšããã±ããã®5ã¿ãã« ããã·ã¥1ã®ããã·ã¥å€ãã³ãã¯ã·ã§ã³ãã©ããã³ã°ããŒãã«ã§ã«ãã¯ã¢ãããã
- 5ã¿ãã«ã¯ IPãããäžã® SourceIP, SourcePort, DestinationIP, DestinationPort, ãããã³ã«, ã®5ã€ã®èŠçŽ
- ã³ãã¯ã·ã§ã³ãã©ããã³ã°ããŒãã«ã«ã¯æè¿ã®æ¥ç¶ã«ãŒãã£ã³ã°çµæãå«ãŸããŠãã
- ãããããããçµæãããããã®ããã¯ãšã³ããµãŒãã¹ãæ£åžžã§ããã°ãã®æ¥ç¶ãåå©çšãã
- ãã以å€ã®å Žåã¯ã³ã³ã·ã¹ãã³ãããã·ã¥æ³ã§éžæããããã¯ãšã³ããžãã©ãŒã«ããã¯ãã
- Maglevã¯ãã±ãããåä¿¡ãããšããã±ããã®5ã¿ãã« ããã·ã¥1ã®ããã·ã¥å€ãã³ãã¯ã·ã§ã³ãã©ããã³ã°ããŒãã«ã§ã«ãã¯ã¢ãããã
- ãããã®ææ³ã«ãã£ãŠåã ã®Maglevéã§æ¥ç¶ç¶æ ãå ±æããå¿ èŠããªããªã
-
ïŒèš³æ³šïŒ
- ã³ã³ã·ã¹ãã³ãããã·ã¥ã»ECMPã®åè
- ã³ãã¯ã·ã§ã³ãã©ããã³ã°ã®ã€ã¡ãŒãž Maglev: A Fast and Reliable Software Network Load Balancer
- GSLB
- Googleã®ã°ããŒãã«ãœãããŠã§ã¢ããŒããã©ã³ãµ
- ãµãŒãã¹ã®ãã£ãã·ãã£ã«åãããŠãã¯ã©ã¹ã¿éã§ã©ã€ããŠãŒã¶ãŒã®ãã©ãã£ãã¯ã®ãã©ã³ã·ã³ã°ãè¡ãããšãã§ãã
- ãŠãŒã¶ãŒã«ã¯ééçãªã®ã§ããµãŒãã¹é害ã«å¯Ÿå¿å¯èœ
- GFEãžã®æ¥ç¶ãšããã¯ãšã³ããµãŒãã¹ãžã®ãªã¯ãšã¹ãã®äž¡æ¹ãå¶åŸ¡ãã
- ïŒå³11-3ãåç §ïŒ
- ããã³ããšã³ããšããã¯ãšã³ãéã®è² è·åæ£ã ãã§ã¯ãªãããµãŒãã¹ã®å¥å
šæ§ãç解ããŠãã
- é害æã«ã¯èªåã§ãã®ã¯ã©ã¹ã¿ãããã©ãã£ãã¯ãéãã
- ïŒèš³æ³šïŒ
- å瀟LBã®æ¯èŒ: ããŒããã©ã³ãµã®ã¢ãŒããã¯ãã£ãããã
- GFE
- Googleã®ãµãŒãã¹ïŒGmail, Webæ€çŽ¢çïŒãšå€éšãšã®éã«ååšãã
- 倧æµã®å Žåãã¯ã©ã€ã¢ã³ãã®HTTP(S)ã®èŠæ±ãæåã«åãä»ããGoogleã®ãµãŒããŒ
- ïŒå³11-4ãåç §ïŒ
- ã¯ã©ã€ã¢ã³ãã®TCP, SSLã®ã»ãã·ã§ã³ãçµäºããã
- HTTPããããŒãšURLãã¹ããã§ãã¯ããŠã©ã®ããã¯ãšã³ããµãŒãã¹ãé©åããå€æãã
- ããã¯ãšã³ãã®ãã«ã¹ãã§ãã¯ãæ
åœããŠãã
- ãã¬ãã£ããªå¿çïŒ"NACKs"ïŒãã¿ã€ã ã¢ãŠãã«ãªã£ãããã¯ãšã³ãã«ã¯ããã©ãã£ãã¯ãéä¿¡ããã®ãæ¢ãã
- ãŠãŒã¶ãŒããã®ãªã¯ãšã¹ããæ¢ããããšãªããGFEããã¯ãšã³ãããµãŒãã¹ããé©åã«åé€ã§ãã
- "lame duck" ã¢ãŒã
- ïŒæå®ããŒãã§ãªãã¹ã³ããŠããæ©èœãããããªã¯ãšã¹ãéä¿¡ãæ¢ããããã«ã¯ã©ã€ã¢ã³ãã«æ瀺çã«èŠæ±ããŠããç¶æ ïŒ
- çŽè¿ã§ã¢ã¯ãã£ããªããã¯ãšã³ããžã®æ°žç¶ã»ãã·ã§ã³ãç¶æããŠãã
- ãªã¯ãšã¹ããå°çãããšããã«æ¥ç¶ãå©çšå¯èœ
- ç¹ã«GFEãšããã¯ãšã³ãéã§SSLã䜿çšããŠããå Žåã¯ã¬ã€ãã³ã·ãæžããããšãã§ãã
- Googleã®ãµãŒãã¹ïŒGmail, Webæ€çŽ¢çïŒãšå€éšãšã®éã«ååšãã
- Googleã®ãããã¯ãŒã¯æŠç¥ã§ã¯ãšã³ããŠãŒã¶ãŒã®ã¬ã€ãã³ã·ãæžããããšãç®æšã«ããŠãã
- HTTPSçµç±ã§ã®ã»ãã¥ã¢ãªæ¥ç¶ãè¡ãã«ã¯ã¯ã©ã€ã¢ã³ããšãµãŒããŒéã§2åŸåŸ©ã®ãããã¯ãŒã¯ããªãããå¿
èŠ
- ïŒèš³æ³š: TLS1.2以äžã®å Žåã¯2åŸåŸ©, TLS1.3ã§ã¯1åŸåŸ©ã«ãªããããïŒ
- ãã®ããããšããžãããã¯ãŒã¯ãæ¡åŒµããMaglevãšGFEããã¹ãããããã«ãã
- ãŠãŒã¶ãŒã«ã§ããã ãè¿ããšããã§SSLãçµäºãããåæå·åããŠãããã¯ãŒã¯ã®å¥¥ã«ããããã¯ãšã³ããµãŒãã¹ãžè»¢é
- HTTPSçµç±ã§ã®ã»ãã¥ã¢ãªæ¥ç¶ãè¡ãã«ã¯ã¯ã©ã€ã¢ã³ããšãµãŒããŒéã§2åŸåŸ©ã®ãããã¯ãŒã¯ããªãããå¿
èŠ
- GCLB
- Maglev/GFEã§æ¡åŒµããããšããžãããã¯ãŒã¯ã®äžã«æ§ç¯ãã
- 顧客ãããŒããã©ã³ãµãäœæããéã«ã¯ããšããžãããã¯ãŒã¯äžã®GFEéã§ã°ããŒãã«ã«è² è·åæ£ããããã«ãšããŒãã£ã¹ãVIPãšMaglevãé 眮ããŠãã
- GFEã®åœ¹å²
- SSLãçµäºããã
- HTTPãªã¯ãšã¹ããåãä»ããŠãããã¡ã«å ¥ãã
- ãªã¯ãšã¹ãã顧客ã®ããã¯ãšã³ããµãŒãã¹ãžè»¢éãããŠãŒã¶ãŒãžã¬ã¹ãã³ã¹ãæ»ãããã«ãããã·ãã
- GSLBã¯åã¬ã€ã€éã®æ¥çå€ãšãªã
- ãã®ãããã§Maglevã¯ãå©çšå¯èœãªãã£ãã·ãã£ããã£ãŠæãè¿ãGFEã®ãã±ãŒã·ã§ã³ãåãã
- GFEã¯ãå©çšå¯èœãªãã£ãã·ãã£ããã£ãŠæãè¿ãVMã€ã³ã¹ã¿ã³ã¹ã°ã«ãŒããžãªã¯ãšã¹ããã«ãŒãã£ã³ã°ã§ãã
- GCLBã¯99.99%ã®SLAã®é«ãå¯çšæ§ãæäŸããŠãã
- 䟿å©ãªãµããŒãããŒã«ãæäŸ
- ããŒããã©ã³ãµããã©ãã£ãã¯ç®¡çã·ã¹ãã ãšèãããšäŸ¿å©
- GCLBã¯å©çšå¯èœãªãã£ãã·ãã£ãããæãè¿ãããã¯ãšã³ããžã«ãŒãã£ã³ã°ãã
- ãµãŒãã¹äžã«å€±æããã€ã³ã¹ã¿ã³ã¹ãããå Žåã«ã¯ãGCLBã¯ãã®å€±æãæ€ç¥ãæ£åžžãªã€ã³ã¹ã¿ã³ã¹ãžãšã«ãŒãã£ã³ã°ãã
- ã«ããªã¢ãªãªãŒã¹ãšæ®µéçããŒã«ã¢ãŠã
- ã«ããªã¢ãªãªãŒã¹
- 極å°æ°ã®ãµãŒããŒã«ãããã€ããŠããåŸã ã«ãã©ãã£ãã¯ãå¢ãããŠãããã·ã¹ãã ã®åäœãç£èŠããŠæªç¥ã®ãã°ãåºãŠããªãã確èªãã
- æ°ããŒãžã§ã³ãã¯ã©ãã·ã¥ããããã«ã¹ãã§ãã¯ã«å€±æããŠããå Žåã¯ãããŒããã©ã³ãµã¯ãã®ããŒãžã§ã³ã䜿ããªã
- 軜埮ãªãã°ã®å Žåã§ããããŒããã©ã³ãµãããã®ã€ã³ã¹ã¿ã³ã¹ã°ã«ãŒããåé€å¯èœ
- PokeÌmon GO
- Nianticã2016幎å€ã«ããŒã³ã
- ããŒã³ãåã«ãã©ãã£ãã¯èŠç©ããã®5åãŸã§ã¯è² è·ãã¹ããããŠãã
- å®éã®RPS(Request per sec)ã¯èŠç©ããã®50åã ã£ã
- Nianticã®ãšã³ãžãã¢ãªã³ã°ããŒã ã®åªåãšGoogleå šäœã®æŽå©ã«ãã£ãŠã¹ã±ãŒã«ã§ãã
- GCLBã«ç§»è¡åŸããã±ã¢ã³GOã¯ä»ã®ããã10GCLBãµãŒãã¹ãšåçèŠæš¡ã§ãæ倧ã®åäžGCLBãµãŒãã¹ãšãªã£ã
- NLBæ代
- Googleã®ãªãŒãžã§ãã«ããŒããã©ã³ãµ
- ïŒå³11-5åç §ïŒ
- NLBã䜿çšããŠKubernetesã¯ã©ã¹ã¿å šäœã®åä¿¡ãã©ãã£ãã¯ãããŒããã©ã³ã·ã³ã°ããŠãã
- åã¯ã©ã¹ã¿ã«ã¯Nginxã®ãããããã
- SSLã®çµäº, HTTPãªã¯ãšã¹ãã®ãããã¡ãªã³ã°ãL7ãªããŒã¹ãããã·ãšããŠåäœ
- NLBã¯IPå±€ã§ã®ããŒããã©ã³ã·ã³ã°ãæ åœãããããNLBã«ããŸãããããããµãŒãã¹ã¯Maglevã®ããã¯ãšã³ãã«ãªããã®
- ãã±ã¢ã³GOã§ã¯æ¬¡ã®3ã€ã®åœ±é¿ããã£ã
- NginxãSSLãçµäºããã責任ããããããã¯ã©ã€ã¢ã³ãããNginxãŸã§ã®2åã®ã©ãŠã³ãããªãããå¿ èŠãšãªã
- ã¯ã©ã€ã¢ã³ãããã®HTTPãªã¯ãšã¹ãããããã¡ããå¿ èŠããããç¹ã«ã¯ã©ã€ã¢ã³ãã®éä¿¡é床ãé ãå Žåã«ãããã·å±€ã§ãªãœãŒã¹ãæ¯æžããŠããã
- SYNãã©ããã®ãããªäœã¬ãã«ã®ãããã¯ãŒã¯æ»æã«å¯ŸããŠããã±ããã¬ãã«ã®ãããã·ã§ã¯ããŸã察åŠã§ããªãã£ã
- ããŸãã¹ã±ãŒã«ãããããã«ã¯å€§èŠæš¡ãªãšããžãããã¯ãŒã¯äžã§åäœããé«ã¬ãã«ã®ãããã·ãå¿
èŠ
- NLBã§ã¯ããã¯äžå¯èœ
- NLBããGCLBãž
- 倧èŠæš¡ãªSYNãã©ãããåå ã§GCLBãžã®ç§»è¡ã®åªå 床ãé«ããªã£ã
- NianticãšGoogle CREããŒã , SREããŒã ã®å ±åäœæ¥
- æåã®ç§»è¡ã¯ããŒã¯ã§ã¯ãªãæã«è¡ãããç¹ã«äœããªãã£ã
- ããããã©ãã£ãã¯ãããŒã¯ã«éããã«ã€ããNianticãšGoogleã«äºæãã¬åé¡ãçºçãã
- ãã±ã¢ã³GOã®å®éã®ã¯ã©ã€ã¢ã³ãã®ãªã¯ãšã¹ãã¯ãããŸã§ã«ææ¡ããŠããããã200%é«ãã£ã
- Nianticã®ããã³ããšã³ããããã·ã¯éåžžã«å€ãã®ãªã¯ãšã¹ããåä¿¡ããããã§ãå šãŠã®åä¿¡æ¥ç¶ãæããããªãã£ã
- æåŠãããæ¥ç¶ã¯åä¿¡ãªã¯ãšã¹ãã®ç£èŠã«ã¯çŸãããããã¯ãšã³ããŸã§å°éããªãã£ã
- ãã®ãã©ãã£ãã¯ã®æ¥å¢ã®ããã§ãããã€ãã®é害ãçºçãã
- ã¯ã©ãŠãããŒã¿ã¹ãã¢ããã±ã¢ã³GOã®ããã¯ãšã³ããããŒããã©ã³ãµã¯Nianticã®ã¯ã©ãŠããããžã§ã¯ãã®ãã£ãã·ãã£ãè¶ ãã
- éè² è·ã«ãããNianticã®ããã¯ãšã³ãã¯ãªã¯ãšã¹ããæåŠããã«æ¥µç«¯ã«é ããªã£ããããããŒããã©ã³ãµå±€ã§ã¿ã€ã ã¢ãŠããã
- ãã®ç¶æ³ã§ããŒããã©ã³ãµã¯GETãªã¯ãšã¹ããåè©Šè¡ãããããã·ã¹ãã è² è·ãå¢å ããã
- è¶ å€§éã®ãªã¯ãšã¹ããšåè©Šè¡ã®çµã¿åããã«ãã£ãŠãGFEã®SSLã¯ã©ã€ã¢ã³ãã³ãŒãã«ãããŸã§ã«ãªãã¬ãã«ã§è² è·ãããããç¡å¿çã®ããã¯ãšã³ãã«åæ¥ç¶ãããããšããŠãã
- ãã®ããã§GFEã®ããã©ãŒãã³ã¹ãäœäžããGCLBã®äžçå šäœã®ãã£ãã·ãã£ãå®è³ªçã«50%èœã¡ã
- ã¯ã©ã€ã¢ã³ãã®åè©Šè¡
- ãã±ã¢ã³GOã¢ããªã¯å€±æãããªã¯ãšã¹ãããŠãŒã¶ãŒã®ä»£ããã«åè©Šè¡ããŠãã
- ããã«1ååè©Šè¡ãããã®åŸã«äžå®ã®ããã¯ãªããšãšãã«åè©Šè¡
- ãµãŒãã¹åæ¢ç¶æ
ãç¶ããšããµãŒãã¹ãã倧éã®ã¯ã€ãã¯ãšã©ãŒãè¿åŽããã
- äŸ: å ±æããã¯ãšã³ãã®åèµ·åæ
- ãããã®ãšã©ãŒã®ããã§ã¯ã©ã€ã¢ã³ãã®åè©Šè¡ãåæããŠããŸã
- Thundering Herdåé¡ãåŒãèµ·ãã
- åæãªã¯ãšã¹ãã®ã¹ãã€ã¯ã«ãã£ãŠãã°ããŒãã«RPSã®ããŒã¯ã¯20åãŸã§æ¥æ¿ã«å¢å ãã
- ïŒå³11-6åç §ïŒ
- ãã±ã¢ã³GOã¢ããªã¯å€±æãããªã¯ãšã¹ãããŠãŒã¶ãŒã®ä»£ããã«åè©Šè¡ããŠãã
- ãªã¯ãšã¹ãã®ã¹ãã€ã¯ãšGFEãã£ãã·ãã£ã®äœäžã«ãã£ãŠãå šãŠã®GCLBãµãŒãã¹ããã¥ãŒã€ã³ã°ãšé·ãã¬ã€ãã³ã·ãããããã
- ãªã³ã³ãŒã«ã®ãã©ãã£ãã¯æ
åœSREããŒã ã¯ã次ã®æ¹æ³ã§ä»ã®GCLBãŠãŒã¶ãŒã®è¢«å®³ã軜æžãã
- ã¡ã€ã³ã®ããŒããã©ã³ãµããŒã«ããGFEãéé¢ããããã±ã¢ã³GOã®ãã©ãã£ãã¯ãåŠçããããã«ãã
- ããŒã¯æã®ãã©ãã£ãã¯ããã°ããããã«ãªããŸã§ãããã©ãŒãã³ã¹äœäžãèµ·ããŠãéé¢ããããã±ã¢ã³GOããŒã«ãæ¡å€§ãã
- ãã£ãã·ãã£ã®ããã«ããã¯ã¯GFEããNianticåŽãžãšç§»å
- ãµãŒããŒã¯ãŸã ã¿ã€ã ã¢ãŠãããŠãããç¹ã«ã¯ã©ã€ã¢ã³ãã®åè©Šè¡ãåæçºçãã¹ãã€ã¯ãå§ããæ
- ãã©ãã£ãã¯æ
åœSREã¯ããã±ã¢ã³GOã®ä»£ããã«ããŒããã©ã³ãµãåãããã©ãã£ãã¯ã®ã¬ãŒããªããããç¡å¹åãã管çæ©èœãå®è£
ãã
- Nianticãéåžžã®ãªãã¬ãŒã·ã§ã³ãå確ç«ããã¹ã±ãŒã«ãéå§ããã®ã«ååãªã¯ã©ã€ã¢ã³ãã®èŠæ±ãå«ãŸããŠãã
- æçµçãªNWæ§æã¯å³11-7ã®éã
- GoogleãšNianticã¯ã·ã¹ãã ã«å€§ããªå€æŽãå ãã
- Nianticã¯ãžãã¿ãŒãšåãæšãŠåææ°ããã¯ãªããå°å
¥ãã
- åæãªã¯ãšã¹ãã¹ãã€ã¯ãæå¶
- Googleã¯GFEããã¯ãšã³ããè² è·ã®åå ãšãªãããããšãããåŠãã
- é ãã£ããäžæ£ãªåäœãããããã¯ãšã³ãã®ããã«ããGFEã®ããã©ãŒãã³ã¹äœäžãæ€åºããããã®è³æ Œãšè² è·ãã¹ããã©ã¯ãã£ã¹ãå¶å®ãã
- Nianticã¯ãžãã¿ãŒãšåãæšãŠåææ°ããã¯ãªããå°å
¥ãã
- ã¯ã©ã€ã¢ã³ãã«ã§ããã ãè¿ããšããã§è² è·ã枬å®ããå¿
èŠæ§ã«æ°ã¥ãã
- ããNianticãšGoogleCREãã¯ã©ã€ã¢ã³ãã®RPSèŠæ±ãæ£ç¢ºã«èŠç©ããããšãã§ããŠããã...
- GCLBãžã®åãæ¿ããè¡ãåã«ãNianticã®å²åœãªãœãŒã¹ãåãã£ãŠã¹ã±ãŒã«ã¢ãããããŠããã¯ã
- ãªãŒãã¹ã±ãŒã«
- ã¹ã±ãŒã«ã¢ããïŒåçŽã¹ã±ãŒã«ïŒã§ãã¹ã±ãŒã«ã¢ãŠãïŒæ°Žå¹³ã¹ã±ãŒã«ïŒã§ãæ£ãã䜿ãã°å¯çšæ§ãé«ããäºãã§ãã
- èšå®ãã¹ã䜿ãæ¹ãééãããšæªåœ±é¿ã«ãªãå Žåããã
- 以éã§ã¯ãã¹ããã©ã¯ãã£ã¹ããããã¡ãªå€±æã¢ãŒããçŸåšã®ãªãŒãã¹ã±ãŒãªã³ã°ã®å¶éã«ã€ããŠèª¬æ
-
ãªãŒãã¹ã±ãŒã«ã¯å šã€ã³ã¹ã¿ã³ã¹ã®äœ¿çšçãå¹³åããå šã€ã³ã¹ã¿ã³ã¹ãåãåŠçèœåããããã®ãšããŠæ±ã
- æ£åžžã§ãªããã·ã³ã®äœ¿çšçãå¹³åã«å«ãŸãã
- ãã®å Žåã«ã¯ãªãŒãã¹ã±ãŒã«ãè¡ãããªãå¯èœæ§ãã
- 以äžã®åé¡ãé害ã¢ãŒããåŒãèµ·ããå¯èœæ§ãã
- èµ·ååŸã®æºåã«é·æéãããã€ã³ã¹ã¿ã³ã¹ïŒãŠã©ãŒã ã¢ããããã€ããªããŒãçïŒ
- åŠçå¯èœã§ã¯ãªãç¶æ ïŒãŸã³ãç¶æ ïŒã§ãã£ãšèµ·åããŠããŸã£ãŠãã
- 以äžã®ææ³ããã®ãŸãŸäœ¿ã£ããçµã¿åããããããŠæ¹åå¯èœ
- æ£åžžã§ãªããã·ã³ã®äœ¿çšçãå¹³åã«å«ãŸãã
-
ããŒããã©ã³ã·ã³ã°
- ããŒããã©ã³ãµã«ãã£ãŠèšæž¬ããããã£ãã·ãã£ã®ã¡ããªã¯ã¹ã䜿çšãããªãŒãã¹ã±ãŒã«
- ããã«ãã£ãŠæ£åžžã§ã¯ãªãã€ã³ã¹ã¿ã³ã¹ã®åã®ãã£ãã·ãã£ã¯å¹³åå€ããé€å€ããã
-
æ°ããã€ã³ã¹ã¿ã³ã¹ãå®å®åããã®ãåŸ ã£ãŠãããã¡ããªã¯ã¹ãååŸãã
- ãªãŒãã¹ã±ãŒã«ã·ã¹ãã ããæ°ã€ã³ã¹ã¿ã³ã¹ãæ£åžžç¶æ
ã«ãªã£ãŠããã¡ããªã¯ã¹ãååŸããããã«èšå®ãã
- GCE(Google Compute Engine)ã§ã¯ãã®æ£åžžã§ã¯ãªãç¶æ ãã¯ãŒã«ããŠã³æéãšåŒãã§ãã
- ãªãŒãã¹ã±ãŒã«ã·ã¹ãã ããæ°ã€ã³ã¹ã¿ã³ã¹ãæ£åžžç¶æ
ã«ãªã£ãŠããã¡ããªã¯ã¹ãååŸããããã«èšå®ãã
-
ãªãŒãã¹ã±ãŒã«ãšãªãŒãããŒã«
- ãªãŒãããŒã«ã¯ã€ã³ã¹ã¿ã³ã¹ãç£èŠããæ£åžžã§ã¯ãªãå Žåã«åèµ·åãè©Šã¿ã
- éåžžããªãŒãããŒã«ã·ã¹ãã ã«ãã£ãŠã€ã³ã¹ã¿ã³ã¹ãå
¬éããŠãããã«ã¹ã¡ããªã¯ã¹ãç£èŠããããã«èšå®ãã
- ãªãŒãããŒã«ã·ã¹ãã ã¯ãã€ã³ã¹ã¿ã³ã¹ãåæ¢ããŠãããç°åžžã ãšæ€åºãããšåèµ·åãè©Šã¿ã
- åèµ·ååŸã«ã€ã³ã¹ã¿ã³ã¹ãæ£åžžãªç¶æ ã«ãªãã®ã«ååãªæéãäžããã®ãéèŠ
-
äžèšã®ææ³ãçµã¿åããããšãæ°Žå¹³ãªãŒãã¹ã±ãŒã«ãæé©åããŠæ£åžžãªãã·ã³ã®ã¿ãã©ããã³ã°ã§ãã
- ãªãŒãã¹ã±ãŒã«ã·ã¹ãã ã¯ããµãŒãã¹ã®ã€ã³ã¹ã¿ã³ã¹æ°ãç¶ç¶çã«èª¿æŽãç¶ãã
- æ°ããã€ã³ã¹ã¿ã³ã¹ãäœæããããšã¯ãããªã«æ©ãã¯ã§ããªã
- ã¹ããŒããã«ã·ã¹ãã
- åäžã®ãŠãŒã¶ãŒã»ãã·ã§ã³ã®å
šãŠã®ãªã¯ãšã¹ããåäžã®ããã¯ãšã³ããµãŒããŒãžéä¿¡ãã
- ãããéè² è·ãšãªã£ãŠããå Žåã¯ã€ã³ã¹ã¿ã³ã¹ã®è¿œå ïŒæ°Žå¹³ã¹ã±ãŒã«ïŒã¯æå³ããªã
- ã³ã³ã·ã¹ãã³ãããã·ã¥æ³ã䜿çšãããããŠãã¿ã¹ã¯ã¬ãã«ã®ã«ãŒãã£ã³ã°ã§è² è·ãåæ£ãããã®ãè¯ã
- èªåã¹ã±ãŒã«ã¢ããïŒåçŽã¹ã±ãŒã«ïŒã¯ã¹ããŒããã«ã·ã¹ãã ã§å¹æç
- ã¿ã¹ã¯ã¬ãã«ã«ãŒãã£ã³ã°+åçŽã¹ã±ãŒã«ã§çæã®ãããã¹ããããåžåã§ãã
- å šã€ã³ã¹ã¿ã³ã¹ã«é©çšãããããããã©ãã£ãã¯ã®å°ãªãã€ã³ã¹ã¿ã³ã¹ã¯äžå¿ èŠã«ã¹ã±ãŒã«ã¢ããããŠããŸãå¯èœæ§ãã
- åäžã®ãŠãŒã¶ãŒã»ãã·ã§ã³ã®å
šãŠã®ãªã¯ãšã¹ããåäžã®ããã¯ãšã³ããµãŒããŒãžéä¿¡ãã
- èªåã¹ã±ãŒã«ã¢ããã®èšå®ã®æ¹ãèªåã¹ã±ãŒã«ããŠã³ã®èšå®ãããéèŠ
- ã¹ã±ãŒã«ã¢ãããè¡ãããšã®ãªã¹ã¯ã¯å°ãªã
- å€ãã®ãªãŒãã¹ã±ãŒã«ã·ã¹ãã ã¯ããã©ãã£ãã¯ã®äœäžãããå¢å ã€ãã³ãã«å¯ŸããŠãããŠææã«ããŠãã
- ã¹ã±ãŒã«ã¢ããã®éã¯ããã«è¿œå ãã£ãã·ãã£ãè¿œå
- ã¹ã±ãŒã«ããŠã³ããéã¯ããæ éã§ãåŸã ã«ãªãœãŒã¹ãåæžãã
- ããã«ããã¯ã«ãªãããããã®ã«é¢ããŠãªãŒãã¹ã±ãŒã«ã·ã¹ãã ãæ§æãã
- CPUãšã
- æ°ããã€ã³ã¹ã¿ã³ã¹ãç«ã¡äžããæºåå®äºãããŸã§ã«ã¯å°ãæéãå¿
èŠã«ãªã
- ãŠãŒã¶ãŒåããµãŒãã¹ã§ã¯ååãªäºåãã£ãã·ãã£ã確ä¿ããŠãããšè¯ã
- ãªãŒãã¹ã±ãŒã«ã·ã¹ãã ã®èšå®
- ééã£ãŠãããšå¶åŸ¡äžå¯ã«ãªã
- äŸãã°ä»¥äžã®ãããªäŸ
- CPU䜿çšçã«ãããªãŒãã¹ã±ãŒã«ãèšå®
- ã¢ã€ãã«ç¶æ ã§ãCPUãç¡é§ã«æ¶è²»ããããã°ã®ããããŒãžã§ã³ããªãªãŒã¹
- ã¯ã©ãŒã¿ã®éçãŸã§ã¹ã±ãŒã«ãç¶ãã...
- äŸåããŠããä»ã®ã·ã¹ãã ã倱æããŠããå Žå
- å šãªã¯ãšã¹ããæ£åžžã«å®äºããããªãœãŒã¹ãæ¶è²»ãããŠããŸã
- ãªãŒãã¹ã±ãŒã«ãããšããã«ãã©ãã£ãã¯ãã¹ã¿ãã¯ããŠããŸã
- äŸåå ã·ã¹ãã ãžã®è² è·ãå¢å€§ãã埩æ§ã劚ããæããæã
- ã¹ã±ãŒã«ã®äžéãšäžéãèšå®ããååãªã¯ã©ãŒã¿ãããããšã確èªãã
- ã¯ã©ãŒã¿ã®éçãŸã§äœ¿ã£ãŠããŸãããšãé²ã
- ãªãŒãã¹ã±ãŒã«ã®killã¹ã€ãã
- ãªãŒãã¹ã±ãŒã«ã§äœãåé¡ããã£ããšãã«äŸ¿å©
- ãªã³ã³ãŒã«æ åœãšã³ãžãã¢ããªãŒãã¹ã±ãŒã«ãç¡å¹ã«ããæ¹æ³ãšãå¿ èŠãªå Žåã«æåã§ã¹ã±ãŒã«ãããæ¹æ³ãç解ããŠããããã«ããŠãã
- killã¹ã€ããã¯ç°¡åããããããããæ©ãããã¡ããšææžåãããŠããã¹ã
- ãªãŒãã¹ã±ãŒã«ã·ã¹ãã ã¯ãã©ãã£ãã¯ã®å¢å ã«å¿ããŠã¹ã±ãŒã«ã¢ãããã
- ããã¯ãšã³ããµãŒãã¹ã¯è¿œå ã®è² è·ãåžåããå¿
èŠããã
- DBãšã
- ããã¯ãšã³ãã·ã¹ãã ã®äŸåé¢ä¿ãäºåã«åæããæ¹ãè¯ã
- ãµãŒãã¹ããšã«ã¹ã±ãŒã«åŸåãéã
- è¿œå ãããã©ãã£ãã¯ãåŠçããã®ã«ååãªãã£ãã·ãã£ãããã¯ãšã³ãã«ããã
- éè² è·ã®å Žåã«ã¯é©åã«ãã°ã¬ãŒãããããšãã§ããã
- ããã¯ãšã³ããµãŒãã¹ã¯è¿œå ã®è² è·ãåžåããå¿
èŠããã
- ãã€ã¯ããµãŒãã¹ãã¯ã©ãŒã¿ãå
±æããå Žå
- ãã©ãã£ãã¯ã¹ãã€ã¯ã®ããã«åäžã®ãã€ã¯ããµãŒãã¹ãã¹ã±ãŒã«ã¢ãããããšãã¯ã©ãŒã¿ã®å€§åã䜿ãåãå¯èœæ§ãã
- ãµãŒãã¹ããã®ä»ã®ãã€ã¯ããµãŒãã¹ã«é¢é£ããŠããå Žåãä»ã®ãã€ã¯ããµãŒãã¹åãã®ã¯ã©ãŒã¿ããªããªã
- äŸåé¢ä¿ãåæããããšã§ãäºãéå®çãªã¹ã±ãŒã«æ¹æ³ãå®è£ ããããšãã§ãã
- ãããã¯ãã€ã¯ããµãŒãã¹ããšã«ã¯ã©ãŒã¿ãåããããšãå¯èœ
- ãã®å Žåã¯ãµãŒãã¹ãå¥ã ã®ãããžã§ã¯ãã«åããå¿ èŠããããããããªã
- ïŒèš³æ³š: ãããžã§ã¯ãã¯AWSã§ããã¢ã«ãŠã³ããGCPã§ãããããžã§ã¯ãïŒ
- ãã©ãã£ãã¯ã¹ãã€ã¯ã®ããã«åäžã®ãã€ã¯ããµãŒãã¹ãã¹ã±ãŒã«ã¢ãããããšãã¯ã©ãŒã¿ã®å€§åã䜿ãåãå¯èœæ§ãã
- äžéšã®ãªãŒãã¹ã±ãŒã«ã·ã¹ãã ã§ã¯ãªãŒãžã§ã³éã§ã€ã³ã¹ã¿ã³ã¹ã®ãã©ã³ã¹ãåãããšãå¯èœ
- äŸ: AWS EC2, GCP
- éåžžã®ãªãŒãã¹ã±ãŒã«ã«å ãããªãŒãžã§ã³éã®åãŸãŒã³ã®ãµã€ãºãåçã«ããããšãããžã§ããå®è¡ããã
- ãªãã©ã³ã¹ã«ãã£ãŠã倧ããªãŸãŒã³ãåºæ¥ãŠããŸãããšãé²ãã
- ãŸãŒã³ããšã«ã¯ã©ãŒã¿ãããå Žåã¯ãã¯ã©ãŒã¿ã®å©çšçãåçã«ã§ãã
- ããã«é害ãã¡ã€ã³ã®å€æ§æ§ãé«ãŸã
- è€éãªã·ã¹ãã ã§ã¯ã1ã€ä»¥äžã®è² è·ç®¡çæŠç¥ã䜿ãå¿
èŠããããããããªã
- äŸ: è² è·ã«å¿ããŠã¹ã±ãŒã«ããè€æ°ã®ã€ã³ã¹ã¿ã³ã¹ã°ã«ãŒããéçšããŠãã
- ãã£ãã·ãã£ç¢ºä¿ã®ãããè€æ°ã®ãªãŒãžã§ã³ã«ã³ããŒããæ
- ãªãŒãžã§ã³éã®ãã©ãã£ãã¯ããã©ã³ã¹ãããå¿ èŠããã
- ãã®ã±ãŒã¹ã§ã¯ãããŒããã©ã³ã·ã³ã°ãšè² è·ããŒã¹ã§ã®ãªãŒãã¹ã±ãŒãªã³ã°ã®äž¡æ¹ã䜿ãå¿ èŠããã
- äŸ: äžçã®3ã€ã®æœèšã§Webãµã€ãããã¹ãã£ã³ã°ããŠããå Žå
- å€ãã®ãã·ã³ããããã€ããã«ã¯æ°é±éããã
- ã¬ã€ãã³ã·ã®ããã«è¿ãã®å°åã§æãããããâãããããã溢ãããã©ãã£ãã¯ã¯ä»ã®å°åã«æµããå¿ èŠããã
- ãããœãŒã·ã£ã«ã¡ãã£ã¢ã§äººæ°ãã§ãŠãæ¥ã«ãã©ãã£ãã¯ã5åã«å¢ããå Žåãã§ããéãã®ãªã¯ãšã¹ããæããã...
- éå°ãªãã©ãã£ãã¯ãããããããè² è·å¶éãå¿ èŠ
- ãã®ã±ãŒã¹ã§ã¯ããŒããã©ã³ã·ã³ã°ãšè² è·å¶éã®äž¡æ¹ãå¿ èŠ
- äŸ: ããŒã¿åŠçãã€ãã©ã€ã³ã1ã€ã®ã¯ã©ãŠããªãŒãžã§ã³ã®Kubernetesã¯ã©ã¹ã¿ã«ååšããŠããå Žå
- ããŒã¿åŠçãé ããªã£ãå ŽåãKubernetesãåŠçã®ããã®ããããå¢ãã
- ãããããŒã¿å
¥åããšãŠãæ©ããªããšãã¡ã¢ãªäžè¶³ãGCãé
ããªã£ãããã
- ãããã¯è² è·ãäžæçããŸãã¯æä¹ çã«å¶éããå¿ èŠããããããããªã
- ãã®ã±ãŒã¹ã§ã¯è² è·ããŒã¹ã§ã®ãªãŒãã¹ã±ãŒãªã³ã°ãšè² è·å¶éã®äž¡æ¹ãå¿ èŠ
- äŸ: è² è·ã«å¿ããŠã¹ã±ãŒã«ããè€æ°ã®ã€ã³ã¹ã¿ã³ã¹ã°ã«ãŒããéçšããŠãã
- ããŒããã©ã³ã·ã³ã°ãè² è·å¶éããªãŒãã¹ã±ãŒãªã³ã°
- å šãŠã·ã¹ãã è² è·ã®å¹³æºåãšå®å®åãç®çãšããŠèšèšãããŠãã
- å¥ã ã«å®è£ ãã€ã³ã¹ããŒã«ãèšå®ãããããšãå€ãç¬ç«ããŠããããã«èŠããããå®å šã«ç¬ç«ããŠããããã§ã¯ãªã
- ïŒå³11-8åç §ïŒ
- 次ã®ã±ãŒã¹ã¹ã¿ãã£ã§ã¯ãããã®ã·ã¹ãã ã®çžäºäœçšã®äŸã瀺ã
- æ¶ç©ºã®äŒç€Ÿ: ãã¬ãã·ãŒ
- ã¢ããªã䜿ã£ãŠãªã³ã©ã€ã³ã§ãã¬ã¹ã販売ããäŒç€Ÿ
- ãã©ãã£ãã¯ããªãã³ãªã®ã§ãéçºããŒã ã¯3ã€ã®ãªãŒãžã§ã³ã«ã¢ããªããããã€ããŠãã
- ãŠãŒã¶ãŒã®ãªã¯ãšã¹ããããã«å¿çããããšãã§ããåäžãŸãŒã³ã®é害ã«ã察å¿ã§ãã
- ã«ã¹ã¿ããŒãµãŒãã¹ããŒã ã¯ãã¢ããªã«ã¢ã¯ã»ã¹ã§ããªããšããèŠæ
ãåãå§ãã
- éçºããŒã ã¯åé¡ã調æ»ãã
- ããŒããã©ã³ã·ã³ã°ã¯äžå¯è§£ãªããšã«ãå šãã©ãã£ãã¯ããªãŒãžã§ã³Aãžéã£ãŠãã
- ãªãŒãžã§ã³Aã¯ãªãŒããŒãããŒ
- ãªãŒãžã§ã³BãšCã¯äœè£ãããç¶æ ïŒåäžã®å€§ããïŒ
- ã€ãã³ãã®ã¿ã€ã ã©ã€ã³ã¯ä»¥äžã®éã
- ïŒå³11-9ãåç §ïŒ
- éçºããŒã ã¯åé¡ã調æ»ãã
- å§ãŸãã®æ¥ããã©ãã£ãã¯ã®ã°ã©ãã¯3ã€ã®ã¯ã©ã¹ã¿ã90 RPSã§å®å®ããŠãã
- åå10:46, ç±å¿ãªè²·ãç©å®¢ãããŒã²ã³ãçã£ãŠãããããã©ãã£ãã¯ãå¢å ãã¯ããã
- åå11:00, ãªãŒãžã§ã³Aã¯ãBãCãããå ã«120 RPSã«éãã
- åå11:10, ãªãŒãžã§ã³Aã¯400 RPSã«éããããBãšCã¯40 RPSãŸã§äœäžãã
- ããŒããã©ã³ãµã¯ãã®ç¶æ ã§èœã¡çãã
- ãªãŒãžã§ã³Aã«åãã£ããªã¯ãšã¹ãã®å€ãã¯503ãšã©ãŒãè¿åŽãã
- ãã®ã¯ã©ã¹ã¿ã«ãªã¯ãšã¹ããå±ãããŠãŒã¶ãŒã¯èŠæ ãèšãå§ãã
- ããŒããã©ã³ãµã¯äœ¿çšçã«å¯Ÿå¿ããŠãã
- ã³ã³ããããCPU䜿çšçãååŸããéçãæšå®ããŠãã
- ãªãŒãžã§ã³Aã¯ãBãCãšæ¯ã¹ãŠããªã¯ãšã¹ãããšã®CPU䜿çšçã10åäœãã£ã
- ããŒããã©ã³ãµã¯ãå šãªãŒãžã§ã³ãåäžã«ããŒããã©ã³ã·ã³ã°ãããŠãããšå€æããŠãã
- é±ã®åãã«è² è·å¶éãæå¹ã«ãã
- é£éçãªè² è·ããå®ããã
- CPUå©çšçããããå€ã«éãããšããµãŒããŒã¯ãªã¯ãšã¹ãã«å¯ŸããŠãšã©ãŒãè¿åŽãããã®
- ãªãŒãžã§ã³Aã¯å°ãã ãå ã«ãã®ãããå€ã«éãã
- åãµãŒããŒã¯ãªã¯ãšã¹ãã®10%ã 次ã«20%ã ãããŠ50%ãæåŠãå§ãã
- CPUå©çšçã¯äžå®ã«ä¿ããã
- ããŒããã©ã³ãµãŒããèŠããšããªãŒãžã§ã³Aã®å¹çãããèŠãã
- ãªãŒãžã§ã³Aã¯å ã«ãããå€ã«éãããªã¯ãšã¹ããããããããŠããããä»ã®ãªãŒãžã§ã³ããCPUå¹çãè¯ããªã£ãŠãããã
- CPU䜿çšç80%ã§240RPSãæããŠããããã«èŠããŠããããBãšCã¯120RPSããæããŠããªãããã«èŠãã
- è«ççã«èããŠããªãŒãžã§ã³Aã«å€ãã®ãªã¯ãšã¹ããéä¿¡ããŠãã
- è² è·å¶éã·ã¹ãã ãšè² è·åæ£ã·ã¹ãã ãäºãã«é£æºããŠããªãã£ã
- ãã®ãããããŒããã©ã³ãµã¯ãšã©ãŒããå¹ççããªãªã¯ãšã¹ããšç¥ããªãã£ã
- ïŒç°ãªããšã³ãžãã¢ã«ãã£ãŠïŒå¥ã ã«è¿œå ããã
- ïŒã€ã®çµ±åè² è·ç®¡çã·ã¹ãã ãšããŠæ€èšãã人ã¯ããªãã£ã
-
å¹æçãªã·ã¹ãã è² è·ã®ç®¡çæ¹æ³
- åã ã®è² è·ç®¡çããŒã«ãšãã®é£æºèšå®ã®äž¡æ¹ãããæ€èšããå¿ èŠããã
- ãã¬ãã·ãŒã®äŸã§ã¯ãããŒããã©ã³ãµã®èšå®ã«ãšã©ãŒåŠçãå«ããŠããã°è¯ãã£ãã¯ã
- ããšã©ãŒããªã¯ãšã¹ããCPU䜿çšç120%ãšããŠèšç®ãã
- ïŒ100以äžã®æ°å€ã§ããã°OKïŒ
- ãªãŒãžã§ã³Aã¯éè² è·ã«èŠããããããªã¯ãšã¹ãã¯BãšCã«æ¯ãåããããåçã«ãªã
- æ°ããè² è·ç®¡çããŒã«ãæ¡çšããå Žåã¯ãæ¢åããŒã«ãšã©ã®ããã«é£æºããŠãããã»äº€ããéšåãããããæ éã«èª¿ã¹ã
- ãã£ãŒãããã¯ã«ãŒããæ€åºããç£èŠãè¿œå ãã
- ç·æ¥åæ¢ããªã¬ãŒãè² è·ç®¡çã·ã¹ãã ã§èª¿æŽã§ããããšã確èªãã
- èªååæ¢ããªã¬ãŒã®è¿œå ãæ€èšãã
- äºãé©åãªçãè¬ããŠããªããšããã¹ãã¢ãŒãã çŽåŸã«ããããªããšãããªããªã
- ãäºé²æªçœ®ãè¬ããããšèšãã®ã¯ç°¡å
- å ·äœçã«ã¯ãè² è·ç®¡çã®çš®é¡ã«å¿ããŠä»¥äžã®ãããªäºé²æªçœ®ãæ€èšãã
-
ããŒããã©ã³ã·ã³ã°ïŒè² è·åæ£ïŒ
- ããŒããã©ã³ã·ã³ã°ã¯ãŠãŒã¶ãŒãå°ççã«è¿ãå Žæãžã«ãŒãã£ã³ã°ããããšã§ã¬ã€ãã³ã·ãæå°éã«æãã
- ãªãŒãã¹ã±ãŒã«ã¯ããŒããã©ã³ã·ã³ã°ãšé£æºããŠããŠãŒã¶ãŒã«è¿ãå Žæã®ãµã€ãºãå¢ããããããžã®ãã©ãã£ãã¯ãã«ãŒãã£ã³ã°ãã
- è¯ããã£ãŒãããã¯ã«ãŒã
- ããå€ãã®ãã©ãã£ãã¯ããã1ã€ã®ãã±ãŒã·ã§ã³ã«ãããšããã®ãã±ãŒã·ã§ã³ã®èŠæš¡ã¯æ¡å€§ãã
- ãããã®ãã±ãŒã·ã§ã³ãåæ¢ãããšãä»ã®ãã±ãŒã·ã§ã³ã¯éè² è·ã«ãªããã©ãã£ãã¯ããã°ããªããªãå¯èœæ§ããã
- ã¹ã±ãŒã«ã¯ããã«ã¯è¡ãããšã§ããªã
- æå°ã€ã³ã¹ã¿ã³ã¹æ°ãèšå®ããããšã§ããã§ã€ã«ãªãŒããŒæã®äºåã®ãã£ãã·ãã£ã確ä¿ããŠããããšãã§ãããã®ç¶æ³ãåé¿ã§ãã
-
è² è·å¶é
- è² è·å¶éãå§ãŸãåã«ãªãŒãã¹ã±ãŒã«ããããã«ãããå€ãèšå®ããŠããã®ãè¯ã
- ããããªããšãã¹ã±ãŒã«ããã°åŠçã§ããå Žåã§ããã©ãã£ãã¯ãå¶éãå§ããå¯èœæ§ããã
-
RPCã«ããè² è·ç®¡ç
- å¹çã®ããã«æ£ãããªã¯ãšã¹ããåŠçãã
- ãŠãŒã¶ãŒã®ããã«ãªããªããªã¯ãšã¹ããåŠçããããã«ãªãŒãã¹ã±ãŒã«ããããªã
- éèŠã§ã¯ãªããªã¯ãšã¹ããåŠçããŠããããã«è² è·å¶éããããªã
- ãªãŒãã¹ã±ãŒã«ãšè² è·å¶éã®äž¡æ¹ã䜿çšããéã¯ãRPCãªã¯ãšã¹ãã«ã¿ã€ã ã¢ãŠããèšå®ããã®ãéèŠ
- ïŒèš³æ³š: RPCã®èª¬æã§deadlineãšãªã£ãŠãããã®ã¯ãåããããããèæ ®ãã¿ã€ã ã¢ãŠããšèšèŒïŒ
- ããã»ã¹ã¯å®è¡äžã®å šãŠã®ãªã¯ãšã¹ãã®ããã«ãªãœãŒã¹ãä¿æãããªã¯ãšã¹ãå®äºæã«ãªãœãŒã¹ãéæŸãã
- ã¿ã€ã ã¢ãŠããç¡ããšãå®è¡äžã®å šãŠã®ãªã¯ãšã¹ãã®ããã®ãªãœãŒã¹ãéçãŸã§ä¿æããŠããŸã
- ããã©ã«ãã§ã¯ãã®ã¿ã€ã ã¢ãŠãããšãŠãé·ãæéã«ãªã£ãŠããïŒèšèªäŸåïŒ
- ãã®åäœã«ãã£ãŠã¯ã©ã€ã¢ã³ããæçµçã«ã¯ãŠãŒã¶ãŒã®ã¬ã€ãã³ã·ãé·ããªã£ãŠããŸã
- ãã®ãµãŒãã¹ã¯ãªãœãŒã¹ïŒã¡ã¢ãªçïŒã䜿ãæãããŠã¯ã©ãã·ã¥ããå±éºæ§ããã
- ãã®ã·ããªãªããã¡ããšåŠçããã«ã¯âãæšå¥š
- ãµãŒããŒã¯é·æéçµéãããªã¯ãšã¹ããçµäºããã
- ã¯ã©ã€ã¢ã³ãã¯æ¢ã«äžèŠã«ãªã£ããªã¯ãšã¹ãããã£ã³ã»ã«ãã
- äŸ: ããã¯ã©ã€ã¢ã³ããæ¢ã«ãŠãŒã¶ãŒãžãšã©ãŒãè¿åŽããŠãããªãããµãŒããŒã¯è² è·ã®é«ãæ€çŽ¢åŠçãå§ããã¹ãã§ã¯ãªã
- ãµãŒãã¹ãæåŸ ããåäœãèšå®ããããã«ã¯ãAPIåŽã® .proto ãã¡ã€ã«ã«ããã©ã«ãã®æšå¥šã¿ã€ã ã¢ãŠãå€ãã³ã¡ã³ãã«å ¥ãã
- ã¯ã©ã€ã¢ã³ãã«ã¯æ
éã«ã¿ã€ã ã¢ãŠããèšå®ãã
- äŸ: gRPC and Deadlines
- å¹çã®ããã«æ£ãããªã¯ãšã¹ããåŠçãã
- Googleã®çµéšã§ã¯å®ç§ãªãã©ãã£ãã¯ç®¡çèšå®ã¯ãªã
- ãªãŒãã¹ã±ãŒã«ã¯åŒ·åã ãééãããã
- ãã¡ããšèšå®ããªããšæ²æšãªçµæã«ãªãããšããã
- äŸ: è² è·åæ£ãè² è·å¶éããªãŒãã¹ã±ãŒã«ã®ããŒã«ãç¬ç«ããŠç®¡çèšå®ãããŠããå Žåã®å£æ» çãªãã£ãŒãããã¯ãµã€ã¯ã«
- ãã±ã¢ã³Goã®äºäŸã®ããã«ããã©ãã£ãã¯ç®¡çã¯ã·ã¹ãã éé£æºã®å šäœçèŠç¹ã«åºã¥ãããã®ãæãè¯ã
- ãããŸã§äœåºŠãèŠãŠããããã«é£æºã«å€±æããŠããå Žåã¯ãè² è·å¶éããªãŒãã¹ã±ãŒã«ãã¹ããããªã³ã°ããµãŒãã¹ãæãããšã¯ãªã
- äŸ: ãã±ã¢ã³Goã®åæããŠããªãã¯ã©ã€ã¢ã³ãã®åè©Šè¡ãå¿çããªãããã¯ãšã³ããåŸ ã€ããŒããã©ã³ãµãŒ
- ããŸããµãŒãã¹ãåæ¢ãããã«ã¯ãæœåšçãªåé¡ãç·©åããããèšç»ãå¿
èŠ
- ãã©ã°èšå®ãããã©ã«ãåäœã®å€æŽãåé·ãªãã°èšé²ããã©ãã£ãã¯ç®¡çã·ã¹ãã ãå©çšããããã®èšå®ãã©ã¡ãŒã¿ã®çŸåšã®å€ã®å ¬é etc.
- ãã®ç« ã§ã®æŠç¥ãšã€ã³ãµã€ããããã©ãã£ãã¯ç®¡çãå©ãããŠãŒã¶ãŒã幞ãã«ãç¶ããã®ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸã