DDDã®äžæ žã確ãã«åŠã³ãããªãïŒ
ãã€ã¯ããµãŒãã¹èšèš
ããæè»ã«ããã匷åã«ã
ãã£ãããããããç§ã®è©±ãããªãã®ïŒ
ð¥
MSAã®ããããã®æŠå¿µãçè§£ããŠããŸãããããã€ãã©ã®ããã«ãã€ã¯ããµãŒãã¹ã«åããŠèšèšãã¹ããã¯ã倧å€ã§é£ããã§ãã
ð
ãã€ã¯ããµãŒãã¹ã¯å
¬éçãªREST APIã ãã§ããã®ã§ã¯ãªãã§ããããïŒä»ã«ã©ããªãã¶ã€ã³ãå¿
èŠã§ããïŒ
ðµ
éåæã€ãã³ãéä¿¡ãå€ã䜿ãããŠããããã§ããâŠã©ããªããžãã¹ã±ãŒã¹ã«æŽ»çšããŸããïŒåæ/éåæéä¿¡ãã©ã®ããã«åºå¥ããŠèšèšããŸããïŒ
MSAæ§é ã§ãã€ã¯ããµãŒãã¹ãç¬ç«ããŠå±éããã³å€æŽããã«ã¯äœãéèŠã§ããïŒãŸãã«æ©èœçã«åéæ§ããããä»ã®ãµãŒãã¹ãšäŸåé¢ä¿ã®å°ãªããã€ã¯ããµãŒãã¹ãèå¥ãããããšã§ãããŸãããã€ã¯ããµãŒãã¹ã®å
éšæ§é ãæè¡å€åã«æè»ãªæ§é ãæãããããšã§ãããžãã¹ã®å€åã«ææ·ã«å¯Ÿå¿ããããã«ããªããã°ãªããŸããã
ãã®ç®çã®ããã«ããã€ã¯ããµãŒãã¹èšèšã«ãã¡ã€ã³äž»å°èšèšïŒDDDïŒæè¡ãããããŠå
éšã¢ãŒããã¯ãã£ã«ãããµãŽãã«ã¢ãŒããã¯ãã£ãäž»ã«äœ¿çšãããŠããŸãããã®ã¬ãã¹ã³ã§ã¯ããããã®ãã¡ã€ã³äž»å°èšèšãšãããµãŽãã«ã¢ãŒããã¯ãã£ã«åºã¥ããŠãåéå¯èœã§æè»ãªæ§é ãæã€ãã€ã¯ããµãŒãã¹ãèšèšããæ¹æ³ã«ã€ããŠèª¬æããŸãã
ãã€ã¯ããµãŒãã¹èšèšã§æãããããªææ³2〠ð³
ãã¡ã€ã³äž»å°èšèš
(Domain-Driven Design, DDD)
ããžãã¹æŠç¥ããã¡ã€ã³ãã¿ãŒã³ãäžå¿ã«ãœãããŠã§ã¢ã¢ãŒããã¯ãã£ãæ§ç¯ããéçºæ¹æ³è«
ãããµãŽãã«ã¢ãŒããã¯ãã£
(Hexagonal Architecture)
ãã¡ã€ã³äžå¿ã®äŸåé¢ä¿ã®æµããå€éšã«åºãªãããã«ç®¡çããã¢ãŒããã¯ãã£ãã¿ãŒã³
ãã®è¬çŸ©ã ã
ç¹åŸŽã確èªããŠãã ããð
- å®åè
ã®çµéšã«åºã¥ããé®®ãããªçŸå Žãçã®ãŸãŸçã蟌ãã 声ã§è¬çŸ©ããŸãã ð
- ãã€ã¯ããµãŒãã¹ã®çæ³ãç®æããŸãããçŸå®ãåæ ããã¢ãããŒããææ¡ããŸãã
- ãã®ã¬ãã¹ã³ã¯ãæŠå¿µãšãªã³ã©ã€ã³ããŒã«ã«ããå®è·µã§æ§æãããŠããŸãã
- å®éã®ãã€ã¯ããµãŒãã¹èšèšã«æŽ»çšãããæž©ããçŸå Žã®åºæºã倿ïŒïŒïŒæè¡ã玹ä»ããŸãã
ã ããããããªæ¹ã«ã圹ã«ç«ãŠãŸãïŒ ðââïž
ãã€ã¯ããµãŒãã¹èšèšã«
ã€ãã³ãã¹ããŒãã³ã°ã掻çšããŠ
æè¡/èšèšãªãŒããŒ
ãã€ã¯ããµãŒãã¹ã®èšèšåºæºãš
æ¹æ³ã«ã€ããŠæ©ãã§ãã
ãã€ã¯ããµãŒãã¹éçºè
ãã¡ã€ã³äž»å°èšèšïŒDDDïŒãš
å®è£
ã«èå³ããã
ããã¯ãšã³ãéçºè
çè«ããå§ããŠ
å®ç¿ã§ç¥ã
ãã€ã¯ããµãŒãã¹èšèšð»
ãã¡ã€ã³äž»å°èšèšã®æŠå¿µãçè§£ãã
ãã¡ã€ã³äž»å°èšèš - æŠç¥çèšèšã®ããã€ãã®æŠå¿µïŒãã¡ã€ã³ã¢ãã«ããµããã¡ã€ã³ããŠããã¿ã¹ã©ã³ã²ãŒãžãããŠã³ãã£ã³ã°ã³ã³ããã¹ãïŒã«ã€ããŠåŠã³ãŸãã
æãå®çšçãªãã€ã¯ããµãŒãã¹ã®å°åºæè¡ïŒã€ãã³ãã¹ããŒãã³ã°
æãç°¡åãªã·ã³ãã«ãªãã€ã¯ããµãŒãã¹å°åºæè¡ã§ããã€ãã³ãã¹ããŒãã³ã°ã¯ãŒã¯ã·ã§ããã«ã€ããŠèª¬æããŸãã
ããŸããŸãªãã€ã¯ããµãŒãã¹ããžãã¹ããžãã¯å®è£
ãã¿ãŒã³ã®ç޹ä»
ãã€ã¯ããµãŒãã¹å
ã®ããžãã¹ããžãã¯ãèšèšããããã€ãã®ãã¿ãŒã³ïŒãã©ã³ã¶ã¯ã·ã§ã³ã¹ã¯ãªãããã¢ã¯ãã£ãã¬ã³ãŒãããã¡ã€ã³ã¢ãã«ãªã©ïŒã説æããã©ã®éžæãè¡ãã¹ãããæ¢ããŸãã
ãã€ã¯ããµãŒãã¹å
éšæ§é å®çŸ©ã®ããã®ããŸããŸãªå
éšã¢ãŒããã¯ãã£ãã¿ãŒã³ã®çè§£
åŸæ¥ã®ã¬ã€ã€ãŒãã¢ãŒããã¯ãã£ïŒLayered ArchitectureïŒã®éçãšããããµãŽãã«ãã¯ãªãŒã³ã¢ãŒããã¯ãã£ã®ç¹åŸŽãæ¯èŒãéããŠãæãŸãããã€ã¯ããµãŒãã¹ã®å
éšæ§é ã«ã€ããŠèããŠã¿ãŸãã
ã€ãã³ãã¹ããŒãã³ã°ã¯ãŒã¯ã·ã§ããå®ç¿
ããã¯ã¬ã³ã¿ã«ã·ã¹ãã ãšã¯ããããã¯ãæã£ãŠãªã³ã©ã€ã³ããŒã«Miroãä»ããŠã€ãã³ãã¹ããŒãã³ã°ã¯ãŒã¯ã·ã§ããã®ç·Žç¿ãããŸãã
ã³ã³ããã¹ããããã³ã°å³äœæå®ç¿
ã€ãã³ãã¹ããŒãã³ã°ã«ãã£ãŠèå¥ãããå¢çã³ã³ããã¹ãã®é¢ä¿ãå®çŸ©ããåè£ãã€ã¯ããµãŒãã¹ãå®çŸ©ããŸãã
ãã¡ã€ã³ã¢ããªã³ã°ã®å®è·µ
ãã¡ã€ã³äž»å°èšèšã®æŠè¡çãªèšèšããŒã«ã掻çšããŠããã€ã¯ããµãŒãã¹ã®å¿èãã¡ã€ã³ã¢ãã«ãèšèšããŠã¿ãŸãã
ã ããããããªããšãã§ããããã«ãªããŸãïŒ ð
- ãã¡ã€ã³äž»å°èšèšã®æŠç¥çèšèš/æŠè¡çèšèšã®æŠå¿µãçè§£ã§ããã©ã®ããã«ãã€ã¯ããµãŒãã¹èšèšã«æŽ»çšããããããããŸãã
- ã€ãã³ãã¹ããŒãã³ã°ã«ãããæ¥åãåæãããã€ã¯ããµãŒãã¹ã®å°åºã«æŽ»çšã§ããŸãã
- åã
ã®ãã€ã¯ããµãŒãã¹ã®ããžãã¹ããžãã¯å®è£
ãã¿ãŒã³ãšå
éšã¢ãŒããã¯ãã£ã¹ã¿ã€ã«ã®åºæºãå®çŸ©ã§ããŸãã
- ãã¡ã€ã³äž»å°ã®èšèš - æŠè¡çãªèšèšæè¡ãé©çšããŠããã€ã¯ããµãŒãã¹å
ã®ãã¡ã€ã³ã¢ãã«ãèšèšã§ããŸãã
ãã®è¬çŸ©
ç¥èå
±æè
ã¯ðââïž
23幎ç®ã®éçºè
ãhan jeong heon
- çŸå€§äŒæ¥ã®SIãœãããŠã§ã¢ãšã³ãžãã¢
- 倿°ã®å€§èŠæš¡ãªæ¬¡äžä»£ãããžã§ã¯ãã®éçºæ¹æ³è«ããã³èšè𿹿³ã®ãªãŒãã£ã³ã°
- ææ²»å€§åŠã»ãœãŠã«ç§åŠæè¡å€§åŠSWç§ç®è¬çŸ©ãéåœæ
å ±æè¡ç ç©¶é¢ïŒKITRIïŒãLGé»åMSA課çšè¬çŸ©
- ãã«ããã£ã³ãã¹ãéåœæšæºåäŒãéåœå質åäŒ MSAã³ãŒã¹ã¡ã³ã¿ãªã³ã°
- å°éåéïŒéçºæ¹æ³è«ããœãããŠã§ã¢ã¢ãŒããã¯ãã£/èšèš/éçºæè¡
- ãŠã£ãããã¯ã¹ããã¡ã€ã³äž»å°èšèšããå§ãŸããã€ã¯ããµãŒãã¹éçºã ç§ (2022)
- åœå®¶ç涯æè²æ¯èé¢K-MOOCãMicroserviceã®èšèšãšå®è£
ãè¬åº§
ãMicroserviceã®èšèšãšå®è£
ãè¬çŸ©ã®éçº ããã¡ã€ã³äž»å°èšèšããå§ãŸããã€ã¯ããµãŒãã¹éçºãåºç
Q&A ð¬
Q. è¬çŸ©ã§çè«ãšå®ç¿ã®äž¡æ¹ãããŠã¿ãŸããïŒ
æ¬è¬çŸ©ã®åºç€ã§ã¯çè«ããåŸåã§ã¯å®ç¿ãæ±ããŸããããããã®æŠå¿µãçè§£ããæ¬¡ã®ç·Žç¿ãéããŠã©ã®ããã«æè¡ã䜿ããããçè§£ã§ããããã«æ§æããŸããã
Q. å®åçµéšã®ãªãå°±åŠçãéå°æ»è
ãèãããšãã§ããŸããïŒ
ã¯ã©ãŠãäœéšããªããŠããå®éã®ã¬ã¬ã·ãŒäœéšãæã€éçºè
ãªããã¢ã¯ã»ã¹ã§ããã¬ãã«ã§ããããããå®åçµéšããªããã°ãçšèªãªã©ã«å°ãããšããããŸãããã ããéå°æ»è
ã§ãããŒããã£ã³ãã履修ããçµéšãããã°ç¡é£ã«åè¬ã§ããããã§ãã
Q. ææ¥å
容ãã©ã®ã¬ãã«ãŸã§æ±ããŸããïŒ
æ¬è¬çŸ©ã§ã¯ããã¡ã€ã³äž»å°èšèšã®ããã®ãã€ã¯ããµãŒãã¹ã®å
šäœçãªçè«ãåŠã³ãå®éã®æ¥åäŸãéããŠãã€ã¯ããµãŒãã¹ãå°ãåºãããã®å
éšãèšèšããŠã¿ãŸããå®è£
ã¯å¥éããã»ã¹ã§æºåããŠããŸãã
äžç·ã«èŠãã°ããè¬çŸ©ðº