é¢åå¾®æå¡çä½ç³»ç»æå¦ä»é£é¡å ¨çãè¿æ¯å 为æ´å¿«çé¨ç½²èå¥åæ´ä½çææ¬æ¯é¢åå¾®æå¡çä½ç³»ç»æçåºæ¬æ¿è¯ºã
ç¶èï¼å¯¹äºå¤§å¤æ°è¯æ°´çå ¬å¸æ¥è¯´ï¼å¼åæ´»å¨æ´å¤çæ¯å°ç°æçåååºç¨ç¨åºè½¬æ¢ä¸ºé¢åå¾®æå¡çä½ç³»ç»æï¼è¿å¯è½æ¯è®¸å¤å±é¢ä¸é»ç¢åå²çªçæ ¹æºã
è½ç¶Greenfield (æªå¼åç)é¢åå¾®æå¡çä½ç³»ç»æå®ç°å¯ä»¥åæ对å½åå¾®æå¡çä¸¥æ ¼è§£é-设计ååãä½å¨é¢åå¾®æå¡çä½ç³»ç»æä¸ï¼å解çéçåºç¨ç¨åºåå¨ç°è²é´å½±ï¼å¦æ没æå ¶ä»åå ï¼åªè½æ»¡è¶³é¢ç®åæ¶é´éå¶ã
å¨ä¼ä¸ç®¡çé¾çæ个å°æ¹ï¼æä¸ä½ä¸å¡ä¸»ç®¡å¨ä¸ä¸ªé¢åå¾®æå¡çä½ç³»ç»æä¸æ¥çä¸è¿äºéçåºç¨ç¨åºç¸å ³çå解ææ¬ï¼å¹¶å°å ¶ä¸éç代ç å·²ç»æä¾çä»·å¼è¿è¡æ¯è¾ãä¸æ¦å¼åææ¬è¶ è¿äºé¢æçæ¶çï¼ä¸å¡ä¸»ç®¡å¾å¯è½ä¼éåºå¹¶åæ¶è¯¥é¡¹ç®ã
è¿ç§äºç»å¸¸ä¼åçã
å æ¤ï¼å¼åç»çé¢ä¸´ç巨大çååï¼è¦æ±ä»ä»¬å°½å¿«å°ä»£ç è¾åºãâ足å¤å¥½âå°æ为转åççæ³ç®æ ã
ç°å¨ï¼è¿ä¸ä¸å®æ¯ä¸ä»¶åäºãä¸çå¾ æ¢¦æ³å°æ¥ç¸æ¯ï¼è¾åºå·¥ä½ä»£ç çè½åæ»æ¯æ´å¥½ãä½æ¯ï¼âç°è²çé´å½±âæ¯å¾é¾ç®¡ççï¼é®é¢å°±å¨äºå¦ä½çå®â足å¤å¥½âççéã
å æ¤ï¼å²çªå¼å§äºãä¸æ¹æ³è¦è¾åºä»ä»¬æ³è¦çä¸è¥¿ï¼èå¦ä¸æ¹åå¸æåæ´å¤çæ¹è¿ã
å¯¹ä½ æ¥è¯´ï¼æææ¯ä¸è¦è®©è¿äºä¸åå¦æ´¾å¨æ¬è´¨ä¸æ¯ä¿¡ä»°æ¯æçè§ç¹ä¸å¶é ä¸åºæ²¡å®æ²¡äºçäºåµãå¦ææ¨è¿æ ·åäºï¼å®å°é æä¸ç§æ åµï¼å³æ ¹æ¬ä¸æä¾ä»»ä½ä»£ç ãç°å¨ï¼å²çªå¯ä»¥ä»è®¸å¤ç¸äºç«äºçæ³æ³ä¸ç»¼ååºæ好çæ³æ³ãä½æ¯ï¼å½è¯è¯éå为永æ æ¢å¢çå²çªæ¶ï¼å®å¯è½æ¯è´å½çã
æéè¿éä¸è®¨è®ºä»¥ä¸ä¸ä¸ªé®é¢æ¥å¤çè¿ç±»æ åµï¼ä»¥é¿å è¿ç§å²çªï¼
- 设计ççç±æ¯ä»ä¹ï¼
- é£é©æå¤å¤§ï¼
- åå°é£é©ç计åæ¯ä»ä¹ï¼
请å 许æ详ç»è¯´æã
1. 设计ççç±æ¯ä»ä¹ï¼
å½æ¨è¯ä¼°é¢åå¾®æå¡çä½ç³»ç»æç设计æ¶ï¼æé¢ä¸´çæææ¯å°è¿å»çè§ç¹è½¬ç§»å°ç论åºç¡åæä¸ãå®çå建主è¦æ¥èªäºå个åºç¨ç¨åºçå解ãä»»ä½è®¾è®¡é½å¯è½â足å¤å¥½âï¼åªè¦ä½ è½è¯æå®ç好å¤åä»·å¼ã
ä¾å¦ï¼é¢åå¾®æå¡çä½ç³»ç»æ设计çé¦éæ ·å¼ä¹ä¸æ¯éç¨äºä»¶é©±å¨çæ¹æ³è¿è¡æå¡é´éä¿¡ãå ·ä½æ¥è¯´ï¼è¿æå³çæ¨ä½¿ç¨æ¶æ¯èç¹ä»¥å¼æ¥æ¹å¼å¨å¾®æå¡ä¹é´ä¼ éæ¶æ¯ãç¶èï¼ä»é¿è¿æ¥çï¼è½ç¶å¼æ¥éä¿¡æ´å çµæ´»åå¯æ©å±ï¼ä½æ¶æ¯ç³»ç»å®ç°æ¯å¨âé¢åâå¾®æå¡çAPIä¹é´ä½¿ç¨åæ¥HTTPè°ç¨ç设计è¦å¤æå¾å¤ãå æ¤ï¼å½å¸åºæ¶é´è¢«å ³æ³¨æ¶ï¼å®å ¨æçç±å°åååºç¨ç¨åºä¸çç¹æ§éæ为以HTTP APIæ¹å¼è¡¨ç¤ºçç¬ç«çå¾®æå¡ã
â
ä¸å¼æ¥æå¡ç¸æ¯ï¼åæ¥å¾®æå¡çå®ç°é常ä¸é£ä¹å¤æã
ä»é¿è¿æ¥çï¼åæ¥éä¿¡ä¸ä¸å®æ¯æä½³éæ©ï¼ä½èèå°ä»åååºç¨ç¨åºä¸æåç¬ç«çå¾®æå¡æéçææå ¶ä»å·¥ä½ï¼åæ¥å¯¹äºç¬¬ä¸ä¸ªçæ¬æ¥è¯´æ¯â足å¤å¥½âçãå æ¤ï¼è¿æ¯ä¸ä¸ªåçççç±ã
ç¶èï¼è¿å¹¶ä¸æ¯è¯´åæ¥æ¹æ³æ²¡æé£é©ãäºå®ä¸ï¼é£é©æå¾å¤ãå½æ¶åå°å®¡æ¥é¢åå¾®æå¡çä½ç³»ç»æ设计æ¶ï¼ä» ä» è¯´æçç±å¹¶ä¸æ¯å¯ä¸çå ç´ ãé£é©ä¹å¿ é¡»å 以éè¿°ã
2. é£é©æå¤å¤§ï¼
ææç设计é½æå å¨çé£é©ãå¨ä¸é¢æè¿°çåæ¥è®¾è®¡ç¤ºä¾ä¸ï¼è¿ç§æå¡é´éä¿¡æ¹æ³å¯è½ä¼å¯¼è´æå¡ä¹é´ç±»åè¦åçé£é©ï¼ç±äºåæ¥HTTPéä¿¡åå ¶ä»éä¿¡çæ§è´¨èå¢å 延è¿å¢å 延è¿ã
éè¦çæ¯è¦è®©äººä»¬ç¥éè¿äºé£é©ï¼è¿æ ·å°±å¯ä»¥æ ¹æ®é¢æ设计çåçæ§æ¥æè¡¡å®ä»¬ãå¦æé£é©æ¯å·¨å¤§çï¼åå¤ççç±ä¹æ¯ä¸å¤çãå¦ä¸æ¹é¢ï¼èèå°ç®åçéæ±ï¼æäºé£é©å¯è½æ¯å¯ä»¥æ¥åçãè¯çªæ¯ç¡®ä¿é£é©å¨å®¡æ¥è¿ç¨ä¸å¾å°æç¡®çä¼ è¾¾ã讨论ä¸å·²ç¥çé£é©æ»æ¯æ¯éèçé£é©æ´å¯åï¼èè¿ç§é£é©å¯è½ä¼å¨è·¯ä¸é æå²å»ãæ¤å¤ï¼å¦ææ¨ä»¥åç¥éé£é©ï¼é£ä¹éçé¢åå¾®æå¡çä½ç³»ç»æçæçï¼æ¨å¯ä»¥è®¡åå¦ä½å¨æªæ¥ççæ¬ä¸æ´å¥½å°ååè¿è¿ãè¿å°±æ¯åå°é£é©çåå ã
3. åå°é£é©ç计åæ¯ä»ä¹ï¼
ä¸ä¸ªææºçåºç¨ç¨åºè®¾è®¡äººåçä¸ä¸ªæ å¿æ¯è½å¤è¯å«ä»ä»¬ç设计é£é©ï¼ä¸æ¦ç¡®å®ä¸æ¥ä»ä¼æè¿è§å°éæä¸ç§æ¹æ³ï¼ä»¥åè½»è¿äºé£é©ã没æéå½çç¼è§£ææ¯çé£é©è¯å«æ¯æç»´ä¸å®æ´çæ å¿ã
å¦æé¢åå¾®æå¡çä½ç³»ç»æ设计æå¾å¤§çé£é©å解å³è¿äºé®é¢çè¾¹é 计åï¼é£ä¹è®¾è®¡å¢ééè¦è®¤çèèå ¶å¯è¡æ§ãæ¤å¤ï¼å¦æç¼è§£è®¡åä¸åå®é -è¶ åºé¡¹ç®çä¸é¨ç¥è¯åé¢ç®-设计çå¯è¡æ§ä¹éè¦è´¨çãè¿é½æ¯å¹³è¡¡çé®é¢ã
ä¸ä¸ªå¹³è¡¡è¯å¥½çé¢åå¾®æå¡çä½ç³»ç»æ设计æ¯åççï¼å 为å®æ³è¦æ»¡è¶³çæ¡ä»¶ä¸å ¶åºæç设计é£é©åæ¨å¨è§£å³è¿äºé£é©çç¼è§£è®¡åç¸æè¡¡ã
4. æå®ä»¬æ¾å¨ä¸èµ·
å²çªæ¯åé æ§è¿ç¨çéè¦ç»æé¨åãæåé åç人å¾å¾å¯¹èªå·±çæ³æ³åé§ä¸æãæ以ï¼å½ä½ æå®ä»¬æ¾å¨ä¸ä¸ªæ¿é´éï¼è®©ä»ä»¬ä¸ºé¢åå¾®æå¡ç建ç设计ä¸ä¸ªåä¸ç设计æ¶ï¼ç´§å¼ å ³ç³»è¯å®ä¼å å§ãäºæ å°±æ¯è¿æ ·çãä½è¦æ¯ä½èµ·æ¥ï¼å²çªæ¯å¥½äºã
幸è¿çæ¯ï¼æäºä¸ç§çæ§çæ¹æ³ï¼ç¨æåé¢æè¿°çä¸ä¸ªé®é¢æ¥å®¡æ¥é¢åå¾®æå¡çä½ç³»ç»æ设计ï¼æ¨å°±å¯ä»¥ä¿è¿å®¢è§ç讨论ï¼ä»è产ç软件以åæ¶æ»¡è¶³æ¨çéæ±ã没æä»»ä½è®¾è®¡æ¯å®ç¾çï¼ç¹å«æ¯é£äºå解å个åºç¨ç¨åºç设计ãä½æ¯ï¼äº¤ä»é¢åå¾®æå¡çä½ç³»ç»ææä¸ä¸ªå¾å¤§ç好å¤ï¼è¿ä¸ªä½ç³»ç»æ足å¤å¥½ææè¿ä½å¨çæåçµæ´»æ§è¶³å¤æç»ä¸ææ¹åé¿æã
åæï¼https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/3-questions-to-ask-in-a-microservices-oriented-architecture-review
ä½è ï¼Bob Reselman
è¯è ï¼é失çææ