ÀÖÓãµç¾º

½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

Spring Cloud΢·þÎñ¼Ü¹¹½â¾ö·½°¸Ïêϸ½éÉÜ[javaÅàѵ]

¸üÐÂʱ¼ä:2020Äê03ÔÂ18ÈÕ13ʱ46·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:

1¡¢Î¢·þÎñ¼Ü¹¹

Ŀǰ΢·þÎñÊǷdz£»ðµÄ¼Ü¹¹»òÕß˵¸ÅÄҲÊÇÔÚ¹¹½¨´óÐÍ»¥ÁªÍøÏîĿʱ²ÉÓõļܹ¹·½Ê½¡£

1.1 µ¥Ìå¼Ü¹¹

ÔÚÈí¼þÉè¼ÆÖУ¬¾­³£Ìá¼°ºÍʹÓþ­µäµÄ3²ãÄ£ÐÍ£¬¼´±íʾ²ã¡¢ÒµÎñÂß¼­²ãºÍÊý¾Ý·ÃÎʲã¡£

·±íʾ²ã£ºÓÃÓÚÖ±½ÓºÍÓû§½»»¥£¬Ò²³ÆÎª½»»¥²ã£¬Í¨³£ÊÇÍøÒ³¡¢UI µÈ¡£

·ÒµÎñÂß¼­²ã£º¼´ÒµÎñÂß¼­´¦Àí²ã£¬ÀýÈçÓû§ÊäÈëµÄÐÅÏ¢Òª¾­¹ýÒµÎñÂß¼­²ãµÄ´¦Àíºó£¬²ÅÄÜÕ¹ÏÖ¸øÓû§¡£

·Êý¾Ý·ÃÎʲ㣺ÓÃÓÚ²Ù×÷Êý¾Ý¿â£¬Óû§ÔÚ±íʾ²ã»á²úÉú´óÁ¿µÄÊý¾Ý£¬Í¨¹ýÊý¾Ý·ÃÎʲã¶ÔÊý¾Ý¿â½øÐжÁд²Ù×÷¡£

ËäÈ»ÔÚÈí¼þÉè¼ÆÖл®·ÖÁ˾­µäµÄ3²ãÄ£ÐÍ£¬µ«ÊǶÔÒµÎñ³¡¾°Ã»Óл®·Ö¡£Ò»¸öµäÐ͵ĵ¥ÌåÓ¦ÓþÍÊǽ«ËùÓеÄÒµÎñ³¡¾°µÄ±íʾ²ã¡¢ÒµÎñÂß¼­²ãºÍÊý¾Ý·ÃÎʲã·ÅÔÚÒ»¸ö¹¤³ÌÖУ¬×îÖÕ¾­¹ý±àÒë¡¢´ò°ü£¬²¿ÊðÔÚһ̨·þÎñÆ÷ÉÏ¡£

µ¥Ìå¼Ü¹¹Í¼ÈçÏÂËùʾ£º

Spring-Cloud΢·þÎñ01


1.1.1 µ¥Ìå¼Ü¹¹µÄÓŵã

·²¿Êð¼òµ¥ÓÉÓÚÊÇÍêÕûµÄ½á¹¹Ì壬¿ÉÒÔÖ±½Ó²¿ÊðÔÚÒ»¸ö·þÎñÆ÷Éϼ´¿É¡£

·¼¼Êõµ¥Ò» ÏîÄ¿²»ÐèÒª¸´Ôӵļ¼ÊõÕ»£¬ÍùÍùÒ»Ì×ÊìϤµÄ¼¼ÊõÕ»¾Í¿ÉÒÔÍê³É¿ª·¢¡£

·ÓÃÈ˳ɱ¾µÍ µ¥¸ö³ÌÐòÔ±¿ÉÒÔÍê³ÉÒµÎñ½Ó¿Úµ½Êý¾Ý¿âµÄÕû¸öÁ÷³Ì¡£

1.1.2 µ¥Ìå¼Ü¹¹µÄȱµã

·ÏµÍ³Æô¶¯Âý , Ò»¸ö½ø³Ì°üº¬ÁËËùÓеÄÒµÎñÂß¼­£¬Éæ¼°µ½µÄÆô¶¯Ä£¿é¹ý¶à£¬µ¼ÖÂϵͳµÄÆô¶¯¡¢ÖØÆôʱ¼äÖÜÆÚ¹ý³¤

·ÏµÍ³´íÎó¸ôÀëÐԲ¿ÉÓÃÐԲÈκÎÒ»¸öÄ£¿éµÄ´íÎó¾ù¿ÉÄÜÔì³ÉÕû¸öϵͳµÄå´»ú

·¿ÉÉìËõÐÔ²î;ϵͳµÄÀ©ÈÝÖ»ÄÜÖ»¶ÔÕâ¸öÓ¦ÓýøÐÐÀ©ÈÝ£¬²»ÄÜ×öµ½¶Ôij¸ö¹¦ÄÜµã½øÐÐÀ©ÈÝ

·ÏßÉÏÎÊÌâÐÞ¸´ÖÜÆÚ³¤;ÈκÎÒ»¸öÏßÉÏÎÊÌâÐÞ¸´ÐèÒª¶ÔÕû¸öÓ¦ÓÃϵͳ½øÐÐÈ«ÃæÉý¼¶

1.2 ΢·þÎñ¼Ü¹¹

