֮ǰһ¶Îʱ¼ä£¬ÓÐÌý²¿Ãżܹ¹ËµÆð½ÓÏÂÀ´¹«Ë¾ÒªÊ¹ÓÃ΢·þÎñ¼Ü¹¹À´Ñз¢ÏµÍ³£¬µ±Ê±Ã»ÔõôÔÚÒ⣬ÒòΪÊǵÚÒ»´ÎÌý˵΢·þÎñÕâ¸öÃû´Ê£¨¹ûÈ»ÎÞÖªÕßÎÞη°¡£©£»ÕýºÃ¸ÏÉÏÎåÒ»¼Ù£¬
ÎÒ×Ô¸æ·Üӵ쬽ÓÁ˱àд΢·þÎñ¼Ü¹¹ÅàѵÎĵµÕâ¸öÈÎÎñ£¨Ò²ÐíÒòΪÎÒÊÇÎÄ¿ÆÉú£¬ÎıÊÉÔ΢ºÃµã£©¡£ÎåÒ»¼ÙÆÚÈýÌ죬»ù±¾¶¼ÊÇÔÚ¿´×ÊÁÏ£¬ÊáÀí˼·ÒÔ¼°±àд½ÓÏÂÀ´µÄÅàѵÎĵµÖжȹý¡£
ÏÂÃæ£¬¾Í˵˵ÎÒÕ⼸ÌìµÄһЩÊÕ»ñ°É£»ÏÈ˵˵×ÊÁÏÀ´Ô´°É£ºÓмܹ¹¸øÎÒµÄһЩ×ÊÁÏ£¬ÒÔ¼°×Ô¼º°Ù¶ÈºÍÂÛ̳¡¢ÉçÇøÕÒÀ´µÄһЩ×ÊÁÏ£¬È¨µ±×öÒ»¸ö×ܽáʽµÄ¼ò½é¡£¡£¡£
Ò»¡¢Î¢·þÎñ¼Ü¹¹½éÉÜ
΢·þÎñ¼Ü¹¹£¨Microservice Architecture£©ÊÇÒ»Öּܹ¹¸ÅÄּÔÚͨ¹ý½«¹¦Äֽܷ⵽¸÷¸öÀëÉ¢µÄ·þÎñÖÐÒÔʵÏÖ¶Ô½â¾ö·½°¸µÄ½âñî¡£Äã¿ÉÒÔ½«Æä¿´×÷ÊÇÔڼܹ¹²ã´Î¶ø·Ç»ñÈ¡·þÎñµÄ
ÀàÉÏÓ¦ÓúܶàSOLIDÔÔò¡£Î¢·þÎñ¼Ü¹¹ÊǸöºÜÓÐȤµÄ¸ÅÄËüµÄÖ÷Òª×÷ÓÃÊǽ«¹¦Äֽܷ⵽ÀëÉ¢µÄ¸÷¸ö·þÎñµ±ÖУ¬´Ó¶ø½µµÍϵͳµÄñîºÏÐÔ£¬²¢Ìṩ¸ü¼ÓÁé»îµÄ·þÎñÖ§³Ö¡£
¸ÅÄ°ÑÒ»¸ö´óÐ͵ĵ¥¸öÓ¦ÓóÌÐòºÍ·þÎñ²ð·ÖΪÊý¸öÉõÖÁÊýÊ®¸öµÄÖ§³Ö΢·þÎñ£¬Ëü¿ÉÀ©Õ¹µ¥¸ö×é¼þ¶ø²»ÊÇÕû¸öµÄÓ¦ÓóÌÐò¶ÑÕ»£¬´Ó¶øÂú×ã·þÎñµÈ¼¶ÐÒé¡£
¶¨Òå£ºÎ§ÈÆÒµÎñÁìÓò×é¼þÀ´´´½¨Ó¦Óã¬ÕâЩӦÓÿɶÀÁ¢µØ½øÐпª·¢¡¢¹ÜÀíºÍµü´ú¡£ÔÚ·ÖÉ¢µÄ×é¼þÖÐʹÓÃÔÆ¼Ü¹¹ºÍƽ̨ʽ²¿Êð¡¢¹ÜÀíºÍ·þÎñ¹¦ÄÜ£¬Ê¹²úÆ·½»¸¶±äµÃ¸ü¼Ó¼òµ¥¡£
±¾ÖÊ£ºÓÃһЩ¹¦ÄܱȽÏÃ÷È·¡¢ÒµÎñ±È½Ï¾«Á·µÄ·þÎñÈ¥½â¾ö¸ü´ó¡¢¸üʵ¼ÊµÄÎÊÌâ¡£
¶þ¡¢³öÏֺͷ¢Õ¹
΢·þÎñ£¨Microservice£©Õâ¸ö¸ÅÄîÊÇ2012Äê³öÏֵģ¬×÷Ϊ¼Ó¿ìWebºÍÒÆ¶¯Ó¦ÓóÌÐò¿ª·¢½ø³ÌµÄÒ»ÖÖ·½·¨£¬2014Ä꿪ʼÊܵ½¸÷·½µÄ¹Ø×¢£¬¶ø2015Ä꣬¿ÉÒÔ˵ÊÇ΢·þÎñµÄÔªÄꣻ
Ô½À´Ô½¶àµÄÂÛ̳¡¢ÉçÇø¡¢blogÒÔ¼°»¥ÁªÍøÐÐÒµ¾ÞÍ·¿ªÊ¼¶Ô΢·þÎñ½øÐÐÌÖÂÛ¡¢Êµ¼ù£¬¿ÉÒÔ˵ÕâÑù¸ü½üÒ»²½Íƶ¯ÁË΢·þÎñµÄ·¢Õ¹ºÍ´´Ð¡£¶øÎ¢·þÎñµÄÁ÷ÐУ¬Martin
Fowler¹¦²»¿Éû¡£
ÕâÀÏÍ·ÊǸöÆæÈË£¬ÌرðÉó¤³éÏó¹éÄɺÍÖÆÔì¸ÅÄî¡£ÌØ±ðÊÇ΢·þÎñÕâÖÖÐÂÉúµÄÃû´Ê£¬¶¼ÓÐÒ»¸öÌØµã£ºÒ»½âÊ;Ͷ®£¬Ò»ÎʾͲ»Öª£¬Ò»ÌÖÂ۾ʹò¼Ü¡£
Martin FowlerÊǹú¼ÊÖøÃûµÄOOר¼Ò£¬Ãô½Ý¿ª·¢·½·¨µÄ´´Ê¼ÈËÖ®Ò»£¬ÏÖΪThoughtWorks¹«Ë¾µÄÊ×
ϯ¿ÆÑ§¼Ò¡£ÔÚÃæÏò¶ÔÏó·ÖÎöÉè¼Æ¡¢UML¡¢Ä£Ê½¡¢Èí¼þ¿ª·¢·½·¨Ñ§¡¢XP¡¢Öع¹µÈ·½Ã棬¶¼ÊÇÊÀ½ç¶¥¼¶µÄ
ר¼Ò£¬ÏÖΪThought Works¹«Ë¾µÄÊ×ϯ¿ÆÑ§¼Ò¡£Thought WorksÊÇÒ»¼Ò´ÓÊÂÆóÒµÓ¦Óÿª·¢ºÍ¡ª¡ª¼¯
³ÉµÄ¹«Ë¾¡£ÔçÔÚ20ÊÀ¼Í80Äê´ú£¬Fowler¾ÍÊÇʹÓöÔÏó¼¼Êõ¹¹½¨¶à²ãÆóÒµÓ¦Óõij«µ¼Õߣ¬ËûÖøÓм¸
±¾¾µäÊé¼®£º ¡¶ÆóÒµÓ¦Óüܹ¹Ä£Ê½¡·¡¢¡¶UML¾«´â¡·ºÍ¡¶Öع¹¡·µÈ¡£
¡ª¡ª¡ª¡ª °Ù¶È°Ù¿Æ
Èý¡¢´«Í³¿ª·¢Ä£Ê½ºÍ΢·þÎñµÄÇø±ð
ÏÈÀ´¿´¿´´«Í³µÄweb¿ª·¢·½Ê½£¬Í¨¹ý¶Ô±È±È½ÏÈÝÒ×Àí½âʲôÊÇMicroservice Architecture¡£ºÍMicroserviceÏà¶ÔÓ¦µÄ£¬ÕâÖÖ·½Ê½Ò»°ã±»³ÆÎªMonolithic£¨µ¥Ìåʽ¿ª·¢£©¡£
ËùÓеŦÄÜ´ò°üÔÚÒ»¸ö WAR°üÀ»ù±¾Ã»ÓÐÍⲿÒÀÀµ£¨³ýÁËÈÝÆ÷£©£¬²¿ÊðÔÚÒ»¸öJEEÈÝÆ÷£¨Tomcat£¬JBoss£¬WebLogic£©À°üº¬ÁË
DO/DAO£¬Service£¬UIµÈËùÓÐÂß¼¡£

