ã°ããŒãã«äŒæ¥åãã®ãã¹ã±ãŒã©ãã«ã§å埩åã®ããã·ã¹ãã æ§ç¯ã®ããã®ãã€ãã³ãããªãã³ã¢ãŒããã¯ãã£ãšã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã®å æ¬çãªã¬ã€ãã
ã€ãã³ãããªãã³ã€ã³ãã°ã¬ãŒã·ã§ã³ïŒã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã®ç¿åŸ
仿¥ã®çžäºæ¥ç¶ãããäžçã§ã¯ãçµç¹ã¯ã¢ãžã£ã€ã«ã§ã¹ã±ãŒã©ãã«ããããŠå埩åã®ããã·ã¹ãã ãå¿ èŠãšããŠããŸããã€ãã³ãããªãã³ã¢ãŒããã¯ãã£ïŒEDAïŒã¯ããã®ãããªã·ã¹ãã ãæ§ç¯ããããã®åŒ·åãªãã©ãã€ã ãšããŠç»å Žããã¢ããªã±ãŒã·ã§ã³ããªã¢ã«ã¿ã€ã ã®ã€ãã³ãã«åå¿ããéåæã«éä¿¡ããããšãå¯èœã«ããŠããŸããEDAã®é åå ã§ã¯ãã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒãéèŠãªã€ã³ãã°ã¬ãŒã·ã§ã³ãã¿ãŒã³ãšããŠéç«ã£ãŠããŸãããã®èšäºã§ã¯ãã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã®è©³çްãæãäžãããã®ååãå©ç¹ã課é¡ãããã³å€æ§ãªã°ããŒãã«ã·ããªãªå šäœã§ã®å®çšçãªå®è£ ã«ã€ããŠæ¢æ±ããŸãã
ã€ãã³ãããªãã³ã¢ãŒããã¯ãã£ïŒEDAïŒãšã¯ïŒ
EDAã¯ãã€ãã³ãã®çæãæ€åºãããã³æ¶è²»ãäžå¿ã«æ®ããã¢ãŒããã¯ãã£ã¹ã¿ã€ã«ã§ããã€ãã³ãã¯ãã·ã¹ãã ã®éèŠãªç¶æ ã®å€åãŸãã¯æ³šç®ãã¹ãçºçã衚ããŸãããããã®ã€ãã³ãã¯éåžžãã€ãã³ããã¹ãŸãã¯ã¡ãã»ãŒãžãããŒã«ãŒã«å ¬éãããé¢å¿ã®ããã³ã³ããŒãã³ãããµãã¹ã¯ã©ã€ãããŠããã«å¿ããŠåå¿ã§ããŸãããããã¥ãŒãµãŒãšã³ã³ã·ã¥ãŒããŒã®åé¢ã«ããããã倧ããªæè»æ§ãã¹ã±ãŒã©ããªãã£ãããã³ãã©ãŒã«ããã¬ã©ã³ã¹ãå¯èœã«ãªããŸãã
ã°ããŒãã«ãªeã³ããŒã¹ãã©ãããã©ãŒã ãèããŠã¿ãŸããããé¡§å®¢ãæ³šæïŒã€ãã³ãïŒããããšãããŸããŸãªãµãŒãã¹ã«éç¥ããå¿ èŠããããŸããæ³šæåŠçã·ã¹ãã ãåšåº«ç®¡çã·ã¹ãã ãé ééšéããããŠé¡§å®¢éç¥ãµãŒãã¹ã§ããåŸæ¥ã®åæã·ã¹ãã ã§ã¯ã泚æãµãŒãã¹ã¯ãããã®åãµãŒãã¹ãçŽæ¥åŒã³åºãå¿ èŠããããç·å¯ãªçµåãšæœåšçãªããã«ããã¯ãçºçããŸããEDAã䜿çšãããšã泚æãµãŒãã¹ã¯åã«ãOrderCreatedãã€ãã³ããå ¬éããåé¢å¿ã®ãããµãŒãã¹ã¯ç¬ç«ããŠã€ãã³ããæ¶è²»ããåŠçããŸãã
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒ vs. ãªãŒã±ã¹ãã¬ãŒã·ã§ã³
EDAå ã«ã¯ãã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒãšã¡ãã»ãŒãžãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãšãã2ã€ã®äž»èŠãªã€ã³ãã°ã¬ãŒã·ã§ã³ãã¿ãŒã³ãååšããŸããç¹å®ã®ããŒãºã«æé©ãªã¢ãããŒããéžæããã«ã¯ããã®éããçè§£ããããšãäžå¯æ¬ ã§ãã
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒ
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã¯ãåãµãŒãã¹ãã€ãã³ãã«ã©ã®ããã«åå¿ããããç¬ç«ããŠæ±ºå®ãã忣ãã¿ãŒã³ã§ãããããŒãæç€ºããäžå¿çãªãªãŒã±ã¹ãã¬ãŒã¿ãŒã¯ãããŸããããµãŒãã¹ã¯ãã€ãã³ããã¹ãä»ããŠäºãã«çŽæ¥éä¿¡ããã€ãã³ããçºçãããšåå¿ããŸããåãã³ãµãŒãã¹ããããç¥ã£ãŠãããæå®ããããªãŒããŒãåžžã«æç€ºããããšãªã鳿¥œã«åå¿ãããã³ã¹ã®ãããªãã®ã§ãã
äŸïŒã°ããŒãã«ãµãã©ã€ãã§ãŒã³ãæ³åããŠãã ããã貚ç©ã枯ã«å°çãããšãïŒã€ãã³ãïŒãããŸããŸãªãµãŒãã¹ãã¢ã¯ã·ã§ã³ãå®è¡ããå¿ èŠããããŸããéé¢ãå庫管çã茞éã¹ã±ãžã¥ãŒãªã³ã°ãããã³è«æ±ã§ããã³ã¬ãªã°ã©ãã£ãŒãããã·ã¹ãã ã§ã¯ãåãµãŒãã¹ã¯ãShipmentArrivedãã€ãã³ãããµãã¹ã¯ã©ã€ãããããããã®ããã»ã¹ãç¬ç«ããŠéå§ããŸããéé¢ã¯å¿ èŠãªæžé¡ã確èªããå庫管çã¯ã¹ããŒã¹ãäºçŽãã茞éã¹ã±ãžã¥ãŒãªã³ã°ã¯é éãæé ããè«æ±ã¯è«æ±æžãäœæããŸããããã»ã¹å šäœã調æŽãã責任ãè² ããµãŒãã¹ã¯ãããŸããã
ã¡ãã»ãŒãžãªãŒã±ã¹ãã¬ãŒã·ã§ã³
äžæ¹ãã¡ãã»ãŒãžãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ããµãŒãã¹ã®éã®çžäºäœçšã調æŽããäžå¿çãªãªãŒã±ã¹ãã¬ãŒã¿ãŒãå«ã¿ãŸãããªãŒã±ã¹ãã¬ãŒã¿ãŒã¯ããµãŒãã¹ãåŒã³åºãããé åºãæç€ºããå šäœçãªã¯ãŒã¯ãããŒã管çããŸããåãã¥ãŒãžã·ã£ã³ã«ãã€æŒå¥ããããæç€ºããããªãŒã±ã¹ãã©ãçããææ®è ã®ãããªãã®ã§ãã
äŸïŒããŒã³ã®ç³è«ããã»ã¹ãèããŠã¿ãŸããããäžå¿çãªãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãšã³ãžã³ã¯ãããŸããŸãªã¹ãããã調æŽãã責任ãè² ãå¯èœæ§ããããŸããä¿¡çšèª¿æ»ãæ¬äººç¢ºèªãåå ¥ç¢ºèªãããã³ããŒã³ã®æ¿èªã§ãããªãŒã±ã¹ãã¬ãŒã¿ãŒã¯ãç¹å®ã®é åºã§åãµãŒãã¹ãåŒã³åºããããŒã³ãæ¿èªãããåã«ãã¹ãŠã®å¿ èŠãªæé ãå®äºããŠããããšã確èªããŸãã
次ã®è¡šã¯ãäž»ãªéãããŸãšãããã®ã§ãã
| æ©èœ | ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒ | ã¡ãã»ãŒãžãªãŒã±ã¹ãã¬ãŒã·ã§ã³ |
|---|---|---|
| å¶åŸ¡ | 忣å | éäžå |
| èª¿æŽ | ã€ãã³ãããªãã³ | ãªãŒã±ã¹ãã¬ãŒã¿ãŒé§å |
| çµå | ççµå | ãªãŒã±ã¹ãã¬ãŒã¿ãŒã«å¯çµå |
| è€éã | å€§èŠæš¡ãªã¯ãŒã¯ãããŒã§ã¯ç®¡çãè€éã«ãªãå¯èœæ§ããããŸã | è€éãªã¯ãŒã¯ãããŒãç°¡åã«ç®¡çã§ããŸã |
| ã¹ã±ãŒã©ããªã㣠| éåžžã«ã¹ã±ãŒã©ãã« | ã¹ã±ãŒã©ããªãã£ã¯ãªãŒã±ã¹ãã¬ãŒã¿ãŒã«ãã£ãŠå¶éãããŸã |
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã®å©ç¹
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã«ã¯ããã€ãã®å©ç¹ãããã忣ã·ã¹ãã ãæ§ç¯ããããã®é åçãªéžæè¢ãšãªã£ãŠããŸãã
- ççµåïŒãµãŒãã¹ã¯äºãã«åãé¢ãããŠãããããäŸåé¢ä¿ãæžå°ããç¬ç«ããéçºãšãããã€ã¡ã³ããå¯èœã«ãªããŸãã1ã€ã®ãµãŒãã¹ãžã®å€æŽã¯ãä»ã®ãµãŒãã¹ã«åœ±é¿ãäžããå¯èœæ§ãäœããªããŸããããã¯ãç°ãªãã³ã³ããŒãã³ãã§äœæ¥ããå°ççã«åæ£ããããŒã ãæã€ã°ããŒãã«çµç¹ã§ã¯ç¹ã«éèŠã§ãã
- ã¹ã±ãŒã©ããªãã£ïŒãµãŒãã¹ã¯ãç¹å®ã®ããŒãºã«åºã¥ããŠåå¥ã«ã¹ã±ãŒãªã³ã°ã§ããŸããããã«ããããªãœãŒã¹ã®å¹ççãªå©çšãšãããŸããŸãªã¯ãŒã¯ããŒãã§ã®ããã©ãŒãã³ã¹ã®åäžãå¯èœã«ãªããŸãããã£ã³ããŒã³ã€ãã³ããåŠçããããŒã±ãã£ã³ã°ãµãŒãã¹ã¯ãæ¯æããåŠçããéèãµãŒãã¹ãšã¯ç°ãªãã¹ã±ãŒãªã³ã°æ§æãå¿ èŠãšããå ŽåããããŸãã
- å埩åïŒã·ã¹ãã ã¯é害ã«å¯ŸããŠããå埩åããããŸãã1ã€ã®ãµãŒãã¹ã倱æããå Žåã§ããä»ã®ãµãŒãã¹ã¯ã倱æãããµãŒãã¹ã«çŽæ¥äŸåããŠããªããããåŒãç¶ãåäœã§ããŸããã€ãã³ããã¹ã¯ããµãŒãã¹ãäžæçã«å©çšã§ããªãå Žåã§ããã€ãã³ããæçµçã«é ä¿¡ãããããšãä¿èšŒããŸãã
- æè»æ§ïŒæ¢åã®ãµãŒãã¹ã倿Žããããšãªããæ°ãããµãŒãã¹ãã·ã¹ãã ã«è¿œå ã§ããŸããæ°ãããµãŒãã¹ãé¢é£ããã€ãã³ãã«ãµãã¹ã¯ã©ã€ãããã ãã§ãã·ã¹ãã ã«èªåçã«çµ±åãããŸããããã«ãããã€ãããŒã·ã§ã³ãä¿é²ãããããžãã¹èŠä»¶ã®å€åãžã®è¿ éãªé©å¿ãå¯èœã«ãªããŸãã
- ç£æ»æ§ã®åäžïŒã€ãã³ãã¯ãã·ã¹ãã ã®æŽ»åã®æç¢ºãªç£æ»èšŒè·¡ãæäŸããŸããã€ãã³ãã远跡ããããšã«ãããçµç¹ã¯ã·ã¹ãã ã®åäœã«é¢ããæŽå¯ãåŸãŠãæœåšçãªåé¡ãç¹å®ããããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸããããã¯ã峿 ŒãªèŠå¶èŠä»¶ãããæ¥çã«ãšã£ãŠç¹ã«éèŠã§ãã
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã®èª²é¡
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã¯å€ãã®å©ç¹ãæäŸããŸãããç¹å®ã®èª²é¡ãæç€ºããŸãã
- è€éãïŒç¹ã«è€éãªã¯ãŒã¯ãããŒãæ±ãå Žåã倿°ã®ç¬ç«ãããµãŒãã¹ã管çããããšã¯è€éã«ãªãå¯èœæ§ããããŸããã·ã¹ãã ã®å šäœçãªåäœãèŠèŠåããã€ãã³ãã®æµãã远跡ããããšã¯å°é£ãªå ŽåããããŸãã
- ãããã°ïŒåæ£ã·ã¹ãã ã®åé¡ã®ãããã°ã¯å°é£ãªå ŽåããããŸããè€æ°ã®ãµãŒãã¹ã«ãããã€ãã³ãã®æµãã远跡ããã«ã¯ãå°éçãªããŒã«ãšææ³ãå¿ èŠã§ãã
- äžè²«æ§ïŒè€æ°ã®ãµãŒãã¹å šäœã§ããŒã¿ã®äžè²«æ§ã確ä¿ããããšã¯å°é£ãªå ŽåããããŸããããŒã¿ã®æŽåæ§ãç¶æããããã«ããµãŒãã¹éã§ãã©ã³ã¶ã¯ã·ã§ã³ã調æŽããå¿ èŠãããå ŽåããããŸããSagaãã¿ãŒã³ãªã©ã®æŠç¥ã¯ããã®èª²é¡ã«å¯ŸåŠããããã«äžè¬çã«æ¡çšãããŠããŸãã
- æ€åºå¯èœæ§ïŒãµãŒãã¹ã¯ããµãã¹ã¯ã©ã€ãããå¿ èŠãããã€ãã³ããæ€åºã§ããå¿ èŠããããŸããããã«ã¯ãæç¢ºã«å®çŸ©ãããã€ãã³ãã¹ããŒããšããµãŒãã¹ãå©çšå¯èœãªã€ãã³ããæ€åºããããã®ã¡ã«ããºã ãå¿ èŠã§ãã
- ãã¹ãïŒã³ã¬ãªã°ã©ãã£ãŒãããã·ã¹ãã ã®ãã¹ãã«ã¯ãæ éãªèšç»ãšå®è¡ãå¿ èŠã§ããã€ãã³ããã¢ãã¯ããããŸããŸãªã·ããªãªãã·ãã¥ã¬ãŒãããããšã¯è€éã«ãªãå¯èœæ§ããããŸãã
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã®å®è£ ïŒéèŠãªèæ ®äºé
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒãæ£åžžã«å®è£ ããã«ã¯ãæ³šææ·±ãèšç»ãšçްéšãžã®æ³šæãå¿ èŠã§ããããã«ããã€ãã®éèŠãªèæ ®äºé ããããŸãã
é©åãªã¡ãã»ãŒãžãããŒã«ãŒãéžæãã
ã¡ãã»ãŒãžãããŒã«ãŒã¯ãã€ãã³ãããªãã³ã·ã¹ãã ã®äžå¿ã§ããã€ãã³ãã®åä¿¡ãä¿åãããã³é ä¿¡ãæ åœããŸããäžè¬çãªã¡ãã»ãŒãžãããŒã«ãŒã«ã¯ã次ã®ãã®ããããŸãã
- Apache KafkaïŒå€§éã®ã€ãã³ããåŠçããã®ã«é©ãããé«ã¹ã«ãŒãããã®åæ£ã¹ããªãŒãã³ã°ãã©ãããã©ãŒã ãKafkaã¯ããªã¢ã«ã¿ã€ã ã®ããŒã¿åŠçãšåæãå¿ èŠãšããã¢ããªã±ãŒã·ã§ã³ã«æé©ã§ãã
- RabbitMQïŒããŸããŸãªã¡ãã»ãŒãžã³ã°ãããã³ã«ããµããŒããããçšéã®åºãã¡ãã»ãŒãžãããŒã«ãŒãRabbitMQã¯ãæè»ãªã«ãŒãã£ã³ã°ãšé ä¿¡ãªãã·ã§ã³ãå¿ èŠãšããã¢ããªã±ãŒã·ã§ã³ã«é©ããŠããŸãã
- Amazon SQSïŒSimple Queue ServiceïŒïŒAWSãæäŸãããã«ãããŒãžãã®ã¡ãã»ãŒãžãã¥ãŒãµãŒãã¹ãSQSã¯ãççµåã·ã¹ãã ãæ§ç¯ããããã®è²»çšå¯Ÿå¹æãé«ããã¹ã±ãŒã©ãã«ãªãªãã·ã§ã³ã§ãã
- Azure Service BusïŒãã«ãããŒãžãã®ãšã³ã¿ãŒãã©ã€ãºã€ã³ãã°ã¬ãŒã·ã§ã³ã¡ãã»ãŒãžãããŒã«ãŒãã¡ãã»ãŒãžã»ãã·ã§ã³ããã©ã³ã¶ã¯ã·ã§ã³ãªã©ã®é«åºŠãªæ©èœããµããŒãããŠããŸãã
ã¡ãã»ãŒãžãããŒã«ãŒãéžæããéã«ã¯ãã¹ã«ãŒããããã¬ã€ãã³ã·ãã¹ã±ãŒã©ããªãã£ãä¿¡é Œæ§ãããã³ã³ã¹ããªã©ã®èŠçŽ ãèæ ®ããŠãã ãããã°ããŒãã«äŒæ¥ã¯ã忣æ§ã管çã®å®¹æããããAWS SQSãAzure Service Busãªã©ã®ã¯ã©ãŠãããŒã¹ã®ãœãªã¥ãŒã·ã§ã³ãéžæããå ŽåããããŸãã
æç¢ºãªã€ãã³ãã¹ããŒããå®çŸ©ãã
ãµãŒãã¹ãã€ãã³ããæ£ããè§£éããŠåŠçã§ããããã«ããã«ã¯ãæç¢ºã«å®çŸ©ãããã€ãã³ãã¹ããŒããäžå¯æ¬ ã§ããã¹ããŒãã¯ãã€ãã³ããã€ããŒãã®æ§é ãšããŒã¿åãæå®ããå¿ èŠããããŸããã€ãã³ãã¹ããŒãã管çããã³æ€èšŒããã«ã¯ãApache AvroãJSON Schemaãªã©ã®ã¹ããŒãã¬ãžã¹ããªã䜿çšããããšãæ€èšããŠãã ãããããã«ãããäžè²«æ§ã確ä¿ãããã·ã¹ãã ã®é²åã«äŒŽãäºææ§ã®åé¡ãåé¿ãããŸããã°ããŒãã«çµç¹ã¯ãããŸããŸãªã·ã¹ãã ãšå°åéã®çžäºéçšæ§ãä¿é²ããããã«ãæšæºåãããã¹ããŒã圢åŒã®äœ¿çšãæ€èšããå¿ èŠããããŸãã
ã¹ãçæ§ã®å®è£
ã¹ãçæ§ã¯ãåãã€ãã³ããè€æ°ååŠçããŠãã1ååŠçããå Žåãšåã广ãããããšãä¿èšŒããŸããããã¯ããããã¯ãŒã¯ã®åé¡ããµãŒãã¹é害ãªã©ã«ãããã€ãã³ããè€æ°åé ä¿¡ãããç¶æ³ã«å¯ŸåŠããå Žåã«éèŠã§ããåŠçæžã¿ã®ã€ãã³ãã远跡ããéè€ãç¡èŠããããšã«ãããã¹ãçæ§ãå®è£ ããŸããäžè¬çãªã¢ãããŒãã¯ãäžæã®ã€ãã³ãIDã䜿çšããéè€åŠçãé²ãããã«ããŒã¿ããŒã¹ã«ä¿åããããšã§ãã
ãšã©ãŒãé©åã«åŠçãã
忣ã·ã¹ãã ã§ã¯ããšã©ãŒã¯é¿ããããŸãããã·ã¹ãã ãé害ããé©åã«å埩ã§ããããã«ãå ç¢ãªãšã©ãŒåŠçã¡ã«ããºã ãå®è£ ããŸããåŠçã§ããªãã€ãã³ããä¿åããããã«ããããã¬ã¿ãŒãã¥ãŒïŒDLQïŒãªã©ã®ææ³ã䜿çšããŸããDLQã宿çã«ç£èŠãããšã©ãŒã®æ ¹æ¬åå ã調æ»ããŸãã倱æããã€ãã³ããèªåçã«ååŠçããããã®å詊è¡ã¡ã«ããºã ã®å®è£ ãæ€èšããŠãã ãããã·ã¹ãã ã®ä¿¡é Œæ§ãšå¯çšæ§ãç¶æããã«ã¯ãé©åãªãšã©ãŒåŠçãšç£èŠãäžå¯æ¬ ã§ãã
ç£èŠãšãã°èšé²ã®å®è£
ç£èŠãšãã°èšé²ã¯ãã³ã¬ãªã°ã©ãã£ãŒãããã·ã¹ãã ã®åäœãçè§£ããæœåšçãªåé¡ãç¹å®ããããã«äžå¯æ¬ ã§ããã€ãã³ãã¹ã«ãŒããããã¬ã€ãã³ã·ããšã©ãŒçã«é¢ããã¡ããªãã¯ãåéããŸãããã°ã䜿çšããŠã€ãã³ãã®æµãã远跡ãããšã©ãŒã®æ ¹æ¬åå ãç¹å®ããŸããéäžãã°èšé²ããã³ç£èŠããŒã«ã¯ãã·ã¹ãã ã®å šäœçãªå¥å šæ§ã«é¢ãã貎éãªæŽå¯ãæäŸã§ããŸããã°ããŒãã«çµç¹ã¯ãè€æ°ã®ãµãŒãã¹ãšå°åã«ãããã€ãã³ãã远跡ããããã«ã忣åãã¬ãŒã¹ããŒã«ã䜿çšããããšãæ€èšããå¿ èŠããããŸãã
ã»ãã¥ãªãã£ãžã®åœ±é¿ãèæ ®ãã
ã»ãã¥ãªãã£ã¯ããããã忣ã·ã¹ãã ã«ãããŠæãéèŠã§ããäžæ£ãªã€ãã³ããžã®ã¢ã¯ã»ã¹ãé²ãããã«ãã¡ãã»ãŒãžãããŒã«ãŒãä¿è·ããŸãã転éäžã®æ©å¯ããŒã¿ãä¿è·ããããã«æå·åã䜿çšããŸãããµãŒãã¹ãžã®ã¢ã¯ã»ã¹ãå¶åŸ¡ããããã«ãèªèšŒããã³æ¿èªã¡ã«ããºã ãå®è£ ããŸããæœåšçãªè åšã軜æžããããã«ãã»ãã¥ãªãã£å¯Ÿçã宿çã«èŠçŽããæŽæ°ããŸããGDPRãCCPAãªã©ã®é¢é£ããããŒã¿ãã©ã€ãã·ãŒèŠå¶ãéµå®ããããã«ããŠãã ããã
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã®å®çšçãªäŸ
ããŸããŸãªæ¥çã§ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒãé©çšããæ¹æ³ã®å®çšçãªäŸã次ã«ç€ºããŸãã
- Eã³ããŒã¹ïŒåè¿°ã®ããã«ã泚æåŠçãåšåº«ç®¡çãé éãããã³é¡§å®¢éç¥ã¯ãã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã䜿çšããŠå®è£ ã§ããŸããæ³šæãé 眮ããããšããOrderCreatedãã€ãã³ããå ¬éãããŸããåšåº«ç®¡çãµãŒãã¹ã¯ãã®ã€ãã³ãããµãã¹ã¯ã©ã€ãããåšåº«ã¬ãã«ãæŽæ°ããŸããé éãµãŒãã¹ã¯ã€ãã³ããåä¿¡ããé éããã»ã¹ãéå§ããŸãã顧客éç¥ãµãŒãã¹ã¯ã顧客ã«ç¢ºèªã¡ãŒã«ãéä¿¡ããŸãã
- éèïŒæ¯æããšééãªã©ã®éèååŒã®åŠçã¯ãã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã䜿çšããŠå®è£ ã§ããŸããæ¯æããéå§ããããšããPaymentInitiatedãã€ãã³ããå ¬éãããŸããæ¯æãåŠçãµãŒãã¹ã¯ã€ãã³ããåä¿¡ããæ¯æããåŠçããŸããäŒèšãµãŒãã¹ã¯ã€ãã³ããåä¿¡ããç·åå®å åž³ãæŽæ°ããŸããäžæ£æ€åºãµãŒãã¹ã¯ã€ãã³ããåä¿¡ããäžæ£ãã§ãã¯ãå®è¡ããŸãã
- ãã«ã¹ã±ã¢ïŒæ£è ããŒã¿ã®ç®¡çãšã±ã¢ã®èª¿æŽã¯ãã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã䜿çšããŠå®è£ ã§ããŸããæ£è ãç é¢ã«å ¥é¢ãããšããPatientAdmittedãã€ãã³ããå ¬éãããŸããç»é²ãµãŒãã¹ã¯ã€ãã³ããåä¿¡ããæ£è ãç»é²ããŸããè«æ±ãµãŒãã¹ã¯ã€ãã³ããåä¿¡ããè«æ±ã¬ã³ãŒããäœæããŸããå»çèšé²ãµãŒãã¹ã¯ã€ãã³ããåä¿¡ããæ£è ã®å»çèšé²ãäœæããŸãã
- ããžã¹ãã£ã¯ã¹ïŒè²šç©ã®è¿œè·¡ãšé éã«ãŒãã®ç®¡çã¯ãã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã䜿çšããŠå®è£ ã§ããŸãã貚ç©ãçºéããããšããShipmentDispatchedãã€ãã³ããå ¬éãããŸãã远跡ãµãŒãã¹ã¯ã€ãã³ããåä¿¡ãã貚ç©è¿œè·¡æ å ±ãæŽæ°ããŸããé éãµãŒãã¹ã¯ã€ãã³ããåä¿¡ããé éã«ãŒããèšç»ããŸãã顧客éç¥ãµãŒãã¹ã¯ã€ãã³ããåä¿¡ãã顧客ã«é ééç¥ãéä¿¡ããŸãã
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã®ããŒã«ãšãã¯ãããžãŒ
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã®å®è£ ã容æã«ããããã€ãã®ããŒã«ãšãã¯ãããžãŒããããŸãã
- ã¡ãã»ãŒãžãããŒã«ãŒïŒApache KafkaãRabbitMQãAmazon SQSãAzure Service Bus
- ã€ãã³ãã¹ããªãŒãã³ã°ãã©ãããã©ãŒã ïŒApache Kafka StreamsãApache Flink
- ã³ã³ããåïŒDockerãKubernetes
- ãµãŒãã¹ã¡ãã·ã¥ïŒIstioãLinkerd
- APIã²ãŒããŠã§ã€ïŒKongãTyk
- ç£èŠããã³ãã°èšé²ããŒã«ïŒPrometheusãGrafanaãELKã¹ã¿ãã¯ïŒElasticsearchãLogstashãKibanaïŒ
- ãã¬ãŒã¹ããŒã«ïŒJaegerãZipkin
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã®ãã¹ããã©ã¯ãã£ã¹
ãã¹ããã©ã¯ãã£ã¹ãéµå®ããããšã§ãã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã®å®è£ ã®æåãå€§å¹ ã«åäžãããããšãã§ããŸãã
- ã€ãã³ããå°ãããçŠç¹ãçµã£ããã®ã«ããïŒã€ãã³ãã¯ãç¶æ ã®åäžã®ååçãªå€åã衚ãå¿ èŠããããŸããã€ãã³ããã€ããŒãã«äžèŠãªããŒã¿ãå«ããªãããã«ããŠãã ããã
- æå³ã®ããã€ãã³ãåã䜿çšããïŒã€ãã³ãåã¯ãçºçããã€ãã³ããæç¢ºã«èª¬æããå¿ èŠããããŸããäžè²«ããåœåèŠåã䜿çšããŸãã
- ã¹ãçæ§ã®ããã«èšèšããïŒã€ãã³ããæªåœ±é¿ãªãã«è€æ°ååŠçã§ããããã«ãã¹ãçæ§ãå®è£ ããŸãã
- ãšã©ãŒãé©åã«åŠçããïŒé害ãã·ã¹ãã å šäœã«é£éããªãããã«ãå ç¢ãªãšã©ãŒåŠçã¡ã«ããºã ãå®è£ ããŸãã
- ãã¹ãŠãç£èŠãããã°èšé²ããïŒã¡ããªãã¯ãšãã°ãåéããŠãã·ã¹ãã ã®åäœã«é¢ããæŽå¯ãåŸãŠãæœåšçãªåé¡ãç¹å®ããŸãã
- ã·ã¹ãã ã培åºçã«ææžåããïŒã€ãã³ãã¹ããŒãããµãŒãã¹ã®çžäºäœçšãããã³ãšã©ãŒåŠçã¡ã«ããºã ãææžåããŸãã
- éåæéä¿¡ãæ¡çšããïŒãµãŒãã¹éã®åæåŒã³åºããé¿ããŸããã¹ã±ãŒã©ããªãã£ãšå埩åãåäžãããããã«ãéåæéä¿¡ã䜿çšããŸãã
- æçµçãªæŽåæ§ãèæ ®ããïŒããŒã¿ããã¹ãŠã®ãµãŒãã¹éã§ããã«äžè²«æ§ããªãå Žåãããããšãåãå ¥ããŸããæçµçãªæŽåæ§ã蚱容ããããã«ã·ã¹ãã ãèšèšããŸãã
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã®æªæ¥
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã¯åžžã«é²åããŠããåéã§ããæ°ããªãã¬ã³ãã«ã¯ä»¥äžãå«ãŸããŸãã
- ãµãŒããŒã¬ã¹ã³ã³ãã¥ãŒãã£ã³ã°ïŒã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒãAWS LambdaãAzure Functionsãªã©ã®ãµãŒããŒã¬ã¹ãã©ãããã©ãŒã ãšçµ±åãããšãã€ãã³ãããªãã³ã¢ããªã±ãŒã·ã§ã³ãèªåçãã€å¹ççã«ã¹ã±ãŒãªã³ã°ã§ããŸãã
- ã¯ã©ãŠããã€ãã£ãã¢ãŒããã¯ãã£ïŒã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã¯ãã¯ã©ãŠããã€ãã£ãã¢ãŒããã¯ãã£ã®äž»èŠã³ã³ããŒãã³ãã§ãããçµç¹ãã¹ã±ãŒã©ãã«ã§å埩åããããç§»æ€å¯èœãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããããã«ããŸãã
- AIãå©çšããã€ãã³ãåŠçïŒäººå·¥ç¥èœã䜿çšããŠã€ãã³ãããªã¢ã«ã¿ã€ã ã§åæãããšãé«åºŠãªæææ±ºå®ãšèªååãå¯èœã«ãªããŸãã
- ãããã¯ãã§ãŒã³ã®çµ±åïŒã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒããããã¯ãã§ãŒã³æè¡ãšçµ±åããããšã§ãå®å šã§éææ§ã®é«ãã€ãã³ã远跡ãæäŸã§ããŸãã
çµè«
ã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã¯ãçµç¹ãã¹ã±ãŒã©ãã«ã§å埩åããããæè»ãªã·ã¹ãã ãæ§ç¯ã§ããããã«ãã匷åãªã€ã³ãã°ã¬ãŒã·ã§ã³ãã¿ãŒã³ã§ããã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã®ååãå©ç¹ã課é¡ãããã³ãã¹ããã©ã¯ãã£ã¹ãçè§£ããããšã«ãããçµç¹ã¯ãã®ãã¿ãŒã³ã广çã«æŽ»çšããŠããžãã¹ç®æšãéæã§ããŸããäžçããŸããŸãçžäºæ¥ç¶ãããã«ã€ããŠãã€ãã³ãããªãã³ã¢ãŒããã¯ãã£ãšã¡ãã»ãŒãžã³ã¬ãªã°ã©ãã£ãŒã¯ãçµç¹ãããžã¿ã«æä»£ã«ç¹æ ããããã«äžå¯æ¬ ãªåœ¹å²ãæããç¶ããã§ããããã€ãã³ãã®åãåãå ¥ãã忣ã·ã¹ãã ã®å¯èœæ§ãè§£ãæŸã¡ãŸãããã