¾ÍĿǰÀ´¿´Î¢·þÎñ²¢Ã»ÓÐÒ»¸ö Ñϸñ µÄ¶¨Òå ÿһ¸öÈË¶Ô Î¢·þÎñ µÄÀí½â¶¼ÊDz»Ò»ÑùµÄ . Martin FowlerÔÚËüµÄ²©¿ÍÖÐÊÇÕâÑù±íÊö΢·þÎñµÄ

Spring-Cloud΢·þÎñ02

²©¿ÍµØÖ· : https://martinfowler.com/articles/microservices.html

΢·þÎñ¼Ü¹¹·ç¸ñÊÇÒ»ÖÖ½«Ò»¸öµ¥Ò»Ó¦ÓóÌÐò¿ª·¢ÎªÒ»×éСÐÍ·þÎñµÄ·½·¨Ã¿Ò»¸ö·þÎñÔËÐÐÔÚ×Ô¼ºµÄ½ø³ÌÖзþÎñ¼äͨÐŲÉÓõÄÇáÁ¿¼¶Í¨ÐÅ»úÖÆÍ¨£¨³£ÓÃHTTP ×ÊÔ´ API ). ÕâЩ·þÎñÎ§ÈÆÒµÎñÄÜÁ¦¹¹½¨²¢ÇÒ¿Éͨ¹ýÈ«×Ô¶¯²¿Êð»úÖÆ¶ÀÁ¢²¿ÊðÕâЩ·þÎñ¹«ÓÃÒ»¸ö×îСÐ͵ļ¯ÖÐʽµÄ¹ÜÀí·þÎñ¿ÉÓò»Í¬µÄÓïÑÔ¿ª·¢£¬Ê¹Óò»Í¬µÄÊý¾Ý´æ´¢¼¼Êõ¡£

΢·þÎñ¼Ü¹¹¼Ü¹¹ÈçÈçÏÂͼËùʾÏÂͼËùʾ:

Spring-Cloud΢·þÎñ03


1.2.1 ΢·þÎñ΢·þÎñµÄµÄÓŵãÓŵã

·Ò×ÓÚ¿ª·¢ºÍά»¤:Ò»¸ö΢·þÎñÖ»»á¹Ø×¢Ò»¸öÌØ¶¨µÄÒµÎñ¹¦ÄÜ,ËùÒÔËüÒµÎñÇåÎú¡¢´úÂëÁ¿ÉÙ¡£¿ª·¢ºÍά»¤µ¥¸ö΢·þÎñÏ൱¼òµ¥¡£¶øÕû¸öÓ¦ÓÃÊÇÈô¸É¸ö΢·þÎñ¹¹½¨¶ø³ÉµÄ£¬ËùÒÔÕû¸öÓ¦ÓÃÒ²±»Î¬³ÖÔÚÒ»¸ö¿É¿Ø×´Ì¬¡£

·µ¥¸ö΢·þÎñÆô¶¯½Ï¿ì µ¥¸ö΢·þÎñ´úÂëÁ¿½ÏÉÙ£¬ËùÒÔÆô¶¯»á±È½Ï¿ì¡£

·¾Ö²¿ÐÞ¸ÄÈÝÒײ¿Ê𣺵¥¸öÓ¦ÓÃÖ»ÒªÓÐÐ޸ģ¬¾ÍµÃÖØÐ²¿ÊðÕû¸öÓ¦Óã¬Î¢·þÎñ½â¾öÁËÕâÑùµÄÎÊÌâ¡£Ò»°ãÀ´Ëµ£¬¶Ôij¸ö΢·þÎñ½øÐÐÐ޸ģ¬Ö»ÐèÒªÖØÐ²¿ÊðÕâ¸ö·þÎñ¼´¿É¡£

·¼¼ÊõÕ»²»ÊÜÏÞ£ºÔÚ΢·þÎñ¼Ü¹¹ÖУ¬¿ÉÒÔ½áºÏÏîĿҵÎñ¼°ÍŶӵÄÌØµã£¬ºÏÀíÑ¡Ôñ¼¼ÊõÕ»¡£ÀýÈçijЩ·þÎñ¿ÉÒÔʹÓùØÏµÐÍÊý¾Ý¿âMysqlÓÐЩ·þÎñ¡£¿ÉÒÔʹÓ÷ǹØÏµÐÍÊý¾Ý¿âÈçredis;ÉõÖÁ¿É¸ù¾ÝÐèÇ󣬲¿·Ö΢·þÎñʹÓÃJava¿ª·¢£¬²¿·Ö΢·þÎñʹÓÃNode.js¿ª·¢¡£

·°´ÐèÊÕËõ¿É¸ù¾ÝÐèÇó£¬ÊµÏÖϸÁ£¶ÈµÄÀ©Õ¹¡£ÀýÈ磬ϵͳÖеÄij¸ö΢·þÎñÓöµ½ÁËÆ¿¾±£¬¿ÉÒÔ½áºÏÕâ¸ö΢·þÎñµÄÒµÎñÌØµã£¬Ôö¼ÓÄÚ´æ¡¢Éý¼¶CPU»òÕßÔö¼Ó½Úµã¡£

1.2.2 ΢·þÎñµÄȱµã

·ÔËάҪÇó½Ï¸ß£º ¸ü¶àµÄ·þÎñÒâζןü¶àµÄÔËάͶÈë¡£ÔÚµ¥Ìå¼Ü¹¹ÖУ¬Ö»ÐèÒª±£Ö¤Ò»¸öÓ¦ÓõÄÕý³£ÔËÐС£¶øÔÚ΢·þÎñÖУ¬ÐèÒª±£Ö¤¼¸Ê®ÉõÖÁ¼¸°Ù¸ö·þÎñÕý³£ÔËÐÐÓëЭ×÷£¬Õâ¸øÔËά´øÀ´Á˺ܴóµÄÌôÕ½¡£