Óŵ㣺
¢Ù¿ª·¢¼òµ¥£¬¼¯ÖÐʽ¹ÜÀí
¢Ú»ù±¾²»»áÖØ¸´¿ª·¢
¢Û¹¦Äܶ¼ÔÚ±¾µØ£¬Ã»Óзֲ¼Ê½µÄ¹ÜÀíºÍµ÷ÓÃÏûºÄ
ȱµã£º
1¡¢Ð§Âʵͣº¿ª·¢¶¼ÔÚͬһ¸öÏîÄ¿¸Ä´úÂ룬Ï໥µÈ´ý£¬³åÍ»²»¶Ï
2¡¢Î¬»¤ÄÑ£º´úÂ빦¹¦ÄÜñîºÏÔÚÒ»Æð£¬ÐÂÈ˲»ÖªµÀºÎ´ÓÏÂÊÖ
3¡¢²»Áé»î£º¹¹½¨Ê±¼ä³¤£¬ÈκÎСÐ޸Ķ¼ÒªÖع¹Õû¸öÏîÄ¿£¬ºÄʱ
4¡¢Îȶ¨ÐԲһ¸ö΢СµÄÎÊÌ⣬¶¼¿ÉÄܵ¼ÖÂÕû¸öÓ¦Óùҵô
5¡¢À©Õ¹ÐÔ²»¹»£ºÎÞ·¨Âú×ã¸ß²¢·¢ÏµÄÒµÎñÐèÇó
³£¼ûµÄϵͳ¼Ü¹¹×ñѵÄÈý¸ö±ê×¼ºÍÒµÎñÇý¶¯Á¦£º
1¡¢Ìá¸ßÃô½ÝÐÔ£º¼°Ê±ÏìÓ¦ÒµÎñÐèÇ󣬴ٽøÆóÒµ·¢Õ¹
2¡¢ÌáÉýÓû§ÌåÑ飺ÌáÉýÓû§ÌåÑ飬¼õÉÙÓû§Á÷ʧ
3¡¢½µµÍ³É±¾£º½µµÍÔö¼Ó²úÆ·¡¢¿Í»§»òÒµÎñ·½°¸µÄ³É±¾
»ùÓÚ΢·þÎñ¼Ü¹¹µÄÉè¼Æ£º
Ä¿µÄ£ºÓÐЧµÄ²ð·ÖÓ¦Óã¬ÊµÏÖÃô½Ý¿ª·¢ºÍ²¿Êð

¹ØÓÚ΢·þÎñµÄÒ»¸öÐÎÏó±í´ï£º

