ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã®æ¡çšã¯ãçŸä»£çã§ã¹ã±ãŒã©ãã«ãªãœãããŠã§ã¢ã·ã¹ãã ã®ç¹åŸŽãšã¿ãªãããããšãå€ããããŒã ã¯ãç¬ç«ããŠãããã€ããéžæçã«ã¹ã±ãŒã«ãããµãŒãã¹ãããžãã¹ãã¡ã€ã³ã«å¯æ¥ã«é£æºãããæè»æ§ãç²åŸãããããããã¢ãŒããã¯ãã£ãæçããã«ã€ããŠã è€éãã¯ãã°ãã°éãã«å¢å€§ããæéã®çµéãšãšãã«ããµãŒãã¹ã®å¢çã¯ææ§ã«ãªããäŸåé¢ä¿ã¯è€éåãã倿Žã³ã¹ãã¯å¢å€§ããŸãããã€ãŠã¯ä¿ææ§ã®ã¢ãã«ã§ãã£ããã®ããããã©ãŒãã³ã¹ãå®å®æ§ããããŠéçºé床ãé»å®³ãå§ããŸãã
ãªãã¡ã¯ã¿ãªã³ã° æåããããçŽãããšã§ã¯ãããŸãããæŒæµããŠããŸã£ã忣ã·ã¹ãã ã«ãéææ§ãåéæ§ããããŠå¶åŸ¡æ§ãå埩ãããããšã§ããå€ãã®çµç¹ã¯ããµãŒãã¹ã倧ãããªããããããä»ã®ãµãŒãã¹ã«äŸåãããããããŠãããšããåé¡ã«çŽé¢ããŠããŸãããŸããã·ã¹ãã ã®éèŠãªéšåã®ç£èŠãäžååã ã£ããããã¹ããäžååã ã£ãããæç¢ºãªæææš©ãæ¬ åŠããŠããããšã«æ°ä»ãçµç¹ããããŸããæ§é åããããªãã¡ã¯ã¿ãªã³ã°ããªããã°ãããŒã ã¯æ¬¡ã®ãã®ã«åããã€ãããŒã·ã§ã³ããããæ¢ã«æ§ç¯ããããã®ã®ä¿®æ£ã«å€ãã®æéãè²»ãããŠããŸããŸãã
ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ãã³ãŒãã®ã¯ãªãŒã³ã¢ããã ãã«ãšã©ãŸããŸããããµãŒãã¹éã®çžäºäœçšãå¢çã®äŸµé£ç®æãè匱æ§ãéå¹çæ§ã®åå ãšãªã£ãŠããã³ã³ããŒãã³ããæ·±ãçè§£ããå¿ èŠããããŸãããã®ããã»ã¹ã§ã¯ãéè€ãã¿ãŒã³ãã¬ã€ãã³ã·ãèªçºããäŸåé¢ä¿ãéçšäžã®ç²ç¹ãªã©ãæããã«ãªãããšããããããŸãããããã®åé¡ãæ éã«å¯ŸåŠããããšã§ãã¹ã±ãŒã©ããªãã£ã®åäžãã¡ã³ããã³ã¹ã®ç°¡çŽ åããããŠã·ã¹ãã å šäœã®ã¬ãžãªãšã³ã¹åäžã®æ©äŒãçãŸããŸãã
ã³ãŒããè¶ ãããªãã¡ã¯ã¿ãªã³ã°
ãã€ã¯ããµãŒãã¹ ãšã³ã·ã¹ãã ãã¹ã±ãŒã©ãã«ãªãã®ã«ãªãã¡ã¯ã¿ãªã³ã°ããŸãã
詳现æ å ±ãã€ã¯ããµãŒãã¹ã®ç¿åŸãè§£ãæŸã€: ä»ãããªãã¡ã¯ã¿ãªã³ã°ããçç±
çŸä»£ã®ãœãããŠã§ã¢ããŒã ã¯ãä¿ææ§ãã¹ã±ãŒã©ããªãã£ããããŠãµãŒãã¹ã¬ãã«ã®èªåŸæ§ãå®çŸããããã«ããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãæ¡çšããŠããŸããããããã©ãã»ã©ç¶¿å¯ã«èšèšãããã·ã¹ãã ã§ãã£ãŠããæéã®çµéãšãšãã«é²åããéå¹çæ§ãæè¡çè² åµããããŠçµç¹å ã®è»èœ¢ãçã¿åºãåŸåããããŸããã·ã¹ãã ãæé·ããã«ã€ããŠããµãŒãã¹éã®çžäºäœçšããããã€ã¡ã³ãã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããããŠã·ã¹ãã ã®å¯èŠ³æž¬æ§ã®è€éããå¢ããŠãããŸãããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ãããã©ãŒãã³ã¹ã ãã§ãªãã補åãšãšã³ãžãã¢ãªã³ã°æåã®é·æçãªæç¶å¯èœæ§ã«ãšã£ãŠãéèŠã«ãªããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãå£åãã忣ã·ã¹ãã ã®é ããã³ã¹ããšãä»ãããµãŒãã¹èšèšãåèããæ¹è¯ããã¹ãéèŠãªçç±ãæ¢ããŸãã
屿©ã«çããã¢ãŒããã¯ãã£ãå®è¡ããŠããããšã瀺ãã·ã°ãã«
ãã€ã¯ããµãŒãã¹ç°å¢ãäžå€ã«ããŠåŽ©å£ããããšã¯æ» å€ã«ãããŸãããããããèŠåãµã€ã³ã¯åŸã ã«èç©ãããå€ãã®å Žåç¡èŠãããããŒã ã®é床ãã·ã¹ãã ã®çšŒåæéã«åœ±é¿ãäžãå§ããŸããæåã®å åã¯ãå žåçã«ã¯èªç¥çéè² è·ã§ããéçºè ããã£ãäžã€ã®æ©èœãå®è£ ããããã«ã6ã€ãã®ãµãŒãã¹ãããŒã¿ã¢ãã«ãéä¿¡ãããã³ã«ãçè§£ããªããã°ãªããªãå ŽåããµãŒãã¹å¢çããã¯ãæç¢ºã§ã¯ãªãããšãæããã«ãªããŸãããµãŒãã¹éã®äŸåé¢ä¿ã¯æéãšãšãã«åŒ·ãŸãããã€ãŠã¯ç¬ç«ããæ©èœåäœã§ãã£ããã®ããå¯çµåããã¢ããªã¹ã®ããã«æ¯ãèãå§ããŸãã
ããäžã€ã®å åã¯ããããã€ã¡ã³ã麻çºã§ããçè«çã«ã¯ã忣ã·ã¹ãã å ã®ãµãŒãã¹ã¯ç¬ç«ããŠãããã€ã§ããã¯ãã§ãããããã倿Žãããã·ã¥ããããã«ããŒã ããµãŒãã¹éã§åæãããæŽæ°ãå¿ èŠã«ãªãå Žåãããã¯ã¢ãŒããã¯ãã£ã®æ·±ã絡ã¿åãã瀺ããŠããŸãããã©ãã£ãã¯ã®æ¥å¢æããããã€ã¡ã³ãã®ããŒã«ã¢ãŠãæã®è匱æ§ã¯ãé害ã®åé¢ãäžååã§ããããšã瀺åããŠããŸããäºæãã¬é£éçãªé害ããã€ã³ã·ãã³ã解決ã«é·æéãããããšã¯ãã·ã¹ãã èšèšã®ã¬ãžãªãšã³ã¹ïŒå埩åïŒã®æ¬ åŠãé²åããŠããŸãããããã®å åã¯ãå€ãã®å Žåãææ©çãªæé·ããã¬ãã·ã£ãŒã®äžã§ã®æ¥å Žãã®ãã®ä¿®æ£ããçããŸããããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã«æå³çãã€æŠç¥çãªãªãã¡ã¯ã¿ãªã³ã°ãå¿ èŠã§ããããšã瀺ãæãæç¢ºãªææšã§ãã
ãµãŒãã¹ã®åçåã«ããæŠç¥çå©ç
ãã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ãæè¡çãªå¿ èŠæ§ã ãã§ãªããæŠç¥çãªã¡ãªããããããããŸããæç¢ºãªãã¡ã€ã³ããžãã¯ãåæ ããããã«ãµãŒãã¹ãåèšèšããããšã§ãéçºããã»ã¹ã¯å€§å¹ ã«å¹çåãããŸããéçºè ã¯ã¬ã¬ã·ãŒãã¿ãŒã³ã®è§£èªã«è²»ããæéãæžããã䟡å€ã®æäŸã«å€ãã®æéãè²»ããããšãã§ããŸãããªãã¡ã¯ã¿ãªã³ã°ã«ãããç®çæåã®ãããå°èŠæš¡ãªãµãŒãã¹ãæ§ç¯ãããåå¥ã«éçºããã¹ãããããã€ã§ããããã«ãªããŸããããã«ãããéçºé床ãåäžããã ãã§ãªããã·ã¹ãã ã®ç¡é¢ä¿ãªéšåã«äžå ·åãå ¥ã蟌ããªã¹ã¯ã軜æžãããŸãã
ã¹ã±ãŒã©ããªãã£ã®é¢ã§ã¯ããªãã¡ã¯ã¿ãªã³ã°ããããµãŒãã¹ã«ãããå¿ èŠãªå Žæã«ãªãœãŒã¹ãæ£ç¢ºã«é©çšã§ããŸããã¹ã¿ãã¯å šäœãããããžã§ãã³ã°ããã®ã§ã¯ãªããè² è·ã®ããã£ãŠãããµãŒãã¹ã®ã¿ãæ°Žå¹³æ¹åã«ã¹ã±ãŒãªã³ã°ã§ããŸãããã®ãªãœãŒã¹å¹çã®åäžã«ãããã³ã¹ãåæžãšå®ç°å¢ã«ãããããã©ãŒãã³ã¹åäžãå®çŸããŸããããã«ãåçåããããµãŒãã¹ã¯ã·ã¹ãã ã®ä¿¡é Œæ§ãé«ããŸãããµãŒãã¹å¥çŽãããæç¢ºã«å®çŸ©ãããçžäºäŸåæ§ãäœæžãããããšã§ãé害ãã·ã¹ãã å šäœã«æ³¢åãããªã¹ã¯ãæžå°ããŸããåé¡ãè¿ éã«ç¹å®ããŠè§£æ±ºã§ãããããã·ã¹ãã ã®å¹³ååŸ©æ§æéãççž®ãããŸããç«¶äºã®æ¿ããç°å¢ã«ãããŠãè¿ éã«é©å¿ããé«ãã·ã¹ãã å¯çšæ§ãç¶æããèœåã¯ãããžãã¹ã®éèŠãªå·®å¥åèŠå ãšãªãããªãã¡ã¯ã¿ãªã³ã°ã¯ããã¯ãšã³ãã®åé¡ã ãã§ãªããå°æ¥ãèŠæ®ããæŠç¥ãšãªããŸãã
æè¡çè² åµãããžãã¹ãªã¹ã¯ã«ãªããšã
ãã¹ãŠã®ã·ã¹ãã ã¯æè¡çè² åµãèç©ããŸããããã€ã¯ããµãŒãã¹ãšã³ã·ã¹ãã ã§ã¯ãæ©æã«å¯ŸåŠããªããšããã®è² åµã¯å¶åŸ¡äžèœã«é¥ãå¯èœæ§ããããŸããæŸçœ®ãããšãã¢ãŒããã¯ãã£äžã®è² åµã¯çµç¹çãªãªã¹ã¯ãžãšå€åããŸããéçºããŒã ãäŸåé¢ä¿ãäžéæãªãµãŒãã¹ããžãã¯ã®ããã«æ©èœã®ãªãªãŒã¹ã«èŠåŽãããšãã€ãããŒã·ã§ã³ã¯åæ»ããŸããæ°ããæ©èœãæäŸã§ããªãããšã¯ããŠãŒã¶ãŒæºè¶³åºŠã«åœ±é¿ãäžããåžå Žç«¶äºåãäœäžãããŸããåœåã¯ã³ãŒãã¬ãã«ã®åé¡ã ã£ããã®ããæé·ã®éå£ãšãªã£ãŠããŸããŸãã
ãªãã¡ã¯ã¿ãªã³ã°ãããŠããªãã¢ãŒããã¯ãã£ã¯ãã»ãã¥ãªãã£ãšã³ã³ãã©ã€ã¢ã³ã¹ã«ãæªåœ±é¿ãåãŒããŸããäžè²«æ§ã®ãªããµãŒãã¹å¢çãšããŒã¿ã®å ±ææææš©ã¯ãã»ãã¥ãªãã£ããªã·ãŒã®é©çšãèŠå¶èŠä»¶ã®éµå®ãå°é£ã«ããç²ç¹ãçã¿åºããŸãããããã®èª²é¡ã¯ããµãŒãã¹ã®ãã¬ãŒãµããªãã£ãäžå¯æ¬ ãªç£æ»ã䟵害ã®ã·ããªãªã«ãããŠããã«æ·±å»åããŸããããã«ã人çã³ã¹ãã¯èŠèœãšãããã¡ã§ããèåŒ±ã§æ··æ²ãšããã³ãŒãããŒã¹ã§äœæ¥ããéçºè ã¯çãå°œãçå矀ã«é¥ãå¯èœæ§ãé«ãããšã³ãžãã¢ã¯ããçç£æ§ã®é«ãç°å¢ãæ±ãããããçµç¹ã¯é¢è·çã®äžæã«çŽé¢ããŸããçµéšè±å¯ãªããŒã ã¡ã³ããŒã倱ãããšã¯ããããžã§ã¯ãã®ç¶ç¶æ§ãé»å®³ããã ãã§ãªãã代æ¿ãå°é£ãªãã¡ã€ã³ç¥èã®æ¯æžã«ãã€ãªãããŸãããããã£ãŠããã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ãæè¡çãªå®å šæ§ãšäºæ¥ç¶ç¶æ§ã®äž¡æ¹ãå®ãããã®ãç©æ¥µçãªããžãã¹äžã®æææ±ºå®ãšãªããŸãã
é ããæ¬ é¥ãæããã«ããïŒæ··ä¹±ãããåã«èšºæãã
ãã€ã¯ããµãŒãã¹ã·ã¹ãã ã«æ§é çãªå€æŽãå ããåã«ãäœãå£ããŠããã®ããäœãè¥å€§åããŠããã®ãããããŠäœãæé·ãé»å®³ããŠããã®ããææ¡ããããšãéèŠã§ããæç¢ºãªèšºæãªãã«ãªãã¡ã¯ã¿ãªã³ã°ã«çæãããšãç¡é§ãªåŽåãåé¡ã®èŠèœãšãã«ã€ãªããããšããããããŸãã忣ã¢ãŒããã¯ãã£ã广çã«èšºæããã«ã¯ããµãŒãã¹éä¿¡ãã¿ãŒã³ãäŸåé¢ä¿ã°ã©ããéçšã¡ããªã¯ã¹ã®åæãå¿ èŠã§ãããã®æ®µéã¯ã³ãŒãã®æžãæãã§ã¯ãªããã·ã¹ãã ã®åäœãå¯èŠåããæéã®çµéãšãšãã«çºçããã¢ãŒããã¯ãã£ã®éžè±ãæããã«ããããšã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãéå¹çæ§ãæããã«ãããªãã¡ã¯ã¿ãªã³ã°æŠç¥ã«åœ¹ç«ã€éèŠãªæŽå¯ãå°ãåºãããã®éèŠãªãã©ã¯ãã£ã¹ãæ¢ããŸãã
ã·ã¹ãã å šäœã®ã¢ãŒããã¯ãã£ç£æ»ã宿œãã
ã·ã¹ãã å šäœã®ç£æ»ã¯ãæ¢åã®ãã€ã¯ããµãŒãã¹ããã®APIãäŸåé¢ä¿ãããŒã¿ã¹ãã¢ããããŠãããã€ã¡ã³ãç°å¢ããã¹ãŠç¹å®ããããšããå§ãŸããŸããå€ãã®ããŒã ã¯ãã·ã¹ãã ãæ§ç¯ããããããçè§£ããŠãããšæã蟌ãã§ããŸãããææžåãããŠããªã倿Žãå Žåœããçãªä¿®æ£ã¯ãæéã®çµéãšãšãã«ã¢ãŒããã¯ãã£ã®ãšã³ããããŒãå¢å€§ãããŸããç£æ»ã§ã¯ããµãŒãã¹ã®çžäºäœçšã«é¢ããææ°ãã€æ£ç¢ºãªããããäœæããå¿ èŠããããŸããããã«ã¯ãåæãããŒãšéåæãããŒãçŽæ¥çããã³éæ¥çãªäŸåé¢ä¿ããããŠã€ã³ãã©ã¹ãã©ã¯ãã£ã¬ãã«ã®ããããçµåãå«ãŸããŸãã
äžã€ã®ã¢ãããŒãã¯ã代衚çãªæéæ ã«ããããµãŒãã¹åŒã³åºããã°ãŸãã¯ãã¬ãŒã¹ãåæããããšã§ããOpenTelemetryãªã©ã®ããŒã«ãã«ã¹ã¿ã ããã«ãŠã§ã¢ã¯ãã·ã¹ãã å šäœã®ã€ã³ã¿ã©ã¯ã·ã§ã³ãã¹ããã£ããã£ã§ããŸãããã®ããŒã¿ãããã©ã®ãµãŒãã¹ãéèŠãªããã§ãããã©ã®ãµãŒãã¹ãåäžé害ç¹ãåŒãèµ·ãããŠããããæããã«ãããµãŒãã¹ã°ã©ããæ§ç¯ã§ããŸããNode.jsã®ãã®ã³ã°ããã«ãŠã§ã¢ããåºæ¬çãªãµãŒãã¹ééä¿¡ãæœåºããäŸã¯ã次ã®ããã«ãªããŸãã
javascriptã³ããŒç·šéapp.use((req, res, next) => {
const start = Date.now();
res.on('finish', () => {
const duration = Date.now() - start;
console.log(`[TRACE] ${req.method} ${req.originalUrl} - ${duration}ms`);
});
next();
});
ãã®ã·ã³ãã«ãªã¹ããããã¯ãåãµãŒãã¹ãšã³ããã€ã³ãã®ãªã¯ãšã¹ãå®è¡æéããã°ã«èšé²ããŸããçžé¢IDãšçµã¿åãããããšã§ããµãŒãã¹éã®ããã©ãŒãã³ã¹ããã«ããã¯ãæããã«ã§ããŸãããŸããç£æ»ã§ã¯ãããã€é »åºŠãããŒã ã®æææš©ããã¹ãã«ãã¬ããžã¬ãã«ãèšé²ããããããåãµãŒãã¹ã®å®å šãªéçšãããããªã³ããåŸãããŸãã
ã¯ãŒã¯ãããŒãã§ãŒã³ã®ããã«ããã¯ãæ€åºãã
ã¢ãŒããã¯ãã£ããããã³ã°ããããæ¬¡ã®ã¹ãããã¯äž»èŠãªã¯ãŒã¯ãããŒã«ãããããã«ããã¯ãšéå¹çæ§ãç¹å®ããããšã§ãããããã®ããã«ããã¯ã¯ãã¬ã€ãã³ã·ã®ãããã¹ããããéå°ãªI/Oãåé·ãªãµãŒãã¹ãããããããã¯äžŠååã§ããã¯ãã®ã·ãªã¢ã«åãããæäœãªã©ãšããŠçŸããããšããããŸãããã€ã¯ããµãŒãã¹ã«ãããäžè¬çãªåé¡ã®äžã€ã¯ãé£éçãªåæåŒã³åºãã®éå°ãªäœ¿çšã§ããããã«ãããã¬ã€ãã³ã·ã¹ã¿ãã¯ãæ·±ããªããé害ã®äŒæã®å¯èœæ§ãé«ãŸããŸãã
äŸãã°ãæ€èšŒãµãŒãã¹ã課éãµãŒãã¹ãåæãµãŒãã¹ãé ã«èµ·åãããŠãŒã¶ãŒç»é²ãããŒãèããŠã¿ãŸãããããããã®ãµãŒãã¹ãããããåæçã«åŒã³åºããããšãããããã®ãµãŒãã¹ãäœéãŸãã¯å©çšäžå¯ã«ãªããšããã§ãŒã³å šäœã倱æããŸããããé©åãªèšèšã§ããã°ãåæã¹ããããéåæã¡ãã»ãŒãžãã¥ãŒã«ãªãããŒãããããšã§ããŠãŒã¶ãŒãžã®å¿çæ§ãåäžãããããšãã§ããŸãã
以äžã¯ãé£éã¯ãŒã¯ãããŒãåæ§ç¯ã§ãããç°¡ç¥åããã Java ããŒã¹ã®äŸã§ãã
javaã³ããŒç·šé// Before: Synchronous chaining
userService.register(user);
verificationService.sendOTP(user);
billingService.createAccount(user);
// After: Asynchronous offload
userService.register(user);
verificationService.sendOTP(user);
eventQueue.publish("UserRegistered", user); // analytics, billing pick up from queue
ãµãŒãã¹ãã°ãç£èŠããã·ã¥ããŒãã忣ãã¬ãŒã¹ãåæããããšã§ãåé¢ã䞊ååããŸãã¯ãã©ãŒã«ããã¬ã©ã³ãåãå¿ èŠãªã¯ãŒã¯ãããŒãèŠã€ããããšãã§ããŸããç®æšã¯ãã³ãŒãã®æé©åã ãã§ãªããããžãã¹ææã«åºã¥ããŠãµãŒãã¹éã®é£æºæ¹æ³ãåæ§ç¯ããããšã§ãã
ãªãã¡ã¯ã¿ãªã³ã°ãããžãã¹ãã€ã«ã¹ããŒã³ãšé£æºããã
ãã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã«ãããŠæãèŠèœãšãããã¡ãªç¹ã®äžã€ã¯ãã¢ãŒããã¯ãã£ã®æ¹åãšå®éã®ããžãã¹ç®æšã®æŽåæ§ã§ããçŽç²ããçè«ã®ã¿ãåªå ãããªãã¡ã¯ã¿ãªã³ã°ã¯ãçµå¶é£ã®æ¯æãåŸãããããšã¯çšã§ããšã³ãžãã¢ã®å£«æ°ãäœäžãããããšãå°ãªããããŸãããããã§ã¯ãªããã¢ãŒããã¯ãã£äžã®æ©æŠãããžãã¹ã€ãã·ã¢ããã®åŠšãã«ãªã£ãŠããåå ã蚺æãããã®é¢é£æ§ã«åºã¥ããŠå€æŽã®åªå é äœã決å®ããŸãããã
äŸãã°ã補åããŒããããã§äŸ¡æ Œèšå®ã¢ãã«ã®é »ç¹ãªå®éšãæ±ããããŠããã«ããããããã課éãã€ã¯ããµãŒãã¹ããµãã¹ã¯ãªãã·ã§ã³ããžãã¯ãšå¯çµåããŠããå Žåãããããªãã¡ã¯ã¿ãªã³ã°ã®åªå äºé ãšãªããŸããåé¡ç¹ã¯ãã¯ãæè¡çãªãã®ã§ã¯ãªãããœãããŠã§ã¢ã®å¶çŽã«åœè£ ãããããžãã¹äžã®å¶çŽã§ããåæ§ã«ã3ã€ã®ãµãŒãã¹éã§ã¿ã€ã ã¢ãŠããé »ç¹ã«çºçãã顧客ã®ãªã³ããŒãã£ã³ã°ãé ãå Žåããã®ã¯ãŒã¯ãããŒã¯ããã©ãŒãã³ã¹ã ãã§ãªãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãšãªãã³ã·ã§ã³ã®èгç¹ãããæé©åããå¿ èŠããããŸãã
蚺æäžã«ãããã¯ããããŒãžã£ãŒãã¢ããªã¹ããã«ã¹ã¿ããŒãµããŒãããŒã ãšé£æºããããšã§ãããããé ããé¢é£æ§ãæããã«ãªããŸããããã«ãããã¢ãŒããã¯ãã£ããŒãããããããžãã¹ææãšæŽåãããªãã¡ã¯ã¿ãªã³ã°ã®åãã€ã«ã¹ããŒã³ã§æž¬å®å¯èœãªäŸ¡å€ãå®çŸãããŸãããŸããããŒã ã®éäžåãç¶æããã¹ã³ãŒãã¯ãªãŒããåé¿ããçµç¹å šäœã«ãããããã¯ãšã³ãæ¹åã®éèŠæ§ã匷åããã®ã«ã圹ç«ã¡ãŸãã
ãã¬ãŒã¯ã¹ã«ãŒãžã®éåçïŒå€é©ã®èšèš
åé¡ç¹ãããã«ããã¯ããããŠã¢ãŒããã¯ãã£ã®éžè±ãç¹å®ããåŸã次ã®éèŠãªã¹ãããã¯ãªãã¡ã¯ã¿ãªã³ã°ã®ã¢ãããŒããèšèšããããšã§ãããã€ã¯ããµãŒãã¹å€é©ãæåãããã«ã¯ãæè¡ç®æšãšããªããªãŒã¿ã€ã ã©ã€ã³ã®ãã©ã³ã¹ãåã£ããç¶¿å¯ãªãã«ãŒããªã³ããå¿ èŠã§ããç¡è¬ãªæ¹é©ã¯ããµãŒãã¹ã®åæ¢ãéçºè ã®ããŒã³ã¢ãŠããããŒããããã®åæ»ãšãã£ããªã¹ã¯ããããããŸããããããã¢ãžã¥ãŒã«æ§ãèªåŸæ§ããããŠããžãã¹ãšã®æŽåæ§ãéèŠããçŸå®çãªèšç»ã«åºã¥ããŠã¢ãŒããã¯ãã£ãåæ§ç¯ããå¿ èŠããããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ã枬å®å¯èœãªç®æšãèšå®ããå®è¡å¯èœãªæŠç¥ãè©äŸ¡ããæ··ä¹±ãªãç¶ç¶çãªãªãã¡ã¯ã¿ãªã³ã°ãå¯èœã«ããã¬ããã³ã¹ã¢ãã«ãæ§ç¯ããæ¹æ³ãæ¢ããŸãã
ã€ã³ãã¯ãäž»å°ã®ææšã䜿çšããŠæåãå®çŸ©ãã
ãªãã¡ã¯ã¿ãªã³ã°äœæ¥ãéå§ããåã«ãæç¢ºãªæåã®å®çŸ©ã確ç«ããå¿ èŠããããŸãããããã®ææšã¯ãã·ã¹ãã ã¬ãã«ã®ããã©ãŒãã³ã¹åäžãšçµç¹å šäœã®ã¡ãªããã®äž¡æ¹ãæãããã®ã§ãªããã°ãªããŸããããããã¯ãªãŒã³ã«ãããããè€éãã軜æžããããšãã£ãæŒ ç¶ãšããç®æšã§ã¯ãå ·äœçãªæ¹åæ§ã瀺ãããšã¯ã§ããŸããããããããããã€ã¡ã³ãé »åºŠããµãŒãã¹ã®çšŒåæéãéçºãªãŒãã¿ã€ã ãã€ã³ãã©ã³ã¹ãå¹çãšãã£ãå ·äœçãªææãšç®æšãçµã³ä»ããŸãããã
äŸãã°ããããã€ã¯ããµãŒãã¹ã®çŸåšã®ãããã€ã¡ã³ããµã€ã¯ã«ãçžäºäŸåæ§ãšãã¹ãã®ãªãŒããŒãããã®ããã«1é±éããã£ãŠããå Žåããªãã¡ã¯ã¿ãªã³ã°ã®ç®æšãšããŠã¯ãã®ãµã€ã¯ã«ã1æ¥ã«ççž®ããããšãèããããŸããåæ§ã«ããŠãŒã¶ãŒåããµãŒãã¹ã®å¿çæéãããŒã¯è² è·æã«äœäžããå Žåã¯ãæé©åã®ååŸã§ããã©ãŒãã³ã¹ãã³ãããŒã¯ãå®çŸ©ããæž¬å®ããå¿ èŠããããŸãã
ææšã¯ããªãã¡ã¯ã¿ãªã³ã°ã«ããã人éçãªåŽé¢ãåæ ããå¿ èŠããããŸããæ°ããããŒã ã¡ã³ããŒã¯ã©ããããæ©ããªã³ããŒãã£ã³ã°ã§ããã§ããããïŒè²¬ä»»ã®æåšãäžæçã ã£ãããããžãã¯ãè€éã ã£ããããŠãéçºè å士ãäºãã«é»å®³ãåãé »åºŠã¯ã©ããããã§ããããïŒãããã®ææšã¯ãã¢ãŒããã¯ãã£ã®å¥å šæ§ã远跡ããã ãã§ã¯ãããŸããããªãã¡ã¯ã¿ãªã³ã°ã®æææ±ºå®ãå°ããæè¡æè³ã®å ·äœçãªäŸ¡å€ã瀺ãããšã§ãã¹ããŒã¯ãã«ããŒã®æ¯æãåŸãã®ã«åœ¹ç«ã¡ãŸãã
é©åãªãªãã¡ã¯ã¿ãªã³ã°ãã¹ãéžæãã
ãã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã«ã¯ãäžèœãªã¢ãããŒãã¯ãããŸãããæŠç¥ã¯ãçŸåšã®ã¢ãŒããã¯ãã£ã®æç床ãçµç¹æ§é ããããŠäžæã«å¯Ÿãã蚱容床ã«åãããŠçå®ããå¿ èŠããããŸããäžè¬çã«é©çšãããæŠç¥ã¯ã倧ããåããŠ3ã€ãããŸããããã¯ã段éçãªåæ§ç¯ãã¢ãžã¥ãŒã«çœ®æïŒå€ãã®å Žåãã¹ãã©ã³ã°ã©ãŒãã¿ãŒã³ã䜿çšïŒããããŠãã¡ã€ã³é§åååèšèšã§ãã
å¢åçåæ§ç¯ã¯ãã»ãŒå®å®ããŠãããã®ã®ãç¹å®ã®ã¢ãŒããã¯ãã£äžã®ãããã¹ãããã«æ©ãŸãããŠããã·ã¹ãã ã«æé©ã§ãã倿Žã¯æ®µéçã«å°å ¥ãããæ¹åã¯ç¬ç«ãããããŒå ã§ãã¹ããããŸãããã®ã¢ãããŒãã¯ãªã¹ã¯ãæããŸãããéšåçãªä¿®æ£ã«ãã£ãŠæ°ããªäžæŽåãçããã®ãé²ããããé«ãèŠåŸãæ±ããããŸãã
ã¹ãã©ã³ã°ã©ãŒãã¿ãŒã³ã¯ãæŠè¡çãªäžéå°ç¹ãæäŸããŸããã¬ã¬ã·ãŒãµãŒãã¹ã¯ãæ°ãããã€ã¯ããµãŒãã¹ã«å²ãŸããæ©èœããšã«åŸã ã«è²¬ä»»ãåŒãç¶ããŸããæéã®çµéãšãšãã«ãå ã®ãµãŒãã¹ã¯é³è åãããªã¹ã¯ã®é«ãã«ãããªãŒããŒãäžåè¡ããã«å»æ¢ãããŸãã
ãã¡ã€ã³é§ååã®åèšèšã¯ããææ¬çãªã¢ãããŒãã§ãããçŸåšã®ã¢ãŒããã¯ãã£ãããžãã¹ããŒãºãåæ ããªããªã£ãå Žåã«æé©ã§ãããã®ã¢ãã«ã§ã¯ãæç¢ºã«å®çŸ©ããããµãŒãã¹å¥çŽãšããŒã¿æææš©ãæã€å¢çä»ããããã³ã³ããã¹ããäžå¿ã«ã·ã¹ãã ãåæ§ç¯ãããŸãããã®ã¢ãããŒãã¯ããç Žå£çã§ãããæ£ç¢ºã«å®è¡ããã°ã¹ã±ãŒã©ããªãã£ãšä¿å®æ§ãåçã«åäžãããããšãã§ããŸãã
åæŠç¥ã¯ãæè¡çãªå®çŸå¯èœæ§ã ãã§ãªããããŒã ã®èœåãããžãã¹ã®ã¿ã€ã ã©ã€ã³ã蚱容å¯èœãªãªã¹ã¯ã®ãããå€ã®èгç¹ãããè©äŸ¡ããå¿ èŠããããŸãã
æ¥åãé ãããããšãªãã¬ããã³ã¹ãã¬ãŒã ã¯ãŒã¯ãæ§ç¯ãã
ãã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ãå€ãã®å Žåãè€æ°ã®ããŒã ããµãŒãã¹ããããŠäºæ¥éšéã«ãŸããããŸããã¬ããã³ã¹ãã¬ãŒã ã¯ãŒã¯ããªããã°ãããã»ã¹ã¯æçåãããäžè²«æ§ããªããªããååž°ãçºçãããããªããŸããåæã«ãã¬ããã³ã¹ãããã«ããã¯ã«ãªã£ãŠã¯ãªããŸãããç®æšã¯ãå ±éã®æšæºãæç¢ºãªããã¥ã¡ã³ãããããŠéäžç®¡çã§ã¯ãªãã軜éãªèª¿æŽã«ãã£ãŠããŒã ãæ¯æŽããããšã§ãã
ãŸãããµãŒãã¹ã®æææš©ãæç¢ºã«å®çŸ©ããããšããå§ããŸãããããã¹ãŠã®ãµãŒãã¹ã«ã¯ãã¢ãŒããã¯ãã£ãã©ã³ã¿ã€ã ããã¹ããæ åœããäž»èŠããŒã ãå¿ èŠã§ããå ±æããã¥ã¡ã³ãã«ã¯ããµãŒãã¹å¢çãAPIå¥çŽãããŒã¿ãããŒãç£èŠã®æåŸ äºé ãå«ããå¿ èŠããããŸãããããã®æ å ±ã¯ããŒãžã§ã³ç®¡çããããªããžããªã«ä¿åããã³ãŒãããŒã¹ã«åãããŠé²åãããå¿ èŠããããŸãã
調æŽã¯ãã¢ãŒããã¯ãããã¯ãã«ã«ãªãŒããã€ã³ãã©ããŒã ãçµéããã¯ãŒãã³ã°ã°ã«ãŒããã®ã«ããéããŠç¶æã§ããŸãããããã®ã°ã«ãŒãã¯ããªãã¡ã¯ã¿ãªã³ã°ã®åãçµã¿ããèªèšŒã¡ã«ããºã ããã°åœ¢åŒããããã€ã¡ã³ããã©ã¯ãã£ã¹ãšãã£ãã·ã¹ãã å šäœã®æšæºã«æºæ ããŠããããšãä¿èšŒããŸãã
广çãªã¬ããã³ã¹ã¢ãã«ã«ã¯ã宿çãªã¢ãŒããã¯ãã£ã¬ãã¥ãŒãå«ãŸããŸããããã¯ãããããŠã³ã®èšèšæç€ºã§ã¯ãªããææ¡ããããªãã¡ã¯ã¿ãªã³ã°ãè©äŸ¡ããäžæµãžã®åœ±é¿ãäºæž¬ããåŸãããæèšãå ±æããããã®å ±åã»ãã·ã§ã³ã§ããã¹ãã§ãããã®ããã«ããŠãã¬ããã³ã¹ã¯å®åçãªé害ã§ã¯ãªããæç¶å¯èœãªã¢ãŒããã¯ãã£ãå®çŸããææ®µãšãªããŸãã
å°ãªãã³ãŒãã§ããå€ãã®ææãïŒæŠè¡çãªãªãã¡ã¯ã¿ãªã³ã°
ã¢ãŒããã¯ãã£ã®ããžã§ã³ãæç¢ºã«ãªããã¬ããã³ã¹ãã¬ãŒã ã¯ãŒã¯ãæŽåããããšãçã®å€é©ãå§ãŸããŸããæŠè¡çãªãªãã¡ã¯ã¿ãªã³ã°ã§ã¯ããµãŒãã¹å¢çãéä¿¡ãããŒãããŒã¿æ§é ãå¯èŠ³æž¬æ§ã¬ã€ã€ãŒã暪æãããå€ç§çãªæ¹åãè¡ãããŸããããã§ãã¢ãŒããã¯ãã£èšç»ãã³ãŒãã«å€æãããŸããç®æšã¯ãœãããŠã§ã¢ã远å ããããšã§ã¯ãªããäžèŠãªè€éããéè€ãè匱æ§ãåæžããããšã§ãããã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ãæç¢ºãªãŠãŒã¹ã±ãŒã¹ã«åºã¥ããçŽæãéå»ã®çµéšã«åºã¥ãæèŠã§ã¯ãªããå®éã®å®è¡æã®åäœã«åºã¥ããŠè¡ãããå Žåã«æã广çã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ããµãŒãã¹ãæé©åããå®éã®äœ¿çšãã¿ãŒã³ã«é©åãããããã®å®çšçãªææ³ãæ€èšããŸãã
ãµãŒãã¹ã®å¢çãåæ§ç¯ãã
ãã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã«ãããŠæã圱é¿åã®ãã倿Žã®äžã€ã¯ãè«ççãªããžãã¹ãã¡ã€ã³ãåæ ããããã«ãµãŒãã¹å¢çãåå®çŸ©ããããšã§ããæéã®çµéãšãšãã«ããµãŒãã¹ã¯æ¬æ¥ã®ã¹ã³ãŒããè¶ ããŠæ¡åŒµããæ¬æ¥å±ããªã圹å²ãæ ãåŸåããããŸãããã®çµæãã€ã³ã¿ãŒãã§ãŒã¹ã®è¥å€§åãé ããäŸåé¢ä¿ããããŠå€æŽå°å ¥æã®äºæãã¬å¯äœçšãçããŸãã
ãµãŒãã¹å¢çãåæ§ç¯ããã«ã¯ããŸããåŠçããããŒã¿ãšæäœãåæããããšããå§ããŸããæ©èœããããã«è€æ°ã®ãã¡ã€ã³ã«é¢ããç¥èãå¿ èŠã§ããããïŒäŸåé¢ä¿ãä»ã®ãµãŒãã¹ã«æŒãåºãŠããã§ããããïŒäŸãã°ã泚æã ãã§ãªãæ¯æãã®æ€èšŒãšãŠãŒã¶ãŒã®æ¿èªã管çãããæ³šæãµãŒãã¹ãã¯ãæ¢ã«å€ãã®å¢çãè¶ããŠããŸãããã®ãµãŒãã¹ã¯ããæ¯æããµãŒãã¹ãããæ¿èªãµãŒãã¹ããšãã£ããããå°ãããŸãšãŸãã®ããåäœã«åè§£ããå¿ èŠããããŸãã
ãã¡ã€ã³é§åèšèšã®æŠå¿µã§ããå¢çä»ãã³ã³ããã¹ããããã³ã°ãçšããŠãé¢å¿äºãåé¢ããŸããéçŽãšããããçºè¡ããã€ãã³ããç¹å®ããŸãããããŠãããžãã¯ãåäžã®ã³ã³ããã¹ããæã€ãµãŒãã¹ã«ã¯ã©ã¹ã¿åããŸãããã®ããã»ã¹ã¯ãéçºãšãã¹ããç°¡çŽ åããã ãã§ãªããã¹ã±ãŒãªã³ã°ã®æ±ºå®ã容æã«ãªããŸããçŠç¹ãçµã£ããµãŒãã¹ã¯ãè€æ°ã®ç¡é¢ä¿ãªããŒã«ãå®è¡ãããµãŒãã¹ããããè² è·ãããã£ãéã®äºæž¬å¯èœæ§ãã¯ããã«é«ããªããŸãã
以äžã¯ããµãŒãã¹å¢çéåãšãã®ä¿®æ£æ¹æ³ã瀺ã Python ã®ç°¡ç¥åãããäŸã§ãã
pythonã³ããŒç·šé# BEFORE: Order service doing too much
class OrderService:
def place_order(self, user, items):
if not self.is_authorized(user):
raise Exception("Unauthorized")
self.validate_payment(user)
self.save_order(items)
# AFTER: Delegated to appropriate services
class OrderService:
def place_order(self, user, items):
if not AuthService().is_authorized(user):
raise Exception("Unauthorized")
PaymentService().validate(user)
OrderRepository().save(items)
ãã®ç§»è¡ã«ãããæç¶å¯èœãªãã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ã®åºç€ãšãªãæç¢ºããšã¢ãžã¥ãŒã«æ§ãå埩ãããŸãã
ãµãŒãã¹ééä¿¡ã®æé©å
éä¿¡ãã¿ãŒã³ã¯ãå¿çæ§ã«åªããã¹ã±ãŒã©ãã«ãªã·ã¹ãã ãšãè匱ã§ã¬ã€ãã³ã·ãçºçããããã¢ãŒããã¯ãã£ã®éããæ±ºå®ã¥ããããšãå€ãã§ããå€ãã®ãã€ã¯ããµãŒãã¹ã·ã¹ãã ã¯ãRESTããŒã¹ã®åæåŒã³åºãããå§ãŸããåŸã ã«å¯çµååãé²ã¿ããšã©ãŒã«å¯Ÿããæåæ§ãé«ãŸããŸããéä¿¡ãæé©åããã«ã¯ããµãŒãã¹éã®éä¿¡æ¹æ³ãšã¿ã€ãã³ã°ãåèããå¿ èŠããããŸãã
ãŸããäžèŠãªåæäŸåé¢ä¿ãç¹å®ããŸãããµãŒãã¹Aã¯ãµãŒãã¹Bããã®å³æå¿çãæ¬åœã«å¿ èŠãšããŠããã®ã§ããããããããšãéšåçãªæ å ±ã§åŠçãé²ããåŸã§èª¿æŽã§ããã®ã§ããããïŒããããã³ã°åŒã³åºãããéåæã¡ãã»ãŒãžã³ã°ãžã®ç§»è¡ã¯ããµãŒãã¹ãåé¢ããæã匷åãªæ¹æ³ã®äžã€ã§ããã¡ãã»ãŒãžãã¥ãŒãã€ãã³ããããŒã«ãŒãå°å ¥ããããšã§ããµãŒãã¹ã¯äžæµããã®å¿çãåŸ ããã«æŽæ°ããªã¯ãšã¹ããçºè¡ããæ¬¡ã®åŠçã«é²ãããšãã§ããŸãã
äŸãã°ãå庫ã€ãã³ãã«ãã£ãŠããªã¬ãŒããã補ååšåº«ã®æŽæ°ãèããŠã¿ãŸãããã補åã«ã¿ãã°ãµãŒãã¹ãçŽæ¥åŒã³åºã代ããã«ãåšåº«ãµãŒãã¹ã¯ã€ãã³ããçºè¡ã§ããŸãã
javascriptã³ããŒç·šé// Node.js example using an event bus
eventBus.publish('StockUpdated', {
productId: 'XYZ',
newQuantity: 130
});
補åã«ã¿ãã°ãµãŒãã¹ã¯ãã®ã€ãã³ãããµãã¹ã¯ã©ã€ãããããã«å¿ããŠã¬ã³ãŒããæŽæ°ããŸãããã®éåæã¢ãã«ã«ããããã©ãŒã«ããã¬ã©ã³ã¹ãåäžããæ°Žå¹³ã¹ã±ãŒãªã³ã°ããµããŒãããããããã€ã¡ã³ãæã®èª¿æŽã®è€éãã軜æžãããŸãã
ãã ãããã®ã¢ãã«ã¯çµææŽåæ§ãå°å ¥ããå ç¢ãªé害åŠçãå¿ èŠãšããŸãããããã¬ã¿ãŒãã¥ãŒãå詊è¡ããªã·ãŒããããŠã¹ãççãªã¡ãã»ãŒãžåŠçãã·ã¹ãã ã«çµã¿èŸŒãå¿ èŠããããŸãããã®çµæãããå埩åãé«ããç¬ç«ããŠé²åããã¢ãŒããã¯ãã£ãå®çŸããŸãã
ããŒã¿ã¬ã€ã€ãŒãåæ§ç¯ãã
ãµãŒãã¹ãå ±æããŒã¿ããŒã¹ãå€éšããŒã¿ã¢ãã«ã«äŸåãããšããµãŒãã¹ã®èªåŸæ§ã¯æ¥éã«åŽ©å£ããŸããçã®ãã€ã¯ããµãŒãã¹ã¯ãäžè²«æ§ãšã¹ã±ãŒã©ããªãã£ã®äž¡æ¹ã®èгç¹ãããããŒã¿ãææããå¿ èŠããããŸããããŒã¿å±€ã®ãªãã¡ã¯ã¿ãªã³ã°ã«ã¯ãã¹ããŒãã®åé¢ãå¢çã®é©çšããããŠãµãŒãã¹éã®æç¢ºãªããŒã¿ã³ã³ãã©ã¯ãã®ç¢ºç«ãå«ãŸããŸãã
ãŸããè€æ°ã®ãµãŒãã¹ããã¢ã¯ã»ã¹ãããããŒãã«ãŸãã¯ã³ã¬ã¯ã·ã§ã³ãç¹å®ããããšããå§ããŸããããããã¯ãããŒã¿ã¢ãã«ãåèããããšãªãã¬ã¬ã·ãŒã·ã¹ãã ããã€ã¯ããµãŒãã¹ã«ãªãã¡ã¯ã¿ãªã³ã°ããå Žåã«ããçºçããŸããæåã®ã¹ãããã¯ããµãŒãã¹åºæã®ããŒã¿ããŒã¹ãäœæããããšã§ããåãµãŒãã¹ã¯ãã¹ããŒãã®é²åãã€ã³ããã¯ã¹æŠç¥ãããã¯ã¢ããããªã·ãŒãªã©ãèªèº«ã®ããŒã¿ãå®å šã«å¶åŸ¡ã§ããå¿ èŠããããŸãã
ãµãŒãã¹éã®ããŒã¿ã¢ã¯ã»ã¹ã¯ãçŽæ¥ã¯ãšãªã§ã¯ãªããAPIãŸãã¯ã¡ãã»ãŒãžã³ã°ãä»ããŠåŠçããå¿ èŠããããŸããäŸãã°ã課éãµãŒãã¹ããŠãŒã¶ãŒããŒã¿ããŒã¹ãã顧客ããŒã¿ãçŽæ¥èªã¿åãã®ã§ã¯ãªãããŠãŒã¶ãŒãµãŒãã¹ãåŒã³åºããããŠãŒã¶ãŒã€ãã³ãããµãã¹ã¯ã©ã€ãããå¿ èŠããããŸããããã«ãããåãµãŒãã¹ã¯ããŒã¿ã®ã«ãã»ã«åãç¶æããç¬ç«ããŠé²åããããšãã§ããŸãã
ããé«åºŠãªã±ãŒã¹ã§ã¯ãCQRSïŒã³ãã³ãã¯ãšãªã®è²¬ä»»ã®åé¢ïŒãŸãã¯ã€ãã³ããœãŒã·ã³ã°ã䜿çšããŠãæžã蟌ã¿äžå¿ãšèªã¿åãäžå¿ã®æžå¿µäºé ãåé¢ããŸããããã«ãããã³ã¢ãã¡ã€ã³ããžãã¯ãšã¯ãšãªããžãã¯ãåé¢ãããŸãŸãã¹ã±ãŒã©ããªãã£ãšç£æ»å¯èœæ§ãåäžããŸãã
ããŒã¿å±€ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ããã€ã¯ããµãŒãã¹å€é©ã«ãããŠæãè€éãªãã§ãŒãºã®äžã€ã§ãããåæã«æã倧ããªææããããããŸãã忣ã·ã¹ãã ã«ãããæãäžè¬çãªé害åå ã®äžã€ãæé€ããããäºæž¬å¯èœã§å®å šãªéçšãžã®éãéããŸãã
æ·±ãç£èŠãšå埩ã¬ã€ã€ãŒã远å ãã
ãã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ãå¯èŠ³æž¬æ§ã®åäžãªãã«ã¯å®äºããŸããã忣ã·ã¹ãã ã§ã¯ãå¯èŠæ§ãä¿¡é Œæ§ã®ç¶æã«äžå¯æ¬ ã§ãã匷åãªç£èŠãšãã¬ãŒã¹ããªããã°ãéå®³ã®æ©ææ€ç¥ãæ ¹æ¬åå ã®ç¹å®ããµãŒãã¹éã®é£æºã®æé©åã¯ã»ãŒäžå¯èœã§ãã
ãŸãããã¹ãŠã®ãµãŒãã¹ã«åæ£ãã¬ãŒã¹ãå®è£ ããããšããå§ããŸããããããã«ãããåäžã®ãªã¯ãšã¹ããè€æ°ã®ãããã«ããã£ãŠè¿œè·¡ããé å»¶ãé害ãçºçããå Žæãæ€åºã§ããŸããOpenTelemetryãJaegerãªã©ã®ããŒã«ã¯ãã¬ã€ãã³ã·ã®ããã«ããã¯ããªãã©ã€ã¹ããŒã ãäºæããªãåŒã³åºãã«ãŒããªã©ãæç¢ºã«ç€ºã詳现ãªãã¬ãŒã¹å¯èŠåæ©èœãæäŸããŸãã
ããã«ãçžé¢IDãçšããæ§é åãã°ãçµã¿èŸŒã¿ãŸãããã°ã¯ãµãŒãã¹éã§äžè²«æ§ãä¿ã¡ãèªååæããµããŒãã§ããããã«èšèšããå¿ èŠããããŸããã¡ããªã¯ã¹åéã«ã¯ãã·ã¹ãã ã®å¥å šæ§ïŒCPUãã¡ã¢ãªããªã¯ãšã¹ãã¬ãŒãïŒã ãã§ãªããæ³šæå®äºçããã°ã€ã³æåçãšãã£ãããžãã¹ã¬ãã«ã®ææšãå«ããå¿ èŠããããŸãã
ãšã©ãŒãªã«ããªã¯ãã¹ãŠã®ãµãŒãã¹ã«çµã¿èŸŒãå¿ èŠããããŸãããµãŒããããã¬ãŒã«ãŒãææ°ããã¯ãªãã«ããå詊è¡ããã©ãŒã«ããã¯ããžãã¯ãªã©ã掻çšããäžæçãªéå®³ãæ¡å€§ããªãããã«ããŸããç®æšã¯é害ãå®å šã«æé€ããããšã§ã¯ãªããé害ãåé¢ããé©åã«åŸ©æ§ããããšã§ãããã®ã¬ãã«ã®éçšæç床ãéæããããšã§ããªãã¡ã¯ã¿ãªã³ã°ããããµãŒãã¹ã¯èªå·±å®çµåã§èªå·±ä¿®åŸ©æ©èœãæã€ãŠããããžãšé²åããŸãã
ãªãªãŒã¹åã«æ€èšŒïŒããã®ããã«ãã¹ããã
ãã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ãåãªãæ§é çãªäœæ¥ã§ã¯ãããŸãããããã¯ãªã¹ã¯ã®é«ãäœæ¥ã§ãããé©åã«ç®¡çããªããšãæ°ããªãã°ãããã©ãŒãã³ã¹ã®äœäžããµãŒãã¹é害ãåŒãèµ·ããå¯èœæ§ããããŸããæ€èšŒã¯ãã¢ãŒããã¯ãã£ãšèª¬æè²¬ä»»ãèåããå Žæã§ãããªãã¡ã¯ã¿ãªã³ã°ããããµãŒãã¹ããããã€ããåã«ããã®æ£ç¢ºæ§ãå埩åããããŠæ©èœäžã®æåŸ å€ãšã®æŽåæ§ã蚌æããå¿ èŠããããŸãããã€ã¯ããµãŒãã¹ç°å¢ã«ããããã¹ãã¯ãåŸæ¥ã®åäœãã¹ãã®æ ãè¶ ãããããã¯ãŒã¯ã®ã¬ã€ãã³ã·ãäŸåé¢ä¿ã®æåãã¡ãã»ãŒãžã®æŽåæ§ããããŠããŒã éã®å¥çŽã®å€åãèæ ®ããå¿ èŠããããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãå®å šãªããŒã«ã¢ãŠããšè¿ éãªãã£ãŒãããã¯ã«ãŒããå®çŸããé«åºŠãªãã¹ãææ³ãšå®è·µçãªãã©ã¯ãã£ã¹ãæ€èšŒããŸãã
èªååãããå質ããããæ§ç¯ãã
èªä¿¡ãæã£ãŠãµãŒãã¹ããªãã¡ã¯ã¿ãªã³ã°ããã«ã¯ãã·ã¹ãã ã®ããããã¬ã€ã€ãŒã«èªåãã¹ããçµ±åããå¿ èŠããããŸããããã«ã¯ãã³ã¢ããžãã¯ã®åäœãã¹ããAPIã®æŽåæ§ãæ€èšŒããã³ã³ãã©ã¯ããã¹ããäŸåé¢ä¿ã®æ€èšŒãç®çãšããçµ±åãã¹ãããããŠã¯ãŒã¯ãããŒå šäœãæ€èšŒãããšã³ãããŒãšã³ããã¹ããå«ãŸããŸããåãã¹ãã¿ã€ãã¯ããããç°ãªãç®çãæã¡ãå€§èŠæš¡ãªç°å¢ã§ãå質ãç¶æããããã«ã¯ãããããã¹ãŠãäžå¯æ¬ ã§ãã
ãŠããããã¹ãã¯ããµãŒãã¹å ã®ç¬ç«ããããžãã¯ãæ€èšŒããŸãããŠããããã¹ãã¯é«éãã€æ£ç¢ºã§ããããããã¹ãã¹ã€ãŒãã®åºç€ãšãªããŸãããããããµãŒãã¹éã®çžäºäœçšã«ãããåé¡ã¯æ€åºã§ããŸãããã³ã³ãã©ã¯ããã¹ãã¯ãã®ã®ã£ãããåãããã®ã§ããã³ã³ãã©ã¯ããã¹ãã¯ããµãŒãã¹ã®APIããã®å©çšè ã®æåŸ ã«é©åããŠããããšããããŠãã®éãä¿èšŒããŸããããã«ããããããµãŒãã¹ã®å€æŽãäžæµã®å©çšè ã«äºæãã¬åœ±é¿ãäžãããããªç¶æ³ãé²ãããšãã§ããŸãã
ããšãã°ããŠãŒã¶ãŒ ãµãŒãã¹ããããã¡ã€ã« ãšã³ããã€ã³ãçšã® JSON API ãæäŸããå Žåãã³ã³ã·ã¥ãŒã㌠ã³ã³ãã©ã¯ã ãã¹ãã§ã¯æ§é ãæ€èšŒããå¯èœæ§ããããŸãã
jsonã³ããŒç·šé{
"id": "string",
"name": "string",
"email": "string"
}
éçºè ãæ°ããå¿ é ãã£ãŒã«ãã远å ããããããŒã倿Žãããããå Žåã倿Žãæç€ºçã«èª¿æŽãããŠããªãéããå¥çŽãã¹ãã¯å€±æããŸããçµ±åãã¹ãã¯ãå€ãã®å Žåãã¡ã¢ãªå ãŸãã¯ã¢ãã¯äŸåé¢ä¿ã䜿çšããŠããµãŒãã¹éã®å®éã®åŒã³åºããã·ãã¥ã¬ãŒãããŸãããããã®ãã¹ãã§ã¯ãèªèšŒãããŒããªã¯ãšã¹ããã€ããŒããããã³ã¬ã¹ãã³ã¹åœ¢åŒãæ£ããæŽåããŠããããšã確èªããŸãã
ãšã³ãããŒãšã³ããã¹ãã¯æé«ã¬ãã«ã§å®è¡ãããè€æ°ã®ãµãŒãã¹ã«ãããå®éã®ãŠãŒã¶ãŒã¯ãŒã¯ãããŒãåçŸããŸããé床ã¯é ããã®ã®ããªã³ããŒãã£ã³ã°ããã§ãã¯ã¢ãŠãããã¡ã€ã«ã¢ããããŒããšãã£ãã·ããªãªããã«ã¹ã¿ãã¯å šäœã§æ€èšŒããããã«äžå¯æ¬ ã§ãããªãã¡ã¯ã¿ãªã³ã°ã®éã«ã¯ãåãã¹ãã¹ã€ãŒããã¬ãŒãã¬ãŒã«ãæäŸããååž°ãé²ããéçºè ã®ä¿¡é Œæ§ãé«ããŸãã
è² è·ãã¹ããšã«ãªã¹ãã¹ãã宿œãã
ãªãã¡ã¯ã¿ãªã³ã°ããããµãŒãã¹ã¯ãæ£ç¢ºæ§ã ãã§ãªããã¹ãã¬ã¹äžã§ã®å埩åã«ã€ããŠããã¹ãããå¿ èŠããããŸããè² è·ãã¹ãã§ã¯ãéåžžã®éçãè¶ ããè² è·ãããã£ãå Žåã®ãµãŒãã¹ã®åäœãæ€èšŒããŸããã¡ã¢ãªãªãŒã¯ãã¹ã¬ããç«¶åããã¥ãŒã€ã³ã°é å»¶ãããŒã¿ããŒã¹ç«¶åãšãã£ãåé¡ãæããã«ãªããŸããLocustãGatlingãk6ãªã©ã®ããŒã«ã¯ãæ°å人ã®ãŠãŒã¶ãŒãã·ãã¥ã¬ãŒãããçŸå®äžçã®ãã©ãã£ãã¯ãã¿ãŒã³ãçæã§ããŸãã
ãŸãã¯ããŒã¹ã©ã€ã³ææšããå§ããŸããããçŸåšã®ãµãŒãã¹ãåŠçã§ããæå€§ã¹ã«ãŒãããã¯ã©ããããã§ããããïŒéåžžæãšããŒã¯æã®è² è·ã«ãããå¿çæéã¯ã©ããããã§ããããïŒã¹ãã€ã¯çºçåŸã®ã·ã¹ãã å埩ã¯ã©ãã§ããããïŒæ¬çªç°å¢ãžã®åœ±é¿ãé¿ããããããªãæéãéé¢ãããç°å¢ã§ãã¹ãã宿œããŸãããã
ã«ãªã¹ãã¹ãã¯ã¬ãžãªãšã³ã¹ãããã«äžæ©é²ããŸããå¶åŸ¡ãããé害ãç°å¢ã«å°å ¥ãããµãŒãã¹ã®å¿çæ§ãè©äŸ¡ããŸããããããã©ã³ãã ã«åæ¢ããããäŸåãµãŒãã¹ã«ã¬ã€ãã³ã·ãçºçãããããããŒã¿ããŒã¹ã®é害ãã·ãã¥ã¬ãŒããããããŸãããããã®ãã¹ãã«ããããã©ãŒã«ããã¯ããžãã¯ã®åŒ±ç¹ãæããã«ãªãããµãŒããããã¬ãŒã«ãŒããªãã©ã€ãæåŸ ã©ããã«åäœãããã©ããã確èªã§ããŸãã
ããšãã°ãKubernetes ã¯ã©ã¹ã¿ãŒã§ã¯ã次ã®ãããªç°¡åãªã³ãã³ãã䜿çšããŠã«ãªã¹ãã·ãã¥ã¬ãŒãã§ããŸãã
bashã³ããŒç·šékubectl delete pod user-service-abc123
ããã«ãããã·ã¹ãã ãã©ã®ããã«ãã©ãã£ãã¯ããªã«ãŒãããè² è·ãåŠçãããµãŒãã¹ã¬ãžã¹ããªãæŽæ°ãããããã¹ãããçµäºã€ãã³ããããªã¬ãŒãããŸããè² è·ãã¹ããšã«ãªã¹ãã¹ãã®äž¡æ¹ã¯ããã€ã¯ããµãŒãã¹ãæ£åžžãªãã¹ã ãã§ãªããçŸå®äžçã®äºæž¬äžå¯èœãªç¶æ³ã«ã察å¿ã§ããããšãæ€èšŒããããã«äžå¯æ¬ ã§ãã
ã«ããªã¢ãããã€ã¡ã³ããšããŒã«ããã¯ãå®å šã«äœ¿çšãã
ãµãŒãã¹ãèªååãã¹ããçµ±åãã¹ããããã©ãŒãã³ã¹ãã¹ãã«åæ ŒããåŸããæ¬çªç°å¢ãžã®å°å ¥ã¯æ éã«è¡ãå¿ èŠããããŸãããªãã¡ã¯ã¿ãªã³ã°ã«ãã倿Žã¯ã¯ãªãã£ã«ã«ãã¹ã«åœ±é¿ãäžããããšãå€ããå®å šãªããŒã«ã¢ãŠãã¯äžèŠãªãªã¹ã¯ããããããŸãã代ããã«ãã«ããªã¢ãããã€ã䜿çšããŠãå°æ°ã®ãŠãŒã¶ãŒãŸãã¯ãã©ãã£ãã¯ã«ã®ã¿å€æŽããªãªãŒã¹ããåäœããªã¢ã«ã¿ã€ã ã§ç£èŠããããšããå§ãããŸãã
ã«ããªã¢ãããã€ã§ã¯ããšã©ãŒçãã¬ã€ãã³ã·ããŠãŒã¶ãŒãšã³ã²ãŒãžã¡ã³ããšãã£ãææšãæ€èšŒã§ããŸããç°åžžãæ€åºãããå Žåã¯ã倿Žãåºç¯ãªãŠãŒã¶ãŒããŒã¹ã«åœ±é¿ãäžããåã«ãçŽã¡ã«ããŒã«ããã¯ããããšãã§ããŸããå ·äœçã«ã¯ããµãŒãã¹ã¡ãã·ã¥ãããŒããã©ã³ãµã®èšå®ãçšããŠããã©ãã£ãã¯ã®5%ãæ°ããããŒãžã§ã³ã«ã«ãŒãã£ã³ã°ãããšãã£ãããšãèããããŸãã
ç£èŠããŒã«ã¯ããããã€ã¡ã³ãããã»ã¹ã«ç·å¯ã«çµ±åããå¿ èŠããããŸããHTTP 500 ã¬ãŒãã倱æããããŒã¿ããŒã¹ã¯ãšãªãå¿çæéã®ãããå€ãªã©ã®äž»èŠãªææšã«ã¢ã©ãŒããèšå®ããŸããããã·ã¥ããŒãã䜿çšããŠãå€ãããŒãžã§ã³ãšæ°ããããŒãžã§ã³ã®ã¡ããªã¯ã¹ããªã¢ã«ã¿ã€ã ã§æ¯èŒããŸããå®å šãªã«ããªã¢ãããã€ã¡ã³ããšã¯ãåã«ãªã¹ã¯ãå¶éããããšã§ã¯ãããŸãããæ©æã®èŠåãµã€ã³ãæ€ç¥ãã察åŠããããã®å¯èŠ³æž¬æ§ã€ã³ãã©ã¹ãã©ã¯ãã£ãåããããšãéèŠã§ãã
ããŒã«ããã¯ã¯èªååããååã«ãªããŒãµã«ãè¡ãå¿ èŠããããŸããããŒãžã§ã³ç®¡çãããã³ã³ãããGitOpsã¯ãŒã¯ãããŒããããã¯äžå€ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ãããã䜿çšããå Žåã§ãã倿Žã®ããŒã«ããã¯ã¯æ°æéã§ã¯ãªãæ°åã§å®äºããå¿ èŠããããŸãããã®æçµæ€èšŒãã§ãŒãºã¯ããªãã¡ã¯ã¿ãªã³ã°ããããµãŒãã¹ãæ¬çªç°å¢ã®æ°ããªæšæºãšãªãåã®æåŸã®å®å šçã§ãã
ã·ãŒã ã¬ã¹ãªããŒã«ã¢ãŠãïŒæ··ä¹±ã®ãªãç§»è¡
ãªãã¡ã¯ã¿ãªã³ã°ããããã€ã¯ããµãŒãã¹ãæ¬çªç°å¢ã«ãããã€ããããšã¯ãã¢ãŒããã¯ãã£çè«ãšéçšã®çŸå®ãåºäŒãç¬éã§ããç§»è¡ãæ éã«ç®¡çããªããã°ãã©ãã»ã©ç¶¿å¯ã«èšèšããããµãŒãã¹å€æŽã§ãã£ãŠã倱æããå¯èœæ§ããããŸãããã®ãã§ãŒãºã§ã¯ãããŠã³ã¿ã€ã ãçµ±åã®äžåãããŒã¿ã®äžäžèŽãªã©ãäžè¬çãªãªã¹ã¯ãšãªããŸãã課é¡ã¯ãã·ã¹ãã ã®å¯çšæ§ãä¿¡é Œæ§ããããŠãŠãŒã¶ãŒã«ãšã£ãŠã®äžè²«æ§ãç¶æããªãããã³ã¢ãµãŒãã¹ã眮ãæãããåæ§ç¯ãããããããšã§ããæåããããŒã«ã¢ãŠãæŠç¥ã¯ã段éçãªç§»è¡ãåŸæ¹äºææ§ããããŠé²åŸ¡çããã°ã©ãã³ã°ææ³ãçµã¿åããããã®ã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãããžãã¹ã¯ãªãã£ã«ã«ãªã·ã¹ãã ã®ãããŒãäžæããããšãªããå€ããµãŒãã¹ããæ°ãããµãŒãã¹ã«ç§»è¡ããæ¹æ³ã«ã€ããŠèª¬æããŸãã
ãµãŒãã¹ã段éçã«ç§»è¡
å€§èŠæš¡ãªãã€ã¯ããµãŒãã¹ã®å€æŽã¯æ®µéçã«å°å ¥ããå¿ èŠããããŸããæ¢åã®ãµãŒãã¹ãæ°ãããªãã¡ã¯ã¿ãªã³ã°ãããµãŒãã¹ã«çœ®ãæããå ŽåãäžåºŠã®åãæ¿ãã§æžãããšã¯ã»ãšãã©ãããŸãããæ®µéçãªç§»è¡ææ³ãçšããããšã§ã圱é¿ãæå°éã«æããåäœãæ€èšŒããæ®µéçã«ãã£ãŒãããã¯ãåéããããšãã§ããŸããç§»è¡ãå®äºãããŸã§ãæ°æ§ã®ãµãŒãã¹ãäžæçã«å ±åã§ããããã«ããããšãç®æšã§ãã
广çãªæ¹æ³ã®äžã€ã¯ã·ã£ããŠã€ã³ã°ã§ãããã®ãã¿ãŒã³ã§ã¯ããªãã¡ã¯ã¿ãªã³ã°ããããµãŒãã¹ã¯æ¢åã®ãµãŒãã¹ãšäžŠè¡ããŠå®è¡ãããŸããåä¿¡ãªã¯ãšã¹ãã¯è€è£œãããäž¡æ¹ã®ãµãŒãã¹ã«ã«ãŒãã£ã³ã°ãããŸãããã¬ã¹ãã³ã¹ã¯å ã®ãµãŒãã¹ã®ã¿ãåŠçããŸããæ°ãããµãŒãã¹ã¯ãªã¯ãšã¹ãããµã€ã¬ã³ãã«åŠçããããããŠãŒã¶ãŒã«åœ±é¿ãäžããããšãªããåäœã®æ€èšŒããã°ã®ç£èŠãããã©ãŒãã³ã¹ã®æ¯èŒãè¡ãããšãã§ããŸãã
ããäžã€ã®ã¢ãããŒãã¯ãæ©èœãã©ã°ã§ããããã¯ãæ°ãããµãŒãã¹ã§åŠçãããç¹å®ã®æ©èœããäžéšã®ãŠãŒã¶ãŒãŸãã¯ç€Ÿå ããŒã ã®ã¿ã«æå¹åãããã®ã§ããããã«ãããã©ã€ããã¹ãç°å¢ãæäŸãããããŒã«ã¢ãŠãã®èª¿æŽäžã«ãªã¹ã¯ãå¶éã§ããŸããæ©èœã®åãæ¿ãã¯äžå 管çããç°åžžãæ€åºãããå Žåã«ã¯å³åº§ã«ããŒã«ããã¯ã§ããæ©èœãåããå¿ èŠããããŸãã
ãã®æ®µéçãªç§»è¡ã¢ãã«ã¯ããã©ãã£ãã¯éã®å€ããšã³ããã€ã³ããè€éãªã¯ãŒã¯ãããŒããŸãã¯æ©å¯æ§ã®é«ãæ¥åããµããŒããããµãŒãã¹ã«ç¹ã«é©ããŠããŸãããŠãŒã¶ãŒããªã¹ã¯ããä¿è·ããªãããæ°ããå®è£ ã埮調æŽã§ããæè»æ§ãæäŸããŸãã
ã©ã€ããªãã¡ã¯ã¿ãªã³ã°äžã«äºææ§ãç¶æãã
æ°ãããµãŒãã¹ãå±éããéã«ã¯ã以åã®ããŒãžã§ã³ã®ã·ã¹ãã åãã«èšèšãããæ¢åã®ã¯ã©ã€ã¢ã³ãããµãŒãã¹ãšé£æºããå¿ èŠããããŸããç§»è¡äžã«æ©èœãæãªãããã®ãé²ãã«ã¯ãåŸæ¹äºææ§ãäžå¯æ¬ ã§ããããã¯APIãšããŒã¿åœ¢åŒã®äž¡æ¹ã«åœãŠã¯ãŸããŸãã
APIã¯æç€ºçã«ããŒãžã§ã³ç®¡çããå¿
èŠããããŸãããšã³ããã€ã³ãã«å€æŽãå ããéã¯ãæ¢åã®ãªã¯ãšã¹ããã¬ã¹ãã³ã¹ã®ãã©ãŒãããããã®å Žã§å€æŽããããšã¯é¿ããŠãã ããã代ããã«ããšã³ããã€ã³ãã®æ°ããããŒãžã§ã³ãå
¬éããã¯ã©ã€ã¢ã³ããåŸã
ã«ãªããã€ã³ã§ããããã«ããŠãã ãããäŸãã°ã /v2/orders 䞊ãã§ /v1/orders çµ±åãæŽæ°ããã«ã€ããŠãã³ã³ã·ã¥ãŒããŒãåŸã
ã«ç§»è¡ããŸãã
ã¡ãã»ãŒãžãšã€ãã³ããããŒãžã§ã³å¯Ÿå¿ã§ããå¿ èŠããããŸããã€ãã³ãé§ååã¢ãŒããã¯ãã£ã§ã¯ããããªãã·ã£ãŒã¯ã€ãã³ããã€ããŒãã«äºææ§ãæãªã倿Žãå ããã¹ãã§ã¯ãããŸãããäºææ§ãæãªãããšãªãæ°ãããã£ãŒã«ããå°å ¥ããããå šãæ°ããã€ãã³ãã¿ã€ããå ¬éããŠãã ãããã³ã³ã·ã¥ãŒããŒã¯ãäžæãªãã£ãŒã«ããç¡èŠããéæšå¥šã®ãã£ãŒã«ããé©åã«åŠçããããã«æ§ç¯ããå¿ èŠããããŸãã
ã³ãŒãã¬ãã«ã§ã¯ãå€ãã€ã³ã¿ãŒãã§ãŒã¹ãšæ°ããã€ã³ã¿ãŒãã§ãŒã¹éã®ã¢ããã¿ããã©ã³ã¹ã¬ãŒã¿ã䜿çšããããšã§äºææ§ãç¶æããŸããäŸãã°ãäºææ§ã¬ã€ã€ãŒã¯ãåŸæ¥ã®ããŒã¿ã¢ãã«ãšæ°ãããã¡ã€ã³åºæã®è¡šçŸéã®å€æãå¯èœã«ããŸããããã«ããã倿Žãæ©æã«å ¬éãããããšãªããå éšã³ãŒããé²åãããããšãã§ããŸãã
äºææ§ã確ä¿ããããšã¯ãã¯ã©ãã·ã¥ãåé¿ããã ãã§ã¯ãããŸããããµãŒãã¹éã®å¥çŽãå®ããé¢ä¿è éã®ä¿¡é Œé¢ä¿ãç¯ãããšã«ãã€ãªãããŸããããŒã ã¯çªç¶ã®ãªã°ã¬ãã·ã§ã³ãæããããšãªããèªåã®ããŒã¹ã§æ°ããèšèšãå°å ¥ã§ããŸãã
åŸæ¹ã€ã³ã¿ãŒãã§ãŒã¹ãäžæçã«ç¶æãã
ãã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã§ã¯ãå€ãã¯ã©ã€ã¢ã³ããäžæµã®ã·ã¹ãã ãããªãã¡ã¯ã¿ãªã³ã°åŸã®èšèšãšæŽåããªããªã£ãã¬ã¬ã·ãŒã€ã³ã¿ãŒãã§ãŒã¹ã«äŸåããŠããããšããããããŸããããã«æžãæãã匷å¶ããã®ã§ã¯ãªããã¢ããã¿ãŒããã¡ãµãŒãããŸãã¯äºææ§ã©ãããŒãéããŠããããã®ã€ã³ã¿ãŒãã§ãŒã¹ãäžæçã«ç¶æããŸãã
äŸãã°ãã¬ã¬ã·ãŒã·ã¹ãã ããã©ããåãããããŒã¿æ§é ãå ¬éããAPIã«äŸåããŠãããšããŸãããªãã¡ã¯ã¿ãªã³ã°åŸãæ°ããã·ã¹ãã ã¯ãã®ããŒã¿ãéå±€çã«è¡šçŸããå¯èœæ§ããããŸãããã¹ãŠã®ã¯ã©ã€ã¢ã³ãã·ã¹ãã ãæžãçŽãã®ã§ã¯ãªããå€ãAPIããæ°ããå éšAPIãåŒã³åºããã¬ã¹ãã³ã¹ãã¬ã¬ã·ãŒåœ¢åŒã«åãããŠåæ§ç¯ããèã倿ã¬ã€ã€ãŒãšããŠå ¬éããŸãã
ãã®äºææ§ã¬ã€ã€ãŒã«ãããã¯ã©ã€ã¢ã³ãã«ã¢ããããŒãã«å¿ èŠãªæéãäžããªããã瀟å ã§æ°ããæšæºèŠæ Œãå°å ¥ããããšãå¯èœã«ãªããŸãããŸããæçµçã«å»æ¢ãããé åãåé¢ããããšã§ãç§»è¡èšç»ãç°¡çŽ åããŸãããããã®ã¬ã¬ã·ãŒãšã³ããã€ã³ãã«ã¯ããã¹ãŠã®äŸåé¢ä¿ãç§»è¡ããããåé€ããããã«ãã¿ã°ãšããã¥ã¡ã³ããæç¢ºã«ä»ããŠãã ããã
åŸæ¹ã€ã³ã¿ãŒãã§ãŒã¹ã®ç¶æã¯é·æçãªæŠç¥ã§ã¯ãããŸããããæ®µéçãªããŒã«ã¢ãŠãã«ãããŠã¯éèŠãªèŠçŽ ã§ããããã¯æ°æ§ã®ã€ã³ã¿ãŒãã§ãŒã¹éã®ç·©è¡æãšããŠæ©èœããæ©æã®ç Žæãé²ããäžæµå·¥çšã«æ··ä¹±ããããããšãªãçµç¹ããªãã¡ã¯ã¿ãªã³ã°ãè¡ãããšãå¯èœã«ããŸãã
æ°žé ã«æé©å: ãªãã¡ã¯ã¿ãªã³ã°åŸã®ãã¹ããã©ã¯ãã£ã¹
ãã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ãå®äºããŠããæ ã®çµããã§ã¯ãããŸãããããæç¶å¯èœã§å¿çæ§ã®é«ãã¢ãŒããã¯ãã£ãžã®å§ãŸãã§ãããªãã¡ã¯ã¿ãªã³ã°åŸã®ç¢ºå®ãªãã©ã¯ãã£ã¹ããªããã°ãã©ããªã«æŽç·Žãããåèšèšã§ãã£ãŠããççŸãšéå¹çæ§ã®ç¶²ã«é¥ã£ãŠããŸãå¯èœæ§ããããŸããé·æçãªæåã¯ãæ°ããªå¢çã匷åããç¶ç¶çã«ãã£ãŒãããã¯ãååŸããã¢ãŒããã¯ãã£ã®å¥å šæ§ãæ¥ã ã®æ¥åã«çµ±åããããšã«ããã£ãŠããŸãããªãã¡ã¯ã¿ãªã³ã°ãããã·ã¹ãã ã¯ããããæ¯ããããžãã¹ãšåãéãã§é²åããå¿ èŠããããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãæåã®ããŒã«ã¢ãŠãåŸãã¢ãŒããã¯ãã£ãä¿è·ãç¶æãæé©åããæ¹æ³ã«ã€ããŠèå¯ããŸãã
ç¶ç¶çãªç£èŠãšé©å¿
ãªãã¡ã¯ã¿ãªã³ã°ãããã·ã¹ãã ãæ¬çªç°å¢ã«å°å ¥ãããããããã©ãŒãã³ã¹ãšä¿¡é Œæ§ãæåŸ ã©ããã§ããããšã確èªããããã«ãç¶ç¶çãªç£èŠãäžå¯æ¬ ã§ããããã¯åã«æè¡çãªçšŒåæéã«é¢ããç£èŠã§ã¯ãããŸããããã¿ãŒã³ã®èгå¯ãç°åžžã®æ€ç¥ããããŠå®éã®ç¶æ³äžã§ãµãŒãã¹ãé©åã«åäœãããã©ããã®æ€èšŒãå«ãŸããŸããäž»èŠãªææšã«ã¯ãã¬ã€ãã³ã·ããšã©ãŒçãã¡ã¢ãªäœ¿çšéããªã¯ãšã¹ãã¹ã«ãŒããããªã©ãããããµãŒãã¹ãšãªãã¬ãŒã·ã§ã³ããšã«çްååããå¿ èŠããããŸãã
ããããçã®ææšã ãã§ã¯äžååã§ããååŒã®æåçããŠãŒã¶ãŒãšã³ã²ãŒãžã¡ã³ããæ©èœã®æ¡çšçãšãã£ãããžãã¹ã¬ãã«ã®ææšã远跡ããå¿ èŠããããŸãããããã®ã·ã°ãã«ã¯ãã¢ãŒããã¯ãã£ã®å€æŽãå®éã®çµæã«ã©ã®ãããªåœ±é¿ãäžããŠãããã«ã€ããŠã®æŽå¯ãæäŸããŸããäŸãã°ããã§ãã¯ã¢ãŠããããŒããªãã¡ã¯ã¿ãªã³ã°ããããšã§APIã®ã¬ã€ãã³ã·ã¯æ¹åããããã®ã®ãã³ã³ããŒãžã§ã³çãäœäžããå Žåãèšèšã®ã©ãããèŠçŽãå¿ èŠããããããããŸããã
ãµãŒãã¹ã¬ãã«ç®æšïŒSLOïŒãšã¢ã©ãŒãéŸå€ããªãã¶ãŒãããªãã£ãã¬ãŒã ã¯ãŒã¯ã«çµã¿èŸŒã¿ãŸããããããã·ã¥ããŒãã¯ãšã³ãžãã¢ãªã³ã°éšéãšããžãã¹éšéã®äž¡æ¹ã®ã¹ããŒã¯ãã«ããŒåãã«ãã¥ã¬ãŒã·ã§ã³ããã·ã¹ãã ã®å¥å šæ§ã«é¢ããå ±éã®ãã¥ãŒãæäŸããå¿ èŠããããŸãããã¬ãŒã¹ãšãã°ã¯äžè²«æ§ãä¿ã¡ãçžé¢IDã«ãã£ãŠãµãŒãã¹éã®ãŠãŒã¶ãŒãžã£ãŒããŒããªã³ã¯ããå¿ èŠããããŸããç®æšã¯ãåé¡ãžã®å¯Ÿå¿ã ãã§ãªããããã¢ã¯ãã£ããªæé©åã®æ©äŒãç¹å®ããããšã§ãã
ç¶ç¶çãªã¢ãã¿ãªã³ã°ã¯ãå埩çãªæ¹åãä¿é²ãããã£ãŒãããã¯ã«ãŒããæ§ç¯ããŸãã宿çãªã¹ããªã³ããèšç»ã»ãã·ã§ã³ã«ãã®ããŒã¿ãçµã¿èŸŒãããšã§ãã·ã¹ãã ã®ã©ã®éšåãããã«æ¹è¯ãŸãã¯ç°¡çŽ åããå¿ èŠããããã倿ããã®ã«åœ¹ç«ã¡ãŸãã
ã¢ãžã¥ãŒã«æèã®æåãè²ã
ããŒã ã®æåãå€ãããªããã°ãã©ããªã«åªãããªãã¡ã¯ã¿ãªã³ã°ã®åãçµã¿ããã¬ãã·ã£ãŒã«æŒãã€ã¶ãããŠããŸããŸããã¢ãžã¥ãŒã«åã®ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãç¶æããããã«ã¯ãéçºããŒã ã¯ãªãã¡ã¯ã¿ãªã³ã°ã广çã«ããååãèªãã«æµžéãããå¿ èŠããããŸããããã«ã¯ãè²¬ä»»ã®æç¢ºåããµãŒãã¹å¢çã®å°éããããŠãã¡ã€ã³éã®èŠåŸãã飿ºãå«ãŸããŸãã
åããŒã ã¯ããµãŒãã¹ã®ç®¡çè ãšããŠæ©èœãã¹ãã§ããã€ãŸããæç¢ºãªAPIãç¶æããå æ¬çãªããã¥ã¡ã³ããäœæããã€ã³ã¿ãŒãã§ãŒã¹ããããªãã¯ã³ã³ãã©ã¯ããšããŠæ±ãå¿ èŠããããŸãããŸããäŸåé¢ä¿ã«ã€ããŠãæ¹å€çã«èããå¿ èŠããããŸãããµãŒãã¹ãå¥ã®ãµãŒãã¹ãåŒã³åºãå¿ èŠãããå Žåã¯åžžã«ãéçºè ã¯ãã®é¢ä¿ãæ¬åœã«å¿ èŠãªã®ãããããšãã€ãã³ãåŠçãå ±ææœè±¡åã«ãã£ãŠåŠçã§ããã®ããèªåããå¿ èŠããããŸãã
ãµãŒãã¹ã¬ãã¥ãŒãšã¢ãŒããã¯ãã£ã®æ¯ãè¿ãã¯ãæšæºçãªå®è·µæ¹æ³ãšãªãã¹ãã§ãããããã®äŒè°ã¯ãéå±€æ§é ãç£ç£ãç®çãšãããã®ã§ã¯ãããŸãããæ©æŠç¹ãç¹å®ããå¢ç䟵害ã«ã€ããŠè°è«ããåªããèšèšã匷åããããã®ãå ±åäœæ¥ã®æ©äŒã§ããã¯ãªãŒã³ãªãªãã¡ã¯ã¿ãªã³ã°ãšç©æ¥µçãªãã¶ã€ã³æèãè©äŸ¡ããããšã§ãããŒã ã®ãã€ã³ãã»ããããç«æ¶ãããè·äººæãžãšè»¢æããããšãã§ããŸãã
ã¢ãžã¥ãŒã«åã®èãæ¹ã¯ãã³ãŒãã ãã«ãšã©ãŸããŸãããã€ã³ãã©ã¹ãã©ã¯ãã£ãããŒã¿ãã€ãã©ã€ã³ããããŠãããã€ã¡ã³ããããŒã¯ãã¹ãŠãèªåŸæ§ãå°éããå¯çµåãé¿ããããã«æ§é åãããã¹ãã§ããããããç¿æ £ãå¶åºŠåããããšã§ãçµç¹ã¯ãªãã¡ã¯ã¿ãªã³ã°ãžã®æè³ãç¶æããç¶ç¶çãªæé·ã®åºç€ãç¯ãããšãã§ããŸãã
åãã§ãŒãºã®æ¯ãè¿ãã¬ãã¥ãŒ
ãªãã¡ã¯ã¿ãªã³ã°ããåŠã¶æã广çãªæ¹æ³ã®äžã€ã¯ãã³ãŒãã®å€æŽã ãã§ãªããæ±ºå®äºé ããã¬ãŒããªãããããŠçµæãææžåããããšã§ããäºåŸæ€èšŒã¯ã·ã¹ãã 忢æã«è¡ãããããšãå€ãã§ãããæ¯ãè¿ãã¯äž»èŠãªãªãã¡ã¯ã¿ãªã³ã°ãã§ãŒãºã®ãã¹ãŠã«é©çšããå¿ èŠããããŸãããããã®ã»ãã·ã§ã³ã¯ãçµç¹çãªç¥èãæ§ç¯ããå°æ¥ã®ãããžã§ã¯ããæç¢ºã«ããå ŽãšãªããŸãã
åªããæ¯ãè¿ãã«ã¯ãéçºè ãã¢ãŒããã¯ãããããã¯ããªãŒããŒããããŠéçšæ åœè ããã®æèŠãåæ ãããŸãããŸãã¯ãèšç»ãšå®éã«æäŸããããã®ãã¬ãã¥ãŒããããšããå§ããŸããããã¹ã ãŒãºã«é²ãã ç¹ã¯ïŒäºæ³ä»¥äžã«æéãããã£ãç¹ã¯ïŒäºæãã¬æ³¢å广ã¯ãããŸãããïŒç§»è¡äžã«åããŠæããã«ãªã£ãã¢ãŒããã¯ãã£äžã®åŒ±ç¹ã®å åã¯ãããŸãããïŒ
ãããã®è°è«ãéããŠãå¯èŠ³æž¬æ§ã®æ¬ åŠããã¹ãã«ãã¬ããžã®äœããäºæãã¬ãµãŒãã¹éã®äŸåé¢ä¿ãšãã£ããç¹°ãè¿ãçºçããåé¡ãæããã«ãªãããšããããããŸãããããã®åé¡ãææ¡ããããšã§ãããŒã ã¯ããã»ã¹ãšããŒã«ã®äž¡æ¹ãæ¹åã§ããŸãããŸããæ¯ãè¿ããéããŠãããŒã éã§å ±æã§ãããã¹ããã©ã¯ãã£ã¹ãæããã«ãªããã¢ãŒããã¯ãã£å šäœã«ãããäžè²«ãããã¿ãŒã³ã確ç«ããã®ã«åœ¹ç«ã¡ãŸãã
æ¯ãè¿ãããçæãããããã¥ã¡ã³ãã¯ãããŒãžã§ã³ç®¡çããããªããžããªã«ä¿åããç°¡åã«ã¢ã¯ã»ã¹ã§ããããã«ããå¿ èŠããããŸããå³ãæææ±ºå®ãã°ãç§»è¡ã¬ã€ãã¯ãçŸåšã®ããŒã ã ãã§ãªããå°æ¥ã®æ¡çšããããžã§ã¯ãã«ãšã£ãŠãéåžžã«è²Žéã§ãããã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ãæåãããããšã§åŸãããæŽå¯ã¯æ±ºããŠå€±ãããŠã¯ãªããŸããããããã¯ã次ã®ã¢ãŒããã¯ãã£é²åã®åºç€ãšãªãã®ã§ãã
èœãšã穎ãé¿ããïŒåŸæã®ãªããªãã¡ã¯ã¿ãªã³ã°
ç¶¿å¯ãªèšç»ãšå®è¡ããã£ãŠããŠãããã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã«ã¯ãã³ã¹ãã®ããã倱æã®ãªã¹ã¯ã䌎ããŸãããããã倱æã¯ãæªæãã¹ãã«äžè¶³ãåå ã§ããããšã¯çšã§ãããããã誀ã£ãåæãæŽåæ§ã®æ¬ åŠããããŠãã¬ãŒããªãã®èŠèœãšãããçããŸããããžãã¹ã³ã³ããã¹ããèæ ®ããã«æè¡çãªéå¿ã ããè¿œãæ±ãããšãéå°ãªãšã³ãžãã¢ãªã³ã°ã«é¥ããããã衚é¢çãªä¿®æ£ã§ã¯ã·ã¹ãã å šäœã®åé¡ã解決ã§ããªãå¯èœæ§ããããŸãããªãã¡ã¯ã¿ãªã³ã°ã¯éæ³ã®æã§ã¯ãããŸãããè¬èãã峿 ŒãããããŠã¢ãŒããã¯ãã£å šäœã®æç¢ºãªçè§£ããã£ãŠãè€éãªå€é©ãžãšé²ãã§ããå¿ èŠããããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãæãäžè¬çãªèœãšã穎ãšãããããåé¿ããæ¹æ³ã«ã€ããŠè§£èª¬ããŸãã
æ©ãããæé©åã«æ³šæ
ãã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã«ãããŠæãããããèœãšã穎ã®äžã€ã¯ããã¹ãŠãäžåºŠã«æé©åããããšããè¡åã§ããéçºè ã¯ãã°ãã°éå¹çæ§ãåé·æ§ãèŠã€ãããšãããšããããçŸåšåé¡ãåŒãèµ·ãããŠããªããŠããããã«ä¿®æ£ããããšããŸãããã®çµæãç¡é§ãªåŽåãã¹ã³ãŒãã¯ãªãŒããæå³ããªãååž°ãçºçããŸããã¯ãªãã£ã«ã«ãã¹ä»¥å€ã®æé©åã¯ã枬å®å¯èœãªå¹æããããããã«è€éããå¢ãã ãã§ãã
ã¢ãŒããã¯ãã£ã®å®ç§ããè¿œãæ±ããã®ã§ã¯ãªããæãéèŠãªéšåã«æ³šåããŸããããããžãã¹ç®æšã«çŽæ¥è²¢ç®ããããŸãã¯äž»èŠãªã¯ãŒã¯ãããŒã®ããã«ããã¯ãè§£æ¶ãããªãã¡ã¯ã¿ãªã³ã°ã¿ã¹ã¯ãåªå ããŸããããè² è·ãããããšæ©èœããªããªããã§ãã¯ã¢ãŠããµãŒãã¹ã¯ãå®å®ããŠå©çšãããŠãã瀟å 管çããŒã«ããããããæ³šæãæãå¿ èŠããããŸããæææ±ºå®ã®æéãšããŠãçè«çãªæžå¿µã§ã¯ãªããææšãšæ¬çªç°å¢ã®ããŒã¿ã掻çšããŸãããã
ææå°æ©ãªæé©åã¯ãåŸã ã«ããŠéå°ãªåºååã«ã€ãªãããŸããèŠãç®ããšã¬ã¬ã³ãã ãããšããçç±ã§ãµãŒãã¹ã10åã®ãã€ã¯ããµãŒãã¹ã«åå²ããããšãšããã¡ã€ã³ãååã«çè§£ãããç¬ç«ããŠé²åããŠããããåå²ããããšãšã¯åãã§ã¯ãããŸãããç²åºŠã¯å¿ èŠæ§ã«åºã¥ããŠæ±ºå®ããã䜿çšãã¿ãŒã³ã«ãã£ãŠæ€èšŒãããã¹ãã§ããééãªãæ¹è¯ãç¶ããããšããèªæã«æããŸããããæœè±¡çãªãšã¬ã¬ã³ããããããå®å®æ§ãšæç¢ºãã®æ¹ã䟡å€ãããããå Žåãå€ãã®ã§ãã
ãã¡ã€ã³ã®å¢çãèŠå€±ããªã
ããŒã ããµãŒãã¹ããªãã¡ã¯ã¿ãªã³ã°ããéãç¹ã«å³ããçŽæã®äžã§ã¯ããã¡ã€ã³ããžãã¯ã劥åãããããåŸåããããŸãããã®çµæãæè¡çã«ã¯åé¢ãããŠãããã®ã®ãæ©èœçã«ã¯äŸç¶ãšããŠçµ¡ã¿åã£ããã€ã¯ããµãŒãã¹ãçãŸããŸãããµãŒãã¹éã§è²¬ä»»ãå ±æãããããããŒã¿ã¢ã¯ã»ã¹ãéè€ããããé¡äŒŒã®ããžãã¯ãç°ãªãååã§åå®è£ ãããããããšã«ãªããããŸããããã®çµæãéè€ãäžæŽåãéçšäžã®ãªãŒããŒããããçºçããŸãã
ãããé¿ããã«ã¯ããããããªãã¡ã¯ã¿ãªã³ã°ã«ãããŠãã¡ã€ã³å¢çãæ·±ãçè§£ããå¿ èŠããããŸãããããã®å¢çã¯ãåã«ããŒã¿ãAPIã«é¢ãããã®ã§ã¯ãããŸãããããžãã¹èœåã®æç¢ºãªé åã衚ããŠããŸããåšåº«ããžãã¯ãšãã«ãã£ã«ã¡ã³ãåŠçãæ··åšããããµãŒãã¹ã¯ãããšãã³ãŒããè€æ°ã®ãã©ã«ããã³ã³ããã«åå²ãããŠãããšããŠããå¢çä»ãã³ã³ããã¹ãã®ååã«éåããŸãã
ãã¡ã€ã³ãšãã¹ããŒãããããã¯ããªãŒããŒãšã®é£æºã¯ãæ£ç¢ºãªå¢çèšå®ã®éµãšãªããŸãããã¡ã€ã³ã¢ããªã³ã°æŒç¿ãã€ãã³ãã¹ããŒãã³ã°ã¯ãŒã¯ã·ã§ããããããã¯ã¹ããŒã¯ãã«ããŒãšã®ãã¯ã€ãããŒãã»ãã·ã§ã³ãªã©ãéããŠãè²¬ä»»ã®æåšãæç¢ºã«ããããšãã§ããŸãããµãŒãã¹ã¯çŠç¹ãçµããã«ãã»ã«åããç®çäž»å°åã«ããŸããããç®æšã¯åãªãåè§£ã§ã¯ãªããçµ±åã§ãããµãŒãã¹ã¯ãéè€ãæå°éã«æããåäžãã€å®å®ããããžãã¹ã³ã³ã»ããã衚çŸããå¿ èŠããããŸãã
ããŒã ã®äžäžèŽãšã·ã£ããŒãªãã¡ã¯ã¿ãªã³ã°ãåé¿ãã
å€§èŠæš¡çµç¹ã«ãããŠããªãã¡ã¯ã¿ãªã³ã°ã«ãããæãå±éºãªå€±æã®äžã€ã¯ãããŒã ã®é£æºäžè¶³ã§ããè€æ°ã®ããŒã ã飿ºãå ±éã®æšæºãªãã«ããµãŒãã¹ãåå¥ã«ãªãã¡ã¯ã¿ãªã³ã°ãããšãäžæŽåãå¢å€§ããŸããããã¯ãAPIã®äžäžèŽããã°åœ¢åŒã®äºææ§ã®æ¬ åŠãã€ã³ãã©ã¹ãã©ã¯ãã£èšå®ã®çžéãäºæããªãããŒã¿äŸåé¢ä¿ãªã©ãšããŠçŸããå¯èœæ§ããããŸãã
ããã«æªãããšã«ãéçºè ãæ£åŒãªã¬ãã¥ãŒãããã¥ã¡ã³ããªãã«ãµãŒãã¹ã®äžéšãã²ããã«åèšèšããã·ã£ããŒã»ãªãã¡ã¯ã¿ãªã³ã°ã¯ãã·ã¹ãã ãæçåããç¶æ ã«ããŠããŸãå¯èœæ§ããããŸãããããã倿Žã¯ãå€ãã®å Žåãååã«äŒéãããã培åºçã«ãã¹ãããããããåºç¯ãªã¢ãŒããã¯ãã£ååãšã®æŽåæ§ã確ä¿ãããã鲿©ãè£ ã£ãæè¡çè² åµã«ã€ãªãããŸãã
ãããé²ãã«ã¯ããã¹ãŠã®ãªãã¡ã¯ã¿ãªã³ã°äœæ¥ãå ±éã®ããŒããããã«åºã¥ããŠå®è¡ãããããã«ããå¿ èŠããããŸããäž»èŠãªå€æŽã«ã€ããŠã¯ãã¢ãŒããã¯ãã£æ±ºå®èšé²ïŒADRïŒãäœæããã¬ãã¥ãŒããå¿ èŠããããŸããããŒã éã§å®æçã«åæãè¡ããèšèšãåé¡ç¹ããã¿ãŒã³ãå ±æããå¿ èŠããããŸããæãéèŠãªã®ã¯ããµã€ãåãããæé©åãããã³ã©ãã¬ãŒã·ã§ã³ãéèŠããæåãç¯ãããšã§ãã
å å®ããããã¥ã¡ã³ããéææ§ã®ããã³ãã¥ãã±ãŒã·ã§ã³ããããŠãµãŒãã¹ååã®å ±éçè§£ã¯ãæ©æŠã軜æžããçµæåãé«ããŸãããªãã¡ã¯ã¿ãªã³ã°ã¯ãæè¡çãªäœæ¥ã§ãããšåæã«ãçµç¹çãªäœæ¥ã§ããããŸããå šå¡ã足䞊ã¿ãæããã°ã倿Žã¯äºãã«åŒ·åãåããŸããäžæ¹ãæçåãããã°ãäºãã«æã¡æ¶ãåããŸãã
Smart TS XLã«ãããã¯ãŒãªãã¡ã¯ã¿ãªã³ã°
ãã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ãæè¡çãªåŽé¢ã ãã§ãªããã³ãŒãããŒã¹ãäŸåé¢ä¿ããããŠãµãŒãã¹éã®çžäºäœçšã®äžã«ååšããç®ã«èŠããªãã¢ãŒããã¯ãã£ã«ãã£ãŠãè€éã«ãªã£ãŠããŸããã¢ãŒããã¯ãã£ãçè§£ããããšã¯ãæåãžã®éã®ãã®ååã§ãããããŠã倿Žãå®å šãã€äœç³»çã«å®è¡ããããšããæåãžã®éã®ãã®ååã§ããããã§Smart TS XLãç»å ŽããŸããSmart TS XLã¯ãå€§èŠæš¡åæ£ã·ã¹ãã å šäœã«ãããã¢ãŒããã¯ãã£ã«é¢ããæ·±ãæŽå¯ãããŒã ã«æäŸããããã«èšèšããããå°çšã®éçããã³åçè§£æãã©ãããã©ãŒã ã§ããæ§é äžã®æ¬ é¥ãæããã«ãããµãŒãã¹ã®äŸåé¢ä¿ãèŠèŠåãããµãŒãã¹éã®åäœã远跡ããããšã§ããªãã¡ã¯ã¿ãªã³ã°ããæäœæ¥ã«ãããªã¹ã¯ã®é«ãããã»ã¹ãããããŒã¿ã«åºã¥ããä¿¡é Œæ§ã®é«ãéçšãžãšå€é©ããŸãã
ãã€ã¯ããµãŒãã¹ãªãã¡ã¯ã¿ãªã³ã°ã«ãããSmart TS XLã®ãŠããŒã¯ãªç¹
ãã¡ã€ã«ã¬ãã«ã颿°ã¬ãã«ã§åäœããåŸæ¥ã®ã³ãŒãè§£æããŒã«ãšã¯ç°ãªããSmart TS XLã¯ã·ã¹ãã ã¬ãã«ã§åäœããŸããTypeScriptãšJavaScriptã®ã³ãŒãããŒã¹ïŒNode.jsããã¯ãšã³ããšããã³ããšã³ãã€ã³ã¿ãŒãã§ãŒã¹ãåãããã€ããªããç°å¢ãå«ãïŒãåã蟌ã¿ãã©ã€ãã¢ãŒããã¯ãã£ããããæ§ç¯ããŸãããã®ãããã«ã¯ããµãŒãã¹å¢çã颿°åŒã³åºããã§ãŒã³ãã¢ãžã¥ãŒã«äŸåé¢ä¿ãAPIã³ã³ãã©ã¯ããã€ãã³ãããªãã³ã€ã³ã¿ã©ã¯ã·ã§ã³ãå«ãŸããŸãã
ãã€ã¯ããµãŒãã¹ããŒã ã«ãšã£ãŠãããã¯ãµãŒãã¹ã®æ§é ãšçµå床ãç¬æã«å¯èŠåããããšãæå³ããŸããã©ã®ã¢ãžã¥ãŒã«ã倧ããããããã©ã®APIãæãé »ç¹ã«äœ¿çšãããŠããããã©ã®ãµãŒãã¹ãåé¢ååã«éåããŠããããç¹å®ã§ããŸããSmart TS XLã¯ãé ããçžäºäŸåé¢ä¿ãéæšå¥šã®ã³ãŒããã¹ã埪ç°åç §ãæããã«ããŸãããããã¯ãæ¬çªç°å¢ã§åé¡ãçºçãããŸã§æ°ã¥ãããªãå¯èœæ§ããããŸãã
ãã®ã¬ãã«ã®ã¢ãŒããã¯ãã£ã®éææ§ã¯ããªãã¡ã¯ã¿ãªã³ã°ã®æºåã«ãããŠç¹ã«éèŠã§ããã³ãŒãã«è§Šããåã«ãå¢çã®å€æŽãAPIã®åèšèšã®åœ±é¿ãã·ãã¥ã¬ãŒã·ã§ã³ã§ããŸããããã«ãããéçºè ãã¢ãŒããã¯ãã¯çŸåšã®ã¢ãŒããã¯ãã£ã®æ£ç¢ºã§ã€ã³ã¿ã©ã¯ãã£ããªã¢ãã«ãå©çšã§ãããããæšæž¬ã«é Œãå¿ èŠããªããªããããã¹ããŒããªèšç»ãå¯èœã«ãªããŸãã
çºèŠããå®è¡ãŸã§ïŒSmart TS XLã«ããã¯ãŒã¯ãããŒã®ãªãã¡ã¯ã¿ãªã³ã°
Smart TS XLã¯ãã¢ãŒããã¯ãã£äžã®æ¬ é¥ã蚺æããã ãã§ã¯ãããŸãããæ§é åããã远跡å¯èœãªãªãã¡ã¯ã¿ãªã³ã°ã¯ãŒã¯ãããŒãä¿é²ããŸããããŒã ã¯ãã¢ãŒããã¯ãã£äžã®åé¡ç¹ãã¿ã°ä»ãããåªå é äœä»ãããããªãã¡ã¯ã¿ãªã³ã°ææ¡ãçæãããµãŒãã¹ãªãŒããŒã«å²ãåœãŠãããšãã§ããŸãããããã®ã¿ã¹ã¯ã¯ã課é¡è¿œè·¡ããŒã«ã«ãšã¯ã¹ããŒãããããCI/CDã·ã¹ãã ã«çŽæ¥çµ±åãããã§ããŸãã
äŸãã°ããããµãŒãã¹ã«12åã®ã¢ãŠãããŠã³ãäŸåé¢ä¿ãããããšã³ããã€ã³ãããšã«5局以äžã®åŒã³åºãã¬ã€ã€ãŒãååšããå ŽåãSmart TS XLã¯ãããçµåãããã¹ããããšããŠãã©ã°ä»ãããŸãããããããèªç¶ãªäœ¿çšç¶æ³ã¯ã©ã¹ã¿ãŒãšã©ã³ã¿ã€ã ãããã¡ã€ã«ã«åºã¥ããŠãã¢ãžã¥ãŒã«åŒã®åå²ãã€ã³ããææ¡ããŸããéçºè ã¯ææ¡ãããæœåºã確èªãã飿¥ãããµãŒãã¹ãããŒã¿ãããŒã«ã©ã®ãããªåœ±é¿ãäžããããæ£ç¢ºã«ææ¡ããªãããæ®µéçã«é©çšã§ããŸãã
ããã«ããã®ããŒã«ã¯ã¢ãŒããã¯ãã£ã®ç¶æ ãæç³»åã§è¿œè·¡ããŸããã€ãŸããçŸåšã®ãµãŒãã¹ããããéå»ã®ããŒãžã§ã³ãšæ¯èŒããæ¹åç¹ãå®éåã§ããŸããå ±æã¢ãžã¥ãŒã«ã®æ°ã¯æžããŸãããïŒãµãŒãã¹ã®åé¢åŸãéèŠãªã¯ãŒã¯ãããŒéã®ã¬ã€ãã³ã·ã¯æ¹åããŸãããïŒSmart TS XLã¯ããããã®çåã«ãèŠèŠçãã€ææšã«åºã¥ããæå¿«ãªåçãæäŸããŸãã
Smart TS XLãæ¡çšããããŒã ã®çã®ææ
ãã€ã¯ããµãŒãã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã«Smart TS XLãæŽ»çšããããŒã ã¯ãããªããªãŒã¿ã€ã ã©ã€ã³ã®å€§å¹ ãªççž®ãšããããã€åŸã®ã€ã³ã·ãã³ãã®æžå°ãå ±åããŠããŸããããŒã«ã®ã¬ã€ãã³ã¹ã«åŸã£ãŠã¢ãŒããã¯ãã£ãåæã»å€é©ããããšã§ãæ°ããªäŸåé¢ä¿ã®å°å ¥ãéå»ã®ãã¹ã®ç¹°ãè¿ãã®å¯èœæ§ãäœæžããŸããã¢ãŒããã¯ãã£ã®å¢çãæç¢ºã«ãªãããšã§ãããã°æéãççž®ãããäžè²«ããæ§é ããã¥ã¡ã³ãã«ãã£ãŠãªã³ããŒãã£ã³ã°ã容æã«ãªããŸãã
ãªãã¡ã¯ã¿ãªã³ã°ã¯ãã¯ããæªç¥ã®ãã®ãæãäžãããããªäœæ¥ã§ã¯ãããŸããããšã³ã·ã¹ãã å šäœã®åŒ·åãªãããã«æ¯ãããããçµ±å¶ãããæŽå¯äž»å°ã®å®è·µãšãªããŸããæé·äžã®ã¹ã¿ãŒãã¢ããäŒæ¥ã§ããè€éãªãšã³ã¿ãŒãã©ã€ãºç°å¢ã§ããSmart TS XLã¯ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãããã ãæ£ããããšé¡ãã ãã®ãã®ãããå ç¢ã§ã¹ã±ãŒã©ãã«ããããŠé©åã«èšèšããããã®ã§ããããšã蚌æã§ãããã®ãžãšå€è²ãããŸãã
ãã©ãããã©ãŒã ã®å°æ¥æ§ã確ä¿ãã
ãã€ã¯ããµãŒãã¹ã»ã¢ãŒããã¯ãã£ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ãå€é©ãããããè¡çºã§ããåãªãæè¡çãªã¢ããã°ã¬ãŒãã§ããã³ãŒãã®ã¯ãªãŒã³ã¢ããã§ããäºåŸçãªä¿®æ£ã§ããããŸãããããæç¶å¯èœã§ãæ¡åŒµæ§ãé«ããå埩åã®ããã·ã¹ãã ãžã®æèçãªç§»è¡ã§ãããŠãŒã¶ãŒãããŒã ããããŠããžãã¹ã®é²åããããŒãºã«åãããŠããœãããŠã§ã¢ãäžæåæ¢ããåè©äŸ¡ããå調æŽãããšããæ±ºæã§ãã
ãã®éã®ãã§ãããã«ããã¯ãçºèŠããè¥å€§åãããµãŒãã¹ãç°¡çŽ åããã³ãã¥ãã±ãŒã·ã§ã³ãããŒãåæ§ç¯ãããã匷åºãªå¢çãèšå®ããŸããããªãã¡ã¯ã¿ãªã³ã°ãåçºã®ã¹ããªã³ããšããŠã§ã¯ãªãããã¡ã€ã³ã®æç¢ºåãšéçšäžã®èªèã«åºã¥ãããå埩çã§ææšäž»å°ã®ãã©ã¯ãã£ã¹ãšããŠæããŸããããã®èãæ¹ã«ãããæ¹åã¯æç¶ããç¶æ³ã®å€åã«åãããŠé©å¿ããŠããããšãã§ããŸãã
çµå±ã®ãšããããªãã¡ã¯ã¿ãªã³ã°ã®çã®äŸ¡å€ã¯ãããããããããã®ãããªãã¡ãããªããªãŒã®è¿ éåãä¿¡é Œæ§ã®åäžããªã¹ã¯ã®äœæžããããŠå€åã«æããããšãªã察å¿ã§ããä¿ææ§ã«ãããŸããé©åã«ãªãã¡ã¯ã¿ãªã³ã°ããããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã¯ãäŒæ¥ã®æé·ã劚ããéè·ã§ã¯ãªããäŒæ¥ãšå ±ã«æé·ããè³ç£ãšãªããŸããèŠåŸãç¶æããåžžã«å³ããåããæããããŸãããããããŠãææ¥ãæè»ã§å®å®ããæçæ§ãç¶æã§ããã·ã¹ãã ã仿¥æ§ç¯ããŸãããã