··Ö²¼Ê½¹ÌÓеĸ´ÔÓÐÔ£ºÊ¹ÓÃ΢·þÎñ¹¹½¨µÄÊÇ·Ö²¼Ê½ ϵͳ¡£¶ÔÓÚÒ»¸ö·Ö²¼Ê½ÏµÍ³£¬ÏµÍ³ÈÝ´í¡¢ÍøÂçÑӳٵȶ¼»á´øÀ´¾Þ´óµÄÌôÕ½¡£

·½Ó¿Úµ÷Õû³É±¾¸ß£ºÎ¢·þÎñÖ®¼äͨ¹ý½Ó¿Ú½øÐÐͨÐÅ¡£Èç¹ûÐÞ¸Äijһ¸ö΢·þÎñ API £¬¿ÉÄÜËùÓÐʹÓøýӿڵÄ΢·þÎñ¶¼ÐèÒªµ÷Õû¡£

2¡¢Spring Cloud ¼ò½é

2.1 ¼ò½é

Spring CloudÏîÄ¿µÄ¹Ù·½ÍøÖ·£º https://projects.spring.io/spring-cloud/

Spring-Cloud΢·þÎñ04


Spring Cloud²¢²»ÊÇÒ»¸öÏîÄ¿¶øÊÇÒ»×éÏîÄ¿µÄ¼¯ºÏÔÚSpring CloudÖаüº¬Á˺ܶàµÄ×ÓÏîĿÿһ¸ö×ÓÏîÄ¿¶¼ÊÇÒ»ÖÖ΢·þÎñ¿ª·¢¹ý³ÌÖÐÓöµ½µÄÎÊÌâµÄÒ»ÖÖ½â¾ö·½°¸ËüÀûÓÃSpring BootµÄ¿ª·¢±ãÀûÐÔÇÉÃîµØ¼ò»¯ÁË·Ö²¼Ê½ÏµÍ³»ù´¡ÉèÊ©µÄ¿ª·¢£¬Èç·þÎñ·¢ÏÖ×¢²á¡¢ÅäÖÃÖÐÐÄ¡¢ÏûÏ¢×ÜÏß¡¢¸ºÔؾùºâ¡¢¶Ï·Æ÷¡¢Êý¾Ý¼à¿ØµÈ£¬¶¼¿ÉÒÔÓÃSpring BootµÄ¿ª·¢·ç¸ñ×öµ½Ò»¼üÆô¶¯ºÍ²¿Êð¡£Spring Cloud²¢Ã»ÓÐÖØ¸´ÖÆÔìÂÖ×Ó£¬ËüÖ»Êǽ«Ä¿Ç°¸÷¼Ò¹«Ë¾¿ª·¢µÄ±È½Ï³ÉÊì¡¢¾­µÃÆðʵ¼Ê¿¼ÑéµÄ·þÎñ¿ò¼Ü×éºÏÆðÀ´£¬Í¨¹ýSpring Boot·ç¸ñ½øÐÐÔÙ·â×°ÆÁ±ÎµôÁ˸´ÔÓµÄÅäÖúÍʵÏÖÔ­Àí£¬×îÖÕ¸ø¿ª·¢ÕßÁô³öÁËÒ»Ì×¼òµ¥Ò×¶®¡¢Òײ¿ÊðºÍÒ×ά»¤µÄ·Ö²¼Ê½ÏµÍ³¿ª·¢¹¤¾ß°ü¡£

2.2 ×ÓÏîÄ¿½éÉÜ

Spring-Cloud΢·þÎñ05


2.3 Spring CloudµÄ°æ±¾½éÉÜ

µ±ÎÒÃÇͨ¹ýËÑË÷ÒýÇæ²éÕÒһЩSpring Cloud µÄÎÄÕ»òÕßʾÀýµÄʱºòÍùÍù¿ÉÒÔÔÚÒÀÀµÖп´µ½ºÜ¶à²»Í¬°æ±¾µÄÃû×Ö , ±ÈÈç : Angel.SR6, Brixton.SR5µÈ¡£ ÄÇô£¬ÎªÊ²Ã´ Spring Cloud ûÓÐÏñÆäËûµÄ Spring µÄÏîĿʹÓÃÀàËÆ1.x.x °æ±¾ÃüÃû¹æÔòÄØ?

ÓÉÓÚSpring Cloud²»ÏñSpringÉçÇøÆäËûÏîÄ¿ÄÇÑùÏà¶Ô¶ÀÁ¢£¬ËüÊÇÓµÓÐÖî¶à×ÓÏîÄ¿µÄ´óÐÍ×ÛºÏÏîÄ¿¡£¿ÉÒÔ˵ÊǶÔ΢·þÎñ¼Ü¹¹½â¾ö·½°¸µÄ×ÛºÏÌ×¼þµÄ×éºÏ£¬Æð°üº¬µÄ¸÷¸ö×ÓÏîĿҲ¶¼ÊǽøÐжÀÁ¢µÄ¸üк͵ü´ú£¬¸÷×Ô¶¼Î¬»¤×Ô¼ºµÄ·¢²¼°æ±¾ºÅ¡£Òò´Ë£¬Ã¿Ò»¸öSpring CloudµÄ°æ±¾¶¼»á°üº¬¶à¸ö²»Í¬°æ±¾µÄ×ÓÏîÄ¿£¬ÎªÁ˹ÜÀíÿһ¸ö°æ±¾µÄ×ÓÏîÄ¿Çåµ¥±ÜÃâSpring CloudµÄ°æ±¾ºÅÓëÆä×ÓÏîÄ¿µÄ°æ±¾ºÅÏà»ìÏý£¬Ã»ÓвÉÓð汾ºÅµÄ·½Ê½£¬¶øÊÇͨ¹ýÃüÃûµÄ·½Ê½¡£