XÖ᣺ÔËÐжà¸ö¸ºÔؾùºâÆ÷Ö®ºóµÄÔËÐÐʵÀý
YÖ᣺½«Ó¦ÓýøÒ»²½·Ö½âΪ΢·þÎñ£¨·Ö¿â£©
ZÖ᣺´óÊý¾ÝÁ¿Ê±£¬½«·þÎñ·ÖÇø£¨·Ö±í£©
ËÄ¡¢Î¢·þÎñµÄ¾ßÌåÌØÕ÷
¹Ù·½µÄ¶¨Ò壺
1¡¢Ò»Ð©ÁеĶÀÁ¢µÄ·þÎñ¹²Í¬×é³Éϵͳ
2¡¢µ¥¶À²¿Êð£¬ÅÜÔÚ×Ô¼ºµÄ½ø³ÌÖÐ
3¡¢Ã¿¸ö·þÎñΪ¶ÀÁ¢µÄÒµÎñ¿ª·¢
4¡¢·Ö²¼Ê½¹ÜÀí
5¡¢·Ç³£Ç¿µ÷¸ôÀëÐÔ
´ó¸ÅµÄ±ê×¼£º
1¡¢·Ö²¼Ê½·þÎñ×é³ÉµÄϵͳ
2¡¢°´ÕÕÒµÎñ£¬¶ø²»ÊǼ¼ÊõÀ´»®·Ö×éÖ¯
3¡¢×öÓÐÉúÃüµÄ²úÆ·¶ø²»ÊÇÏîÄ¿
4¡¢Ç¿·þÎñ¸öÌåºÍÈõͨÐÅ£¨ Smart endpoints anddumb pipes £©
5¡¢×Ô¶¯»¯ÔËά£¨ DevOps £©
6¡¢¸ß¶ÈÈÝ´íÐÔ
7¡¢¿ìËÙÑÝ»¯ºÍµü´ú
Îå¡¢SOAºÍ΢·þÎñµÄÇø±ð
1¡¢SOAϲ»¶ÖØÓã¬Î¢·þÎñϲ»¶ÖØÐ´
SOAµÄÖ÷ҪĿµÄÊÇΪÁËÆóÒµ¸÷¸öϵͳ¸ü¼ÓÈÝÒ×µØÈÚºÏÔÚÒ»Æð¡£ ˵µ½SOA²»µÃ²»ËµESB(EnterpriseService
Bus)¡£ESBÊÇʲô? ¿ÉÒÔ°ÑESBÏëÏó³ÉÒ»¸öÁ¬½ÓËùÓÐÆóÒµ¼¶·þÎñµÄ½ÅÊּܡ£
ͨ¹ýservice broker£¬Ëü¿ÉÒ԰Ѳ»Í¬Êý¾Ý¸ñʽ»òÄ£ÐÍת³Écanonical¸ñʽ£¬°ÑXMLµÄÊäÈëת³ÉCSV´«¸ølegacy·þÎñ£¬°ÑSOAP
1.1·þÎñת³ÉSOAP 1.2µÈµÈ¡£ Ëü»¹¿ÉÒÔ°ÑÒ»¸ö·þÎñ
·Óɵ½ÁíÒ»¸ö·þÎñÉÏ£¬Ò²¿ÉÒÔ¼¯Öл¯¹ÜÀíÒµÎñÂß¼£¬¹æÔòºÍÑéÖ¤µÈµÈ¡£ Ëü»¹ÓÐÒ»¸öÖØÒª¹¦ÄÜÊÇÏûÏ¢¶ÓÁкÍʼþÇý¶¯µÄÏûÏ¢´«µÝ£¬±ÈÈç°ÑJMS·þÎñת»¯³ÉSOAPÐÒé¡£
¸÷·þÎñ¼ä¿ÉÄÜÓÐ
¸´ÔÓµÄÒÀÀµ¹ØÏµ¡£
΢·þÎñͨ³£ÓÉÖØÐ´Ò»¸öÄ£¿é¿ªÊ¼¡£Òª°ÑÕû¸ö¾ÞʯÐ͵ÄÓ¦ÓÃÖØÐ´ÊÇÓкܴóµÄ·çÏյģ¬Ò²²»Ò»¶¨±ØÒª¡£ÎÒÃÇÏò΢·þÎñÇ¨ÒÆµÄʱºòͨ³£´ÓñîºÏ¶È×îµÍµÄÄ£¿é»ò¶ÔÀ©Õ¹ÐÔÒªÇó×î¸ßµÄÄ£¿é¿ªÊ¼£¬
°ÑËüÃÇÒ»¸öÒ»¸ö°þÀë³öÀ´ÓÃÃô½ÝµØÖØÐ´£¬¿ÉÒÔ³¢ÊÔ×îеļ¼ÊõºÍÓïÑԺͿò¼Ü£¬È» ºóµ¥¶À²¼Êð¡£ Ëüͨ³£²»ÒÀÀµÆäËû·þÎñ¡£Î¢·þÎñÖг£ÓõÄAPI
GatewayµÄģʽÖ÷ҪĿµÄÒ²²»ÊÇÖØÓôúÂ룬
¶øÊǼõÉÙ¿Í»§¶ËºÍ·þÎñ¼äµÄÍùÀ´¡£API gatewayģʽ²»µÈͬÓëFacadeģʽ£¬ÎÒÃÇ¿ÉÒÔʹÓÃÈçfutureÖ®ÀàµÄµ÷Óã¬ÉõÖÁ·µ»Ø²»ÍêÕûÊý¾Ý¡£
2¡¢SOAϲ»¶Ë®Æ½·þÎñ£¬Î¢·þÎñϲ»¶´¹Ö±·þÎñ
SOAÉè¼ÆÏ²»¶¸ø·þÎñ·Ö²ã(ÈçService Layersģʽ)¡£ ÎÒÃdz£³£¼ûµ½Ò»¸öEntity·þÎñ²ãµÄÉè¼Æ£¬ÃÀÆäÃûÔ»Data
AccessLayer¡£ ÕâÖÖÉè¼ÆÒªÇóËùÓеķþÎñ¶¼Í¨¹ýÕâ¸öEntity·þÎñ²ã
À´»ñÈ¡Êý¾Ý¡£ ÕâÖÖÉè¼Æ·Ç³£²»Áé»î£¬±ÈÈçÿ´ÎÊý¾Ý²ãµÄ¸Ä¶¯¶¼¿ÉÄÜÓ°Ïìµ½ËùÓÐÒµÎñ²ãµÄ·þÎñ¡£ ¶øÃ¿¸ö΢·þÎñͨ³£ÓÐËü×Ô¼º¶ÀÁ¢µÄdata
store¡£ ÎÒÃÇÔÚ²ð·ÖÊý¾Ý¿âʱ¿ÉÒÔÊʵ±µÄ×öЩ
È¥·¶Ê½»¯(denormalization)£¬ÈÃËü²»ÐèÒªÒÀÀµÆäËû·þÎñµÄÊý¾Ý¡£
΢·þÎñͨ³£ÊÇÖ±½ÓÃæ¶ÔÓû§µÄ£¬Ã¿¸ö΢·þÎñͨ³£Ö±½ÓΪÓû§Ìṩij¸ö¹¦ÄÜ¡£ ÀàËÆµÄ¹¦ÄÜ¿ÉÄÜÕë¶ÔÊÖ»úÓÐÒ»¸ö·þÎñ£¬Õë¶Ô»ú¶¥ºÐÊÇÁíÍâÒ»¸ö·þÎñ¡£
ÔÚSOAÉè¼ÆÄ£Ê½ÖÐÕâÖÖÇé¿öͨ³£»áÓõ½
Multi-ChannelEndpointµÄģʽ·µ»ØÒ»¸ö´ó¶øÈ«µÄ½á¹û¼æ¹Ëµ½ËùÓеĿͻ§¶ËµÄÐèÇó¡£
3¡¢SOAϲ»¶×ÔÉ϶øÏ£¬Î¢·þÎñϲ»¶×Ô϶øÉÏ
SOA¼Ü¹¹ÔÚÉè¼Æ¿ªÊ¼Ê±»áÏȶ¨ÒåºÃ·þÎñºÏͬ(service contract)¡£ Ëüϲ»¶¼¯ÖйÜÀíËùÓеķþÎñ£¬°üÀ¨¼¯ÖйÜÀíÒµÎñÂß¼£¬Êý¾Ý£¬Á÷³Ì£¬schema£¬µÈµÈ¡£
ËüʹÓÃEnterprise
InventoryºÍServiceCompositionµÈ·½·¨À´¼¯ÖйÜÀí·þÎñ¡£ SOA¼Ü¹¹Í¨³£»áÔ¤ÏȰÑÿ¸öÄ£¿é·þÎñ½Ó¿Ú¶¼¶¨ÒåºÃ¡£
Ä£¿éϵͳ¼äµÄͨѶ±ØÐë×ñÊØÕâЩ½Ó¿Ú£¬¸÷·þÎñÊÇÕë¶ÔËûÃǵĵ÷ÓÃÕß¡£
SOA¼Ü¹¹ÊÊÓÃÓÚTOGAFÖ®ÀàµÄ¼Ü¹¹·½·¨ÂÛ¡£
΢·þÎñÔòÃô½ÝµÃ¶à¡£Ö»ÒªÓû§Óõõ½£¬¾ÍÏȰÑÕâ¸ö·þÎñÍÚ³öÀ´¡£È»ºóÕë¶ÔÐԵģ¬¿ìËÙÈ·ÈÏÒµÎñÐèÇ󣬿ìËÙ¿ª·¢µü´ú¡£
Áù¡¢Ôõô¾ßÌåʵ¼ù΢·þÎñ
Ҫʵ¼ÊµÄÓ¦ÓÃ΢·þÎñ£¬ÐèÒª½â¾öÒ»ÏÂËĵãÎÊÌ⣺
1¡¢¿Í»§¶ËÈçºÎ·ÃÎÊÕâЩ·þÎñ
2¡¢Ã¿¸ö·þÎñÖ®¼äÈçºÎͨÐÅ
3¡¢Èç´Ë¶àµÄ·þÎñ£¬ÈçºÎʵÏÖ£¿
4¡¢·þÎñ¹ÒÁË£¬ÈçºÎ½â¾ö£¿£¨±¸·Ý·½°¸£¬Ó¦¼±´¦Àí»úÖÆ£©
1¡¢¿Í»§¶ËÈçºÎ·ÃÎÊÕâЩ·þÎñ
ÔÀ´µÄMonolithic·½Ê½¿ª·¢£¬ËùÓеķþÎñ¶¼ÊDZ¾µØµÄ£¬UI¿ÉÒÔÖ±½Óµ÷Óã¬ÏÖÔÚ°´¹¦Äܲð·Ö³É¶ÀÁ¢µÄ·þÎñ£¬ÅÜÔÚ¶ÀÁ¢µÄÒ»°ã¶¼ÔÚ¶ÀÁ¢µÄÐéÄâ»úÉϵÄ
Java½ø³ÌÁË¡£¿Í»§¶ËUIÈçºÎ·ÃÎÊËûµÄ£¿
ºǫ́ÓÐN¸ö·þÎñ£¬Ç°Ì¨¾ÍÐèÒª¼Çס¹ÜÀíN¸ö·þÎñ£¬Ò»¸ö·þÎñÏÂÏß/¸üÐÂ/Éý¼¶£¬Ç°Ì¨¾ÍÒªÖØÐ²¿Êð£¬ÕâÃ÷ÏÔ²»·þÎñÎÒÃDzð·ÖµÄÀíÄî£¬ÌØ±ðµ±Ç°Ì¨ÊÇÒÆ¶¯Ó¦ÓõÄʱºò£¬Í¨³£ÒµÎñ±ä»¯µÄ½Ú×à¸ü¿ì¡£
ÁíÍ⣬N¸öС·þÎñµÄµ÷ÓÃÒ²ÊÇÒ»¸ö²»Ð¡µÄÍøÂ翪Ïú¡£»¹ÓÐÒ»°ã΢·þÎñÔÚϵͳÄÚ²¿£¬Í¨³£ÊÇÎÞ ×´Ì¬µÄ£¬Óû§µÇ¼ÐÅÏ¢ºÍȨÏÞ¹ÜÀí×îºÃÓÐÒ»¸öͳһµÄµØ·½Î¬»¤¹ÜÀí£¨OAuth£©¡£
ËùÒÔ£¬Ò»°ãÔÚºǫ́N¸ö·þÎñºÍUIÖ®¼äÒ»°ã»áÒ»¸ö´úÀí»òÕß½ÐAPI Gateway£¬ËûµÄ×÷ÓðüÀ¨£º
¢Ù Ìṩͳһ·þÎñÈë¿Ú£¬ÈÃ΢·þÎñ¶Ôǰ̨͸Ã÷
¢Ú ¾ÛºÏºǫ́µÄ·þÎñ£¬½ÚÊ¡Á÷Á¿£¬ÌáÉýÐÔÄÜ
¢Û Ìṩ°²È«£¬¹ýÂË£¬Á÷¿ØµÈAPI¹ÜÀí¹¦ÄÜ
ÆäʵÕâ¸öAPIGateway¿ÉÒÔÓкܶà¹ãÒåµÄʵÏÖ°ì·¨£¬¿ÉÒÔÊÇÒ»¸öÈíÓ²Ò»ÌåµÄºÐ×Ó£¬Ò²¿ÉÒÔÊÇÒ»¸ö¼òµ¥µÄMVC¿ò¼Ü£¬ÉõÖÁÊÇÒ»¸öNode.jsµÄ·þÎñ¶Ë¡£ËûÃÇ×îÖØÒªµÄ×÷ÓÃÊÇΪǰ̨£¨Í¨³£ÊÇ
ÒÆ¶¯Ó¦Óã©Ìṩºǫ́·þÎñµÄ¾ÛºÏ£¬Ìṩһ¸öͳһµÄ·þÎñ³ö¿Ú£¬½â³ýËûÃÇÖ®¼äµÄñîºÏ£¬²»¹ýAPI GatewayÒ²ÓпÉÄܳÉΪµ¥µã¹ÊÕϵã»òÕßÐÔÄܵį¿¾±¡£
ÓùýTaobao Open Platform£¨ÌÔ±¦¿ª·Åƽ̨£©µÄ¾ÍÄܺÜÈÝÒ×µÄÌå»á£¬TAO¾ÍÊÇÕâ¸öAPI
Gateway¡£