ÎÒÃÇÒ²¿ÉÒÔÔÚspringµÄ¹ÙÍøÉϲ鿴µ½¶ÔÓ¦µÄ×îÐÂÎȶ¨°æ±¾ÐÅÏ¢ : https://projects.spring.io/spring-cloud/

Spring-Cloud΢·þÎñ06


²¢ÇÒÒ²¿ÉÒÔ¿´µ½×îÐÂEdgware.SR4Îȶ¨°æ¶ÔÓ¦µÄ×ÓÏîÄ¿µÄ¸÷¸ö°æ±¾ºÅ¡£

Spring-Cloud΢·þÎñ07


¹ØÓÚSpring CloudµÄÀúÊ·°æ±¾ÐÅÏ¢ÎÒÃÇ¿ÉÒÔÔÚgithubÉϲ鿴µ½ : https://github.com/spring-cloud/spring-cloud/release/releases

Spring-Cloud΢·þÎñ08


ÎÒÃDZ¾´Î½²½âµÄÊÇ×îеÄÎȶ¨°æ±¾Edgware.SR4 ,ÊÇ»ùÓÚSpring Boot 1.5.14.RELEASE°æ±¾ÊµÏֵġ£

3¡¢Spring Boot ʵÏÖ΢·þÎñ
ÔÚÕýʽѧϰSpring Cloud ֮ǰÎÒÃÇÏÈʹÓÃSpring BootʵÏÖÒ»¸ö΢·þÎñ¡£

ÒµÎñ·Ç³£¼òµ¥£º
1¡¢ÉÌÆ·Î¢·þÎñ£ºÍ¨¹ýÉÌÆ·id ²éѯÉÌÆ·µÄ·þÎñ£»
2¡¢¶©µ¥Î¢·þÎñ£ºÍ¨¹ý¶©µ¥id ²éѯ¶©µ¥Êý¾Ý£¬Í¬Ê±ÐèÒªµ÷ÓÃÉÌÆ·Î¢·þÎñ²éѯ³ö¶©µ¥ÏêÇéÊý¾Ý¶ÔÓ¦µÄÉÌÆ·Êý¾Ý¡£

Spring-Cloud΢·þÎñ09

˵Ã÷£º
1¡¢¶ÔÓÚÉÌÆ·Î¢·þÎñ¶øÑÔ£¬ÉÌÆ·Î¢·þÎñÊÇ·þÎñµÄÌṩÕߣ¬¶©µ¥Î¢·þÎñÊÇ·þÎñµÄÏû·ÑÕß
2¡¢¶ÔÓÚ¶©µ¥Î¢·þÎñ¶øÑÔ£¬¶©µ¥Î¢·þÎñÊÇ·þÎñµÄÌṩÕߣ¬ÈËÊÇ·þÎñµÄÏû·ÑÕß¡£

3.1 ʵÏÖÉÌÆ·Î¢·þÎñ

3.1.1 pom .xmlÎļþµÄÅäÖÃ

Spring-Cloud΢·þÎñ10

3.1.2 ´´½¨ÊµÌåItem
Spring-Cloud΢·þÎñ11

3.1.3 ±àдItemService

Spring-Cloud΢·þÎñ11.1

3.1.4 ±àдItemController

Spring-Cloud΢·þÎñ11.2

3.1.5 ³ÌÐòÈë¿Ú

Spring-Cloud΢·þÎñ11.3

3.1.6 ´´½¨ÅäÖÃÎļþ

ÔÚsrc/main/resourcesĿ¼Ï´´½¨Ò»¸öapplication.propertiesÅäÖÃÎļþÔÚ¸ÃÎļþÖпÉÒÔÅäÖÃÈçÏÂÄÚÈÝ
server.port=8081

Ö¸¶¨·þÎñÆô¶¯Õ¼ÓõĶ˿Ú

3.1.7 Æô¶¯ÏîÄ¿½øÐзÃÎÊ

Spring-Cloud΢·þÎñ12

3.2 ʵÏÖ¶©µ¥Î¢·þÎñ

3.2.1 pom.xmlÎļþµÄÅäÖÃ

Spring-Cloud΢·þÎñ13


3.2.2 ´´½¨ÊµÌåOrder

Spring-Cloud΢·þÎñ11

3.2.3 ´´½¨ÊµÌåOrderDetail

Spring-Cloud΢·þÎñ12.1

3.2.4 ¸´ÖÆItemʵÌå

Spring-Cloud΢·þÎñ14

3.2.5 ±àдOrderService
¸ÃServiceʵÏֵĸù¾Ý¶©µ¥Id²éѯ¶©µ¥µÄ·þÎñ£¬ÎªÁË·½±ã²âÊÔ£¬ÎÒÃǽ«¹¹ÔìÊý¾ÝʵÏÖ£¬²»²ÉÓòéѯÊý¾Ý¿âµÄ·½Ê½¡£
Spring-Cloud΢·þÎñ13.1

3.2.6 ʵÏÖItemService

Spring-Cloud΢·þÎñ13.2

3.2.7 ÍêÉÆOrderService
Spring-Cloud΢·þÎñ13.3


3.2.8 ±àдOrderController

Spring-Cloud΢·þÎñ13.4

3.2.9 ±àдÆô¶¯Àà
Spring-Cloud΢·þÎñ13.5

3.2.10 ´´½¨ÅäÖÃÎļþ

ÔÚsrc/main/resources Ŀ¼Ï´´½¨Ò»¸öapplication.properties ÅäÖÃÎļþÔÚ¸ÃÎļþÖпÉÒÔÅäÖÃÈçÏÂÄÚÈÝ

server.port=8082

3.2.11 Æô¶¯²âÊÔ

Spring-Cloud΢·þÎñ15

3.3 ·¢ÏÖÎÊÌâÓë½â¾öÎÊÌâ

3.3.1 ÎÊÌâÃèÊö

·ÔڸղŵķþÎñµ÷Óùý³ÌÖÐÎÒÃǵÄÉÌÆ··þÎñµØÖ·ÊÇÖ±½ÓдËÀÔÚ³ÌÐòÖдæÔÚÓ²±àÂëÎÊÌâ

·Èç¹ûÉÌÆ·Î¢·þÎñ²¿ÊðÁ˶à¸ö£¬ÄÇôÎÒÃǶ©µ¥Î¢·þÎñÈçºÎÈ¥µ÷ÓÃÄØ£¿

3.3.2 ÎÊÌâ´¦Àí

¹ØÓÚÓ²±àÂëµÄÎÊÌâÎÒÃÇ¿ÉÒÔʹÓÃÅäÖÃÎļþ´¦Àí£¬ÎÒÃÇ¿ÉÒÔ½«µØÖ·ÐÅÏ¢±àдµ½ÅäÖÃÎļþÖÐÈ»ºó¶ÁÈ¡ÅäÖÃÎļþ»ñÈ¡ÇëÇóµØÖ·ÐÅÏ¢¡£

ÔÚÅäÖÃÎļþÖмÓÈëÈçÏÂÅäÖãº

itcast.item.url=http://127.0.0.1:8081/item/

ÐÞ¸ÄItemServiceµÄʵÏÖͨ¹ý@Value ×¢½â»ñÈ¡¸ÃÖµ

Spring-Cloud΢·þÎñ13.6



2. Èç¹ûÉÌÆ·Î¢·þÎñ²¿ÊðÁ˶à¸öÄÇôÎÒÃǶ©µ¥Î¢·þÎñÈçºÎÈ¥µ÷ÓÃÄØ?

¹ØÓÚÕâ¸öÎÊÌâÓеĿª·¢ÈËÔ±¿ÉÄÜ»áÏë . ÎÒÃÇ¿ÉÒÔ½«¶à¸öÉÌÆ·Î¢·þÎñµÄµØÖ·ÅäÖõ½ÅäÖÃÎļþÖУ¬È»ºóÔÚ½øÐжÁÈ¡ÅäÖÃÎļþµÄµØÖ·½øÐе÷ÓÃÌýÆðÀ´ºÃÏñ¿ÉÒÔ£¬µ«ÊÇÎÒÃÇÐèÒª¿¼ÂÇÒÔºóÎÊÌâ¾ÍÊǺóÆÚά»¤µÄÎÊÌâ¡£

·Èç¹ûÉÌÆ·Î¢·þÎñµÄÎÒÃÇÓÖÌí¼Ó»òÕß¼õÉÙÁËÒ»¸ö²¿Êð£¬ÏàÓ¦µÄÎÒÃÇÐèҪȥ¸ü¸ÄÅäÖÃÎļþµÄÄÚÈÝ;

·Èç¹ûÉÌÆ·Î¢·þÎñµÄipµØÖ··¢ËÍÁ˸ı䣬ÄÇôÎÒÃÇÒ²ÐèÒªÏàÓ¦µÄÐÞ¸ÄÅäÖÃÎļþµÄµØÖ·¡£

ËùÒÔÎÒÃÇ×Ô¼ºÕâÑùʵÏֱȽÏÂé·³¡£

ÎÒÃÇ¿ÉÒÔʹÓ÷þÎñ×¢²áÓÚ·¢ÏÖ»úÖÆÀ´Íê³É¡£


4 Spring Cloud¿ìËÙÈëÃÅ

·þÎñ×¢²áÓÚ·¢ÏÖ»úÖÆ¼Ü¹¹Í¼ÈçÏ£º

Spring-Cloud΢·þÎñ16

ÓÉÉÏͼ¿ÉÒÔ¿´³ö£º

1¡¢·þÎñÌṩÕß½«·þÎñ×¢²áµ½×¢²áÖÐÐÄ

2¡¢·þÎñÏû·ÑÕßͨ¹ý×¢²áÖÐÐIJéÕÒ·þÎñ

3¡¢²éÕÒµ½·þÎñºó½øÐе÷ÓÃ(ÕâÀï¾ÍÊÇÎÞÐèÓ²±àÂë url µÄ½â¾ö·½°¸)

4.1 ×¢²áÖÐÐÄ Eureka

Spring CloudÌṩÁ˶àÖÖ×¢²áÖÐÐĵÄÖ§³Ö£¬È磺 Eureka ¡¢ ZooKeeper µÈ¡£ÍƼöʹÓÃEureka ¡£