2¡¢Ã¿¸ö·þÎñÖ®¼äÈçºÎͨÐÅ
ËùÓеÄ΢·þÎñ¶¼ÊǶÀÁ¢µÄJava½ø³ÌÅÜÔÚ¶ÀÁ¢µÄÐéÄâ»úÉÏ£¬ËùÒÔ·þÎñ¼äµÄͨÐоÍÊÇIPC£¨inter process
communication£©£¬ÒѾÓкܶà³ÉÊìµÄ·½°¸¡£ÏÖÔÚ»ù±¾×îͨÓõÄÓÐÁ½ÖÖ·½Ê½£º
ͬ²½µ÷Óãº
¢ÙREST£¨JAX-RS£¬spring Boot£©
¢ÚRPC£¨Thrift, Dubbo£©
Òì²½ÏûÏ¢µ÷ÓÃ(Kafka, Notify, MetaQ)

ͬ²½ºÍÒì²½µÄÇø±ð£º
Ò»°ãͬ²½µ÷ÓñȽϼòµ¥£¬Ò»ÖÂÐÔÇ¿£¬µ«ÊÇÈÝÒ׳öµ÷ÓÃÎÊÌ⣬ÐÔÄÜÌåÑéÉÏÒ²»á²îЩ£¬ÌرðÊǵ÷Óòã´Î¶àµÄʱºò¡£RESTfulºÍRPCµÄ±È½ÏÒ²ÊÇÒ»¸öºÜÓÐÒâ
˼µÄ»°Ìâ¡£
Ò»°ãREST»ùÓÚHTTP£¬¸üÈÝÒ×ʵÏÖ£¬¸üÈÝÒ×±»½ÓÊÜ£¬·þÎñ¶ËʵÏÖ¼¼ÊõÒ²¸üÁé»îЩ£¬¸÷¸öÓïÑÔ¶¼ÄÜÖ§³Ö£¬Í¬Ê±ÄÜ¿ç¿Í»§¶Ë£¬¶Ô¿Í»§¶ËûÓÐÌØÊâµÄÒªÇó£¬Ö»Òª·â×°ÁËHTTPµÄ
SDK¾ÍÄܵ÷Óã¬ËùÒÔÏà¶ÔʹÓõĹãһЩ¡£RPCÒ²ÓÐ×Ô¼ºµÄÓŵ㣬´«ÊäÐÒé¸ü¸ßЧ£¬°²È«¸ü¿É¿Ø£¬ÌرðÔÚÒ»¸ö¹«Ë¾ÄÚ²¿£¬Èç¹ûÓÐͳһ¸ö
µÄ¿ª·¢¹æ·¶ºÍͳһµÄ·þÎñ¿ò¼Üʱ£¬
ËûµÄ¿ª·¢Ð§ÂÊÓÅÊÆ¸üÃ÷ÏÔЩ¡£¾Í¿´¸÷×Եļ¼Êõ»ýÀÛʵ¼ÊÌõ¼þ£¬×Ô¼ºµÄÑ¡ÔñÁË¡£
¶øÒì²½ÏûÏ¢µÄ·½Ê½ÔÚ·Ö²¼Ê½ÏµÍ³ÖÐÓÐÌØ±ð¹ã·ºµÄÓ¦Óã¬Ëû¼ÈÄܼõµÍµ÷Ó÷þÎñÖ®¼äµÄñîºÏ£¬ÓÖÄܳÉΪµ÷ÓÃÖ®¼äµÄ»º³å£¬È·±£ÏûÏ¢»ýѹ²»»á³å¿å±»µ÷Ó÷½£¬Í¬Ê±Äܱ£Ö¤µ÷Ó÷½µÄ
·þÎñÌåÑ飬¼ÌÐø¸É×Ô¼º¸Ã¸ÉµÄ»î£¬²»ÖÁÓÚ±»ºǫ́ÐÔÄÜÍÏÂý¡£²»¹ýÐèÒª¸¶³öµÄ´ú¼ÛÊÇÒ»ÖÂÐԵļõÈõ£¬ÐèÒª½ÓÊÜÊý¾Ý×îÖÕÒ»ÖÂÐÔ£»»¹ÓоÍÊǺǫ́·þÎñÒ»°ãÒª
ʵÏÖÃݵÈÐÔ£¬ÒòΪÏûÏ¢
·¢ËͳöÓÚÐÔÄܵĿ¼ÂÇÒ»°ã»áÓÐÖØ¸´£¨±£Ö¤ÏûÏ¢µÄ±»ÊÕµ½ÇÒ½öÊÕµ½Ò»´Î¶ÔÐÔÄÜÊǺܴóµÄ¿¼Ñ飩£»×îºó¾ÍÊDZØÐëÒýÈëÒ»¸ö¶ÀÁ¢µÄbroker£¬Èç¹û¹«Ë¾ÄÚ²¿Ã»Óм¼Êõ»ýÀÛ£¬
¶Ôbroker·Ö²¼Ê½¹ÜÀíÒ²ÊÇÒ»¸öºÜ´óµÄÌôÕ½¡£
3¡¢Èç´Ë¶àµÄ·þÎñ£¬ÈçºÎʵÏÖ£¿
ÔÚ΢·þÎñ¼Ü¹¹ÖУ¬Ò»°ãÿһ¸ö·þÎñ¶¼ÊÇÓжà¸ö¿½±´£¬À´×ö¸ºÔؾùºâ¡£Ò»¸ö·þÎñËæÊ±¿ÉÄÜÏÂÏߣ¬Ò²¿ÉÄÜÓ¦¶ÔÁÙʱ·ÃÎÊѹÁ¦Ôö¼ÓеķþÎñ½Úµã¡£·þÎñÖ®¼äÈçºÎÏ໥¸ÐÖª£¿·þÎñÈçºÎ¹ÜÀí£¿
Õâ¾ÍÊÇ·þÎñ·¢ÏÖµÄÎÊÌâÁË¡£Ò»°ãÓÐÁ½Àà×ö·¨£¬Ò²¸÷ÓÐÓÅȱµã¡£»ù±¾¶¼ÊÇͨ¹ýzookeeperµÈÀàËÆ¼¼Êõ×ö·þÎñ×¢²áÐÅÏ¢µÄ·Ö²¼Ê½¹ÜÀí¡£µ±·þÎñÉÏÏßʱ£¬·þÎñÌṩÕß½«×Ô¼ºµÄ·þÎñÐÅÏ¢
×¢²áµ½ZK£¨»òÀàËÆ¿ò¼Ü£©£¬²¢Í¨¹ýÐÄÌøÎ¬³Ö³¤Á´½Ó£¬ÊµÊ±¸üÐÂÁ´½ÓÐÅÏ¢¡£·þÎñµ÷ÓÃÕßͨ¹ýZKѰַ£¬¸ù¾Ý¿É¶¨ÖÆËã·¨£¬
ÕÒµ½Ò»¸ö·þÎñ£¬»¹¿ÉÒÔ½«·þÎñÐÅÏ¢»º´æÔÚ±¾µØÒÔÌá¸ßÐÔÄÜ¡£
µ±·þÎñÏÂÏßʱ£¬ZK»á·¢Í¨Öª¸ø·þÎñ¿Í»§¶Ë¡£
¿Í»§¶Ë×ö£ºÓŵãÊǼܹ¹¼òµ¥£¬À©Õ¹Áé»î£¬Ö»¶Ô·þÎñ×¢²áÆ÷ÒÀÀµ¡£È±µãÊǿͻ§¶ËҪά»¤ËùÓе÷Ó÷þÎñµÄµØÖ·£¬Óм¼ÊõÄѶȣ¬Ò»°ã´ó¹«Ë¾¶¼ÓгÉÊìµÄÄÚ²¿¿ò¼ÜÖ§³Ö£¬±ÈÈçDubbo¡£
·þÎñ¶Ë×ö£ºÓŵãÊǼòµ¥£¬ËùÓзþÎñ¶ÔÓÚǰ̨µ÷Ó÷½Í¸Ã÷£¬Ò»°ãÔÚС¹«Ë¾ÔÚÔÆ·þÎñÉϲ¿ÊðµÄÓ¦ÓòÉÓõıȽ϶ࡣ