Spring Cloud EurekaÊÇSpring Cloud Netflix ΢·þÎñÌ×¼þÖеÄÒ»²¿·Ö£¬Ëü»ùÓÚNetflix Eureka×öÁ˶þ´Î·â×°¡£Ö÷Òª¸ºÔðÍê³É΢·þÎñ¼Ü¹¹ÖеķþÎñÖÎÀí¹¦ÄÜ¡£

Ô­ÀíÈçÏÂͼËùʾ

Spring-Cloud΢·þÎñ17

Eureka°üº¬Á½¸ö×é¼þ£º Eureka Server ºÍ Eureka Client ¡£

Eureka Server Ìṩ·þÎñ×¢²á·þÎñ£¬¸÷¸ö½ÚµãÆô¶¯ºó£¬»áÔÚ Eureka ServerÖнøÐÐ×¢²á£¬ÕâÑù EurekaServerÖеķþÎñ×¢²á±íÖн«»á´æ´¢ËùÓпÉÓ÷þÎñ½ÚµãµÄÐÅÏ¢£¬·þÎñ½ÚµãµÄÐÅÏ¢¿ÉÒÔÔÚ½çÃæÖÐÖ±¹ÛµÄ¿´µ½¡£

Eureka ClientÊÇÒ»¸öjava ¿Í»§¶Ë£¬ÓÃÓÚ¼ò»¯Óë Eureka ServerµÄ½»»¥ÔÚÓ¦ÓÃÆô¶¯ºó£¬½«»áÏòEureka Server·¢ËÍÐÄÌøÄ¬ÈÏÖÜÆÚΪ 30 Ã룬Èç¹û Eureka ServerÔÚ¶à¸öÐÄÌøÖÜÆÚÄÚûÓнÓÊÕµ½Ä³¸ö½ÚµãµÄÐÄÌø£¬Eureka Server½«»á´Ó·þÎñ×¢²á±íÖаÑÕâ¸ö·þÎñ½ÚµãÒÆ³ýĬÈÏ 90 Ãë ¡£

Eureka ServerÖ®¼äͨ¹ý¸´ÖƵķ½Ê½Íê³ÉÊý¾ÝµÄͬ²½£¬Eureka»¹ÌṩÁ˿ͻ§¶Ë»º´æ»úÖÆ£¬¼´Ê¹ËùÓеÄEureka Server¶¼¹Òµô£¬¿Í»§¶ËÒÀÈ»¿ÉÒÔÀûÓûº´æÖеÄÐÅÏ¢Ïû·ÑÆäËû·þÎñµÄ API ¡£×ÛÉÏ£¬Eurekaͨ¹ýÐÄÌø¼ì²é¡¢¿Í»§¶Ë»º´æµÈ»úÖÆ£¬È·±£ÁËϵͳµÄ¸ß¿ÉÓÃÐÔ¡¢Áé»îÐԺͿÉÉìËõÐÔ¡£


4.2 ±àдEureka Server

4.2.1 pom.xml

Spring-Cloud΢·þÎñ13.7

4.2.2 Æô¶¯Àà

Spring-Cloud΢·þÎñ14

4.2.3 ÅäÖÃÎļþ

Spring-Cloud΢·þÎñ15

4.2.4 Æô¶¯³ÌÐò·ÃÎÊ·þÎñ¶Ë

·ÃÎʵØÖ· : http://localhost:6868/

Spring-Cloud΢·þÎñ18

4.3 ÉÌÆ·Î¢·þÎñ×¢²áµ½×¢²áÖÐÐÄ

½ÓÏÂÀ´£¬ÎÒÃÇÐèÒª½«ÉÌÆ·µÄ΢·þÎñ×¢²áµ½Eureka·þÎñÖС£

4.3.1 ÐÞ¸ÄpomÎļþ

ÒýÈëSpring CloudµÄ¹ÜÀíÒÀÀµÒÔ¼°Eureka·þÎñÒÀÀµ¡£

Spring-Cloud΢·þÎñ16


4.3.2 ÐÞ¸ÄÅäÖÃÎļþ

Spring-Cloud΢·þÎñ18.1

4.3.3 ÐÞ¸ÄÆô¶¯Àà

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@EnableDiscoveryClient     // ÉùÃ÷ÕâÊÇ Eureka µÄ¿Í»§¶Ë

@SpringBootApplication     // ÉùÃ÷ÕâÊÇÒ»¸ö Spring Boot ÏîÄ¿

public class ItemApplication {
    public static void main(String[] args) {

        SpringApplication.run(ItemApplication.class, args);
    }
}

4.3.4 Æô¶¯ÉÌÆ·Î¢·þÎñ
Spring-Cloud΢·þÎñ4.3.4
ÖÁ´ËÎÒÃǾÍÒѾ­½«ÉÌÆ·Î¢·þÎñ×¢²áµ½Eureka×¢²áÖÐÐÄÁË
4.4 ¶©µ¥ÏµÍ³´ÓEurekaÖз¢ÏÖ·þÎñ
4.4.1 ÐÞ¸Äpom.xml
Spring-Cloud΢·þÎñ4.4.1
֮ǰÎÒÃÇÔÚ¶©µ¥ÏµÍ³ÖÐÊǽ«ÉÌÆ·Î¢·þÎñµÄµØÖ·½øÐÐÁËÓ²±àÂ룬ÏÖÔÚ£¬ÓÉÓÚÒѾ­½«ÉÌÆ··þÎñ×¢²áµ½EurekaÖУ¬ËùÒÔ£¬Ö»ÐèÒª´ÓEurekaÖз¢ÏÖ·þÎñ¼´¿É¡£ÒýÈëSpring Cloud µÄ¹ÜÀíÒÀÀµÒÔ¼°Eureka·þÎñÒÀÀµ¡£
4.4.2 ÐÞ¸ÄÅäÖÃÎļþ
Spring-Cloud΢·þÎñ4.4.2


4.4.3 ÐÞ¸ÄItemService
Spring-Cloud΢·þÎñ4.4.3

4.4.4 ÐÞ¸ÄÆô¶¯
Spring-Cloud΢·þÎñ4.4.4
4.4.5 Æô¶¯²âÊÔ
Spring-Cloud΢·þÎñ4.4.5.1
ÏìÓ¦µÄÊý¾ÝÈçÏÂ:
Spring-Cloud΢·þÎñ4.4.5.2

¿ÉÒÔ¿´µ½ÒÔ¼°»ñÈ¡µ½Êý¾Ý£¬µ«ÊÇ£¬ÎÒÃÇ·¢ÏÖÏìÓ¦µÄÊý¾Ý±ä³ÉÁËxml½á¹¹¡£

4.4.6 ½â¾öÏìÓ¦±ä³ÉxmlµÄÎÊÌâ
ÓÉÓÚÎÒÃÇÒýÈëÁËeureka serverµÄÒÀÀµ£¬µ¼ÖÂÆÆ»µÁË֮ǰSpringMVCĬÈϵÄÅäÖ㬴Ӷøµ¼ÖÂÁËÏìÓ¦³ÉÁËxml ¡£
½â¾ö·½·¨£ºÅųýeureka serverÖеÄxmlÒÀÀµ£¬ÈçÏ£º
Spring-Cloud΢·þÎñ4.4.6.1
²âÊÔ
Spring-Cloud΢·þÎñ4.4.6.2


4.5     EurekaÏê½â
4.5.1    ΪEurekaÌí¼ÓÓû§ÈÏÖ¤
ÔÚÇ°ÃæµÄʾÀýÖУ¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÎÒÃÇÐèÒªµÇ¼¼´¿É·ÃÎʵ½Eureka·þÎñ£¬ÕâÑùÆäʵÊDz»°²È«µÄ¡£
½ÓÏÂÀ´£¬ÎÒÃÇΪEurekaÌí¼ÓÓû§ÈÏÖ¤¡£

Ϊitcast microservice eurekaÌí¼Ó°²È«ÈÏÖ¤ÒÀÀµ
Spring-Cloud΢·þÎñ4.5.1


ÔÚapplication.propertiesÅäÖÃÎļþÖÐÌí¼ÓÈçÏÂÄÚÈÝ

¿ªÆôhttp basicµÄµÇ¼·½Ê½
# security.basic.enable= true
# ÅäÖÃÓû§Õ˺ÅÐÅÏ¢
security.user.name= itcast
security.user.password= itcast123
ÖØÆô Eureka·þÎñ¶Ë²âÊÔ
Spring-Cloud΢·þÎñ4.5.2
4.5.2 ·þÎñ×¢²áºÍ·¢ÏÖÉèÖÃÕ˺Å

http://USER:PASSWORD@127.0.0.1:6868/eureka/
ÅäÖÃÈçÏÂ:
eureka.client.serviceUrl.defaultZone=http://itcast:itcast123 @127.0.0.1:6868/

4.5.3 EurekaµÄ×ÔÎÒ±£»¤Ä£Ê½
Spring-Cloud΢·þÎñ4.5.3.1

´ó¼ÒÓеÄʱºòÔÚ·ÃÎÊEureka·þÎñ¶ËµÄʱºò»á³öÏÖºìÉ«µÄÌáʾÐÅÏ¢Õâ¸ö¾ÍÊÇEurekaµÄ×ÔÎÒ±£»¤Ä£Ê½¡£
ĬÈÏÇé¿öÏÂ,ÈçºÎEureka ServerÔÚÒ»¶¨Ê±¼äÄÚûÓнÓÊÕµ½Ä³Ò»¸ö΢·þÎñʵÀýµÄÐÄÌø,Eureka Server½«»á×¢Ïú¸ÃʵÀý(ĬÈÏÊÇ90Ãë). µ«ÊÇÕâÖÖÐÐΪÊDz»°²È«µÄ, ÒòΪÓеÄʱºò¼àÌý²»µ½¿Í»§¶ËµÄÐÄÌø,ÓпÉÄÜÊÇÒòÎªÍøÂç¹ÊÕϵ¼ÖµÄ,¶ø²¢·ÇÊÇ·þÎñ±¾Éí³öÏÖÁËÎÊÌâ,·þÎñ±¾ÉíÊǽ¡¿µµÄ.Õâô²ÝÂʵĽ«·þÎñ×¢ÏúÊDz»°²È«µÄ¡£
Eurekaͨ¹ý“×ÔÎÒ±£»¤Ä£Ê½”À´½â¾ö¸öÎÊÌâµ±Eureka Server½ÚµãÔÚ¶Ìʱ¼äÄÚ¶ªÊ§¹ý¶àµÄ¿Í»§¶Ëʱ¿ÉÄÜ·¢ÉúÁËÍøÂç·ÖÇø¹ÊÕÏ),ÄÇô£¬Õâ¸ö½Úµã¾Í»á½øÈë×ÔÎÒ±£»¤Ä£Ê½ Ò»µ©½øÈë¸Ãģʽ,Eureka Server¾Í»á±£»¤·þÎñ×¢²á±íºìµÄÐÅÏ¢²»ÔÚɾ³ý·þÎñ×¢²á±íÖеÄÊý¾Ý£¬Ò²¾Í£¬²»»á×¢ÏúÈκεÄ΢·þÎñ¡£µ±ÍøÂç¹ÊÕϻָ´ºó¸ÃEureka Server½Úµã»á×Ô¶¯Í˳ö×ÔÎÒ±£»¤Ä£Ê½¡£
×ÛÉÏ×ÔÎÒ±£»¤Ä£Ê½ÊÇÒ»ÖÖÓ¦¶ÔÍøÂçÒì³£µÄ°²È«±£»¤´ëÊ©¡£ËüµÄ¼Ü¹¹ÕÜѧÊÇÄþ¿Éͬʱ±£ÁôËùÓеÄ΢·þÎñ£¨½¡¿µµÄ΢·þÎñºÍ²»½¡¿µµÄ΢·þÎñ£©£¬Ò²²»Ã¤Ä¿×¢ÏúÈκν¡¿µµÄ΢·þÎñ£¬Ê¹ÓÃ×ÔÎÒ±£»¤Ä£Ê½,¿ÉÒÔÈÃEureka¼¯Èº¸ü¼ÓµÄ½¡×³Îȶ¨£¬Ä¬ÈÏ¡£
Eureka×ÔÎÒ±£»¤Ä£Ê½ÊÇ¿ªÆôµÄ£¬ÎÞÐè´¦Àí¡£Èç¹û£¬ÐèÒª½ûÓÃ×ÔÎÒ±£»¤Ä£Ê½£¬Ö»ÐèÒªÔÚÅäÖÃÎļþÖÐÌí¼ÓÅäÖü´¿É£º