4¡¢·þÎñ¹ÒÁË£¬ÈçºÎ½â¾ö
Ç°ÃæÌáµ½£¬Monolithic·½Ê½¿ª·¢Ò»¸öºÜ´óµÄ·çÏÕÊÇ£¬°ÑËùÓ즵°·ÅÔÚÒ»¸öÀº×ÓÀһÈÙ¾ãÈÙ£¬Ò»Ëð¾ãËð¡£¶ø·Ö²¼Ê½×î´óµÄÌØÐÔ¾ÍÊÇÍøÂçÊDz»¿É¿¿µÄ¡£Í¨¹ý΢·þÎñ²ð·ÖÄܽµµÍÕâ¸ö·çÏÕ£¬
²»¹ýÈç¹ûûÓÐÌØ±ðµÄ±£ÕÏ£¬½á¾Ö¿Ï¶¨ÊÇØ¬ÃΡ£ËùÒÔµ±ÎÒÃǵÄϵͳÊÇÓÉһϵÁеķþÎñµ÷ÓÃÁ´×é³ÉµÄʱºò£¬ÎÒÃDZØÐëÈ·±£ÈÎÒ»»·½Ú³öÎÊÌâ¶¼²»ÖÁÓÚÓ°ÏìÕûÌåÁ´Â·¡£ÏàÓ¦µÄÊÖ¶ÎÓкࣺܶ
¢ÙÖØÊÔ»úÖÆ
¢ÚÏÞÁ÷
¢ÛÈÛ¶Ï»úÖÆ
¢Ü¸ºÔؾùºâ
¢Ý½µ¼¶£¨±¾µØ»º´æ£©
ÕâЩ·½·¨»ù±¾¶¼ºÜÃ÷ȷͨÓ㬱ÈÈçNetflixµÄHystrix£ºhttps://github.com/Netflix/Hystrix