# ½ûÓÃeurekaµÄ×ÔÎÒ±£»¤Ä£Ê½
eureka.server.enable self preservation=false

µ«Êǵ±ÎÒÃǽûÓÃÁË×ÔÎÒ±£»¤Ä£Ê½ÒÔºó£¬ÔÚ´Ë·ÃÎÊEureka ServerµÄʱºòÓÖ³öÏÖÁËÒ»¸öеĴíÎó¡£
Spring-Cloud΢·þÎñ4.5.4.3

Òâ˼ÊÇ£ºÏÖÔÚÎÒÃǽûÓÃÁË×ÔÎÒ±£»¤Ä£Ê½»á´øÀ´Ò»Ð©²»°²È«µÄÎÊÌâ¡£
Òò´ËÒ»°ãÇé¿öÏÂÎÒÃǶ¼ÊÇ¿ªÆô×ÔÎÒ±£»¤Ä£Ê½µÄ¡£

4.5.4 EurekaµÄ¸ß¿ÉÓÃ

Ç°ÃæµÄ²âÊÔ£¬ÎÒÃǻᷢÏÖ£¬Eureka·þÎñÊÇÒ»¸öµ¥µã·þÎñ£¬ÔÚÉú²ú»·¾³¾Í»á³öÏÖµ¥µã¹ÊÕÏ£¬ÎªÁËÈ·±£Eureka·þÎñµÄ¸ß¿ÉÓã¬ÎÒÐèÒª´î½¨Eureka·þÎñµÄ¼¯Èº¡£

´î½¨Eureka¼¯Èº·Ç³£¼òµ¥£¬Ö»ÒªÆô¶¯¶à¸öEureka·þÎñ²¢ÇÒÈÃÕâЩ·þÎñÖ®¼ä±Ë´Ë½øÐÐ×¢²á¼´¿ÉʵÏÖ¡£

ÐÞ¸Äitcast microservice eurekaµÄapplication.propertiesÅäÖÃÎļþ

Spring-Cloud΢·þÎñ4.5.4.1

ÐÞ¸ÄÅäÖÃÎļþµÄÄÚÈÝ ÔÙÆô¶¯Ò»¸öEureka Server
Spring-Cloud΢·þÎñ4.5.4.2

Æô¶¯Á½¸öEureka Server ¿´½á¹û
Spring-Cloud΢·þÎñ4.5.4.3

¿ÉÒÔ¿´µ½£¬2¸öEureka·þÎñ½øÐÐÁ˱˴Ë×¢²á

4.5.5 ½«·þÎñ×¢²áµ½ Eureka¼¯ÈºÖÐ
ÐÞ¸ÄÅäÖÃÎļþ

eureka.client.serviceUrl.defaultZone= http://itcast:itcast123@127.0.0.1:6868/eureka/,http://itcast:itcast123@127.0.0.1:6869/eureka/

·ÃÎÊEureka ServerµÄ6868·þÎñÏÔʾ½á¹ûÈçÏÂ
Spring-Cloud΢·þÎñ4.5.5.1

·ÃÎÊEureka ServerµÄ6869 ·þÎñÏÔʾ½á¹ûÈçÏÂ
Spring-Cloud΢·þÎñ4.5.5.2

·¢ÏÖÔÚEurekaµÄÁ½¸öServerÖж¼×¢²á¶ÔÓ¦µÄÉÌÆ··þÎñ
×¢:ÎÒÃÇ¿ÉÒÔ³¢ÊԹرÕÒ»¸öEureka Server½øÐвâÊÔ¿´¿´ÎÒÃǵĶ©µ¥·þÎñÊÇ·ñ¿ÉÒÔµ÷ÓÃÉÌÆ··þÎñ
²ÂÄãϲ»¶
Spring Cloud Alibaba¼¼ÊõÕ»³¬È«ÃæÊÓÆµ½Ì³Ì
0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