Æß¡¢³£¼ûµÄÉè¼ÆÄ£Ê½ºÍÓ¦ÓÃ
ÓÐÒ»¸öͼ·Ç³£ºÃµÄ×ܽá΢·þÎñ¼Ü¹¹ÐèÒª¿¼ÂǵÄÎÊÌ⣬°üÀ¨£º
1¡¢API Gateway
2¡¢·þÎñ¼äµ÷ÓÃ
3¡¢·þÎñ·¢ÏÖ
4¡¢·þÎñÈÝ´í
5¡¢·þÎñ²¿Êð
6¡¢Êý¾Ýµ÷ÓÃ

ÁùÖÖ³£¼ûµÄ΢·þÎñ¼Ü¹¹Éè¼ÆÄ£Ê½£º
1¡¢¾ÛºÏÆ÷΢·þÎñÉè¼ÆÄ£Ê½
ÕâÊÇÒ»ÖÖ×î³£¼ûÒ²×î¼òµ¥µÄÉè¼ÆÄ£Ê½£º

¾ÛºÏÆ÷µ÷Óöà¸ö·þÎñʵÏÖÓ¦ÓóÌÐòËùÐèµÄ¹¦ÄÜ¡£Ëü¿ÉÒÔÊÇÒ»¸ö¼òµ¥µÄWebÒ³Ãæ£¬½«¼ìË÷µ½µÄÊý¾Ý½øÐд¦Àíչʾ¡£ËüÒ²¿ÉÒÔÊÇÒ»¸ö¸ü¸ß²ã´ÎµÄ×éºÏ΢·þÎñ£¬¶Ô¼ìË÷µ½µÄÊý¾ÝÔö¼ÓÒµÎñÂß¼ºó½øÒ»²½
·¢²¼³ÉÒ»¸öеÄ΢·þÎñ£¬Õâ·ûºÏDRYÔÔò¡£ÁíÍ⣬ÿ¸ö·þÎñ¶¼ÓÐ×Ô¼ºµÄ»º´æºÍÊý¾Ý¿â¡£Èç¹û¾ÛºÏÆ÷ÊÇÒ»¸ö×éºÏ·þÎñ£¬ÄÇôËüÒ²ÓÐ×Ô¼ºµÄ»º´æºÍÊý¾Ý¿â¡£¾ÛºÏÆ÷¿ÉÒÔÑØXÖáºÍZÖá¶ÀÁ¢À©Õ¹¡£
2¡¢´úÀí΢·þÎñÉè¼ÆÄ£Ê½
ÕâÊǾۺÏģʽµÄÒ»¸ö±äÖÖ£¬ÈçÏÂͼËùʾ£º

ÔÚÕâÖÖÇé¿öÏ£¬¿Í»§¶Ë²¢²»¾ÛºÏÊý¾Ý£¬µ«»á¸ù¾ÝÒµÎñÐèÇóµÄ²î±ðµ÷Óò»Í¬µÄ΢·þÎñ¡£´úÀí¿ÉÒÔ½ö½öίÅÉÇëÇó£¬Ò²¿ÉÒÔ½øÐÐÊý¾Ýת»»¹¤×÷¡£
3¡¢Á´Ê½Î¢·þÎñÉè¼ÆÄ£Ê½
ÕâÖÖģʽÔÚ½ÓÊÕµ½ÇëÇóºó»á²úÉúÒ»¸ö¾¹ýºÏ²¢µÄÏìÓ¦£¬ÈçÏÂͼËùʾ£º

ÔÚÕâÖÖÇé¿öÏ£¬·þÎñA½ÓÊÕµ½ÇëÇóºó»áÓë·þÎñB½øÐÐͨÐÅ£¬ÀàËÆµØ£¬·þÎñB»áͬ·þÎñC½øÐÐͨÐÅ¡£ËùÓзþÎñ¶¼Ê¹ÓÃͬ²½ÏûÏ¢´«µÝ¡£ÔÚÕû¸öÁ´Ê½µ÷ÓÃÍê³É֮ǰ£¬¿Í»§¶Ë»áÒ»Ö±×èÈû¡£
Òò´Ë£¬·þÎñµ÷ÓÃÁ´²»Ò˹ý³¤£¬ÒÔÃâ¿Í»§¶Ë³¤Ê±¼äµÈ´ý¡£
4¡¢·Ö֧΢·þÎñÉè¼ÆÄ£Ê½
ÕâÖÖģʽÊÇ¾ÛºÏÆ÷ģʽµÄÀ©Õ¹£¬ÔÊÐíͬʱµ÷ÓÃÁ½¸ö΢·þÎñÁ´£¬ÈçÏÂͼËùʾ£º

5¡¢Êý¾Ý¹²Ïí΢·þÎñÉè¼ÆÄ£Ê½
×ÔÖÎÊÇ΢·þÎñµÄÉè¼ÆÔÔòÖ®Ò»£¬¾ÍÊÇ˵΢·þÎñÊÇȫջʽ·þÎñ¡£µ«ÔÚÖØ¹¹ÏÖÓеġ°µ¥ÌåÓ¦Óã¨monolithic
application£©¡±Ê±£¬SQLÊý¾Ý¿â·´¹æ·¶»¯¿ÉÄܻᵼÖÂÊý¾ÝÖØ¸´ºÍ²»Ò»Ö¡£
Òò´Ë£¬ÔÚµ¥ÌåÓ¦Óõ½Î¢·þÎñ¼Ü¹¹µÄ¹ý¶É½×¶Î£¬¿ÉÒÔʹÓÃÕâÖÖÉè¼ÆÄ£Ê½£¬ÈçÏÂͼËùʾ£º

ÔÚÕâÖÖÇé¿öÏ£¬²¿·Ö΢·þÎñ¿ÉÄܻṲÏí»º´æºÍÊý¾Ý¿â´æ´¢¡£²»¹ý£¬ÕâÖ»ÓÐÔÚÁ½¸ö·þÎñÖ®¼ä´æÔÚÇ¿ñîºÏ¹ØÏµÊ±²Å¿ÉÒÔ¡£¶ÔÓÚ»ùÓÚ΢·þÎñµÄн¨Ó¦ÓóÌÐò¶øÑÔ£¬ÕâÊÇÒ»ÖÖ·´Ä£Ê½¡£
6¡¢Òì²½ÏûÏ¢´«µÝ΢·þÎñÉè¼ÆÄ£Ê½
ËäÈ»RESTÉè¼ÆÄ£Ê½·Ç³£Á÷ÐУ¬µ«ËüÊÇͬ²½µÄ£¬»áÔì³É×èÈû¡£Òò´Ë²¿·Ö»ùÓÚ΢·þÎñµÄ¼Ü¹¹¿ÉÄÜ»áÑ¡ÔñʹÓÃÏûÏ¢¶ÓÁдúÌæRESTÇëÇó/ÏìÓ¦£¬ÈçÏÂͼËùʾ£º

°Ë¡¢ÓŵãºÍȱµã
1¡¢Î¢·þÎñµÄÓŵ㣺
¹Ø¼üµã£º¸´ÔӶȿɿأ¬¶ÀÁ¢°´ÐèÀ©Õ¹£¬¼¼ÊõÑ¡ÐÍÁé»î£¬ÈÝ´í£¬¿ÉÓÃÐÔ¸ß
¢ÙËü½â¾öÁ˸´ÔÓÐÔµÄÎÊÌâ¡£Ëü»á½«Ò»ÖÖ¹ÖÒìµÄÕûÌåÓ¦ÓóÌÐò·Ö½â³ÉÒ»×é·þÎñ¡£ËäÈ»¹¦ÄÜ×ÜÁ¿ ²»±ä£¬µ«Ó¦ÓóÌÐòÒÑ·Ö½âΪ¿É¹ÜÀíµÄ¿é»ò·þÎñ¡£Ã¿¸ö·þÎñ¶¼ÒÔRPC»òÏûÏ¢Çý¶¯µÄAPIµÄ
ÐÎʽ¶¨ÒåÁËÒ»¸öÃ÷È·µÄ±ß½ç£»Microservice¼Ü¹¹Ä£Ê½ÊµÏÖÁËÒ»¸öÄ£¿é»¯Ë®Æ½¡£
¢ÚÕâÖּܹ¹Ê¹Ã¿¸ö·þÎñ¶¼Äܹ»ÓÉרעÓڸ÷þÎñµÄÍŶӶÀÁ¢¿ª·¢¡£¿ª·¢ÈËÔ±¿ÉÒÔ×ÔÓÉÑ¡ÔñÈκÎÓÐÓõļ¼Êõ£¬Ö»Òª¸Ã·þÎñ·ûºÏAPIºÏͬ¡£µ±È»£¬´ó¶àÊý×éÖ¯¶¼Ï£Íû±ÜÃâÍêÈ«ÎÞÕþ¸®×´Ì¬²¢
ÏÞÖÆ¼¼ÊõÑ¡Ôñ¡£È»¶ø£¬ÕâÖÖ×ÔÓÉÒâζ×Å¿ª·¢ÈËÔ±²»ÔÙÓÐÒåÎñʹÓÃÔÚÐÂÏîÄ¿¿ªÊ¼Ê±´æÔڵĿÉÄܹýʱµÄ¼¼Êõ¡£ÔÚ±àдзþÎñʱ£¬ËûÃÇ¿ÉÒÔÑ¡ÔñʹÓõ±Ç°µÄ¼¼Êõ¡£´ËÍ⣬ÓÉÓÚ·þÎñÏà¶Ô½ÏС£¬
Òò´ËʹÓõ±Ç°¼¼ÊõÖØÐ´¾É·þÎñ±äµÃ¿ÉÐС£
¢ÛMicroservice¼Ü¹¹Ä£Ê½Ê¹Ã¿¸ö΢·þÎñ¶¼ÄܶÀÁ¢²¿Ê𡣿ª·¢ÈËÔ±²»ÐèҪе÷²¿Ê𱾵طþÎñµÄ±ä¸ü¡£ÕâЩ±ä»¯¿ÉÒÔÔÚ²âÊԺ󾡿첿Êð¡£ÀýÈ磬UIÍŶӿÉÒÔÖ´ÐÐA
| B²âÊÔ£¬²¢¿ìËÙµü´ú
UI¸ü¸Ä¡£Microservice¼Ü¹¹Ä£Ê½Ê¹Á¬Ðø²¿Êð³ÉΪ¿ÉÄÜ¡£
¢ÜMicroservice¼Ü¹¹Ä£Ê½Ê¹Ã¿¸ö·þÎñ¶¼¿ÉÒÔ¶ÀÁ¢µ÷Õû¡£Äú¿ÉÒÔ½ö²¿ÊðÂú×ãÆäÈÝÁ¿ºÍ¿ÉÓÃÐÔÏÞÖÆµÄÿ¸ö·þÎñµÄʵÀýÊý¡£´ËÍ⣬Äú¿ÉÒÔʹÓÃ×î·ûºÏ·þÎñ×ÊÔ´ÒªÇóµÄÓ²¼þ¡£
2¡¢Î¢·þÎñµÄȱµã
¹Ø¼üµã£¨ÌôÕ½£©£º¶à·þÎñÔËάÄѶȣ¬ÏµÍ³²¿ÊðÒÀÀµ£¬·þÎñ¼äͨÐųɱ¾£¬Êý¾ÝÒ»ÖÂÐÔ£¬ÏµÍ³¼¯³É²âÊÔ£¬Öظ´¹¤×÷£¬ÐÔÄÜ¼à¿ØµÈ
¢ÙÒ»¸öȱµãÊÇÃû³Æ±¾Éí¡£ÊõÓïmicroservice¹ý¶ÈÇ¿µ÷·þÎñ¹æÄ£¡£µ«ÖØÒªµÄÊÇÒª¼Çס£¬ÕâÊÇÒ»ÖÖÊֶΣ¬¶ø²»ÊÇÖ÷ҪĿ±ê¡£Î¢·þÎñµÄÄ¿±êÊdzä·Ö·Ö½âÓ¦ÓóÌÐò£¬ÒÔ±ãÓÚÃô½ÝÓ¦ÓóÌÐò¿ª·¢ºÍ²¿Êð¡£
¢Ú΢·þÎñÆ÷µÄÁíÒ»¸öÖ÷ҪȱµãÊÇ·Ö²¼Ê½ÏµÍ³¶ø²úÉúµÄ¸´ÔÓÐÔ¡£¿ª·¢ÈËÔ±ÐèҪѡÔñºÍʵÏÖ»ùÓÚÏûÏ¢´«µÝ»òRPCµÄ½ø³Ì¼äͨÐÅ»úÖÆ¡£´ËÍ⣬ËûÃÇ»¹±ØÐë±àд´úÂëÀ´´¦Àí²¿·Ö¹ÊÕÏ£¬
ÒòΪÇëÇóµÄÄ¿µÄµØ¿ÉÄܺÜÂý»ò²»¿ÉÓá£
¢Û΢·þÎñÆ÷µÄÁíÒ»¸öÌôÕ½ÊÇ·ÖÇøÊý¾Ý¿â¼Ü¹¹¡£¸üжà¸öÒµÎñʵÌåµÄÒµÎñ½»Ò×ÊÇÏ൱ÆÕ±éµÄ¡£µ«ÊÇ£¬ÔÚ»ùÓÚ΢·þÎñÆ÷µÄÓ¦ÓóÌÐòÖУ¬ÄúÐèÒª¸üв»Í¬·þÎñËùÓµÓеĶà¸öÊý¾Ý¿â¡£Ê¹Ó÷ֲ¼Ê½ÊÂÎñ
ͨ³£²»ÊÇÒ»¸öÑ¡Ôñ£¬¶ø²»½ö½öÊÇÒòΪCAP¶¨Àí¡£Ðí¶à½ñÌì¸ß¶È¿ÉÀ©Õ¹µÄNoSQLÊý¾Ý¿â¶¼²»Ö§³ÖËüÃÇ¡£Äã×îÖÕ²»µÃ²»Ê¹ÓÃ×îÖÕµÄÒ»ÖÂÐÔ·½·¨£¬Õâ¶Ô¿ª·¢ÈËÔ±À´Ëµ¸ü¾ßÌôÕ½ÐÔ¡£
¢Ü²âÊÔ΢·þÎñÓ¦ÓóÌÐòÒ²¸ü¸´ÔÓ¡£·þÎñÀàËÆµÄ²âÊÔÀཫÐèÒªÆô¶¯¸Ã·þÎñ¼°ÆäËùÒÀÀµµÄÈκηþÎñ£¨»òÖÁÉÙΪÕâЩ·þÎñÅäÖôæ¸ù£©¡£ÔٴΣ¬ÖØÒªµÄÊDz»ÒªµÍ¹ÀÕâÑù×öµÄ¸´ÔÓÐÔ¡£
¢ÝMicroservice¼Ü¹¹Ä£Ê½µÄÁíÒ»¸öÖ÷ÒªÌôÕ½ÊÇʵÏÖ¿çÔ½¶à¸ö·þÎñµÄ¸ü¸Ä¡£ÀýÈ磬ÎÒÃǼÙÉèÄúÕýÔÚʵʩһ¸öÐèÒª¸ü¸Ä·þÎñA£¬BºÍCµÄ¹ÊÊ£¬ÆäÖÐAÈ¡¾öÓÚBºÍBÈ¡¾öÓÚC.ÔÚµ¥Æ¬Ó¦ÓóÌÐòÖУ¬
Äú¿ÉÒÔ¼òµ¥µØ¸ü¸ÄÏàÓ¦µÄÄ£¿é£¬ÕûºÏ¸ü¸Ä£¬²¢Ò»´ÎÐÔ²¿Êð¡£Ïà±È֮ϣ¬ÔÚMicroservice¼Ü¹¹Ä£Ê½ÖУ¬ÄúÐèÒª×Ðϸ¹æ»®ºÍе÷¶Ôÿ¸ö·þÎñµÄ¸ü¸Ä¡£ÀýÈ磬ÄúÐèÒª¸üзþÎñC£¬È»ºó¸üзþÎñB£¬
È»ºóÔÙάÐÞA.ÐÒÔ˵ÄÊÇ£¬´ó¶àÊý¸ü¸Äͨ³£½öÓ°ÏìÒ»¸ö·þÎñ£¬¶øÐèҪе÷µÄ¶à·þÎñ±ä¸üÏà¶Ô½ÏÉÙ¡£
¢Þ²¿Êð»ùÓÚ΢·þÎñµÄÓ¦ÓóÌÐòÒ²¸ü¸´ÔÓ¡£µ¥Ò»Ó¦ÓóÌÐò¼òµ¥µØ²¿ÊðÔÚ´«Í³¸ºÔØÆ½ºâÆ÷ºóÃæµÄÒ»×éÏàͬµÄ·þÎñÆ÷ÉÏ¡£Ã¿¸öÓ¦ÓóÌÐòʵÀý¶¼ÅäÖÃÓлù´¡¼Ü¹¹·þÎñ£¨ÈçÊý¾Ý¿âºÍÏûÏ¢´úÀí£©
µÄλÖã¨Ö÷»úºÍ¶Ë¿Ú£©¡£Ïà±È֮ϣ¬Î¢·þÎñÓ¦ÓÃͨ³£ÓÉ´óÁ¿·þÎñ×é³É¡£ÀýÈ磬ÿ¸ö·þÎñ½«Óжà¸öÔËÐÐʱʵÀý¡£¸ü¶àµÄÒÆ¶¯²¿¼þÐèÒª½øÐÐÅäÖ㬲¿Êð£¬À©Õ¹ºÍ¼à¿Ø¡£´ËÍ⣬Äú»¹ÐèҪʵÏÖ·þÎñ
·¢ÏÖ»úÖÆ£¬Ê¹·þÎñÄܹ»·¢ÏÖÐèÒªÓë֮ͨÐŵÄÈÎºÎÆäËû·þÎñµÄλÖã¨Ö÷»úºÍ¶Ë¿Ú£©¡£´«Í³µÄ»ùÓÚ¹ÊÕϵ¥ºÍÊÖ¶¯²Ù×÷µÄ·½·¨ÎÞ·¨À©Õ¹µ½ÕâÖÖ¸´Ôӳ̶ȡ£Òò´Ë£¬³É¹¦²¿Êð΢·þÎñÓ¦ÓóÌÐòÐèÒª
¿ª·¢ÈËÔ±¸üºÃµØ¿ØÖƲ¿Êð·½·¨£¬²¢ÊµÏÖ¸ßˮƽµÄ×Ô¶¯»¯¡£
¾Å¡¢Ë¼¿¼£ºÒâʶµÄת±ä
΢·þÎñ¶ÔÎÒÃǵÄ˼¿¼£¬¸ü¶àµÄÊÇ˼άÉϵÄת±ä¡£¶ÔÓÚ΢·þÎñ¼Ü¹¹£º¼¼ÊõÉϲ»ÊÇÎÊÌ⣬Òâʶ±È¹¤¾ßÖØÒª¡£
¹ØÓÚ΢·þÎñµÄ¼¸µãÉè¼Æ³ö·¢µã£º
1¡¢Ó¦ÓóÌÐòµÄºËÐÄÊÇÒµÎñÂß¼£¬°´ÕÕÒµÎñ»ò¿Í»§ÐèÇó×éÖ¯×ÊÔ´£¨ÕâÊÇ×îÄѵģ©
2¡¢×öÓÐÉúÃüµÄ²úÆ·£¬¶ø²»ÊÇÏîÄ¿
3¡¢Í·ÀÇÕ½¶Ó£¬È«Õ»»¯
4¡¢ºǫ́·þÎñ¹á³¹Single Responsibility Principle£¨µ¥Ò»Ö°ÔðÔÔò£©
5¡¢VM->Docker £¨to PE£©
6¡¢DevOps (to PE)
ͬʱ£¬¶ÔÓÚ¿ª·¢Í¬Ñ§£¬ÓÐÕâô¶àµÄÖмä¼þºÍÇ¿´óµÄPEÖ§³Ö¹ÌÈ»ÊǺÃÊ£¬ÎÒÃÇÒ²ÐèÒªÉîÈëÈ¥Á˽âÕâЩÖмä¼þ±³ºóµÄÔÀí£¬ÖªÆäȻ֪ÆäËùÒÔÈ»£¬ÔÚÓÐÏ޵ļ¼Êõ×ÊÔ´ÈçºÎͨ¹ý¿ªÔ´¼¼Êõʵʩ΢·þÎñ£¿
×îºó£¬Ò»°ãÌᵽ΢·þÎñ¶¼Àë²»¿ªDevOpsºÍdocker£¬Àí½â΢·þÎñ¼Ü¹¹ÊǺËÐÄ£¬devopsºÍdockerÊǹ¤¾ß£¬ÊÇÊֶΡ£
|