±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcsdn£¬½éÉÜÁËÈÝÆ÷¼¼ÊõºÍ΢·þÎñ¼Ü¹¹µÄ¹ØÏµ£¬ÎÒÃÇ×öÈÝÆ÷ÔÆÆ½Ì¨µÄÄ¿µÄ£¬ÒÔ¼°¼òµ¥½éÉÜÁËÍøÒ×ÔÆÈÝÆ÷·þÎñ»ùÓÚ
Kubernetes ºÍ Spring Cloud µÄ΢·þÎñ»¯Êµ¼ù¾Ñé¡£ |
|
Ò»µ©¾ö¶¨×ö΢·þÎñ¼Ü¹¹£¬ÓкܶàÏÖʵÎÊÌâ°ÚÔÚÃæÇ°£¬±ÈÈç¼¼ÊõÑ¡ÐÍ¡¢ÒµÎñ²ð·ÖÎÊÌâ¡¢¸ß¿ÉÓᢷþÎñͨÐÅ¡¢·þÎñ·¢ÏÖºÍÖÎÀí¡¢¼¯ÈºÈÝ´í¡¢ÅäÖùÜÀí¡¢Êý¾ÝÒ»ÖÂÐÔÎÊÌâ¡¢¿µÍþ¶¨ÂÉ¡¢·Ö²¼Ê½µ÷Óøú×Ù¡¢CI/CD¡¢Î¢·þÎñ²âÊÔ£¬ÒÔ¼°µ÷¶ÈºÍ²¿ÊðµÈµÈ£¬Õâ²¢·ÇһЩ¼òµ¥ÕÐÊýÄܹ»»¯½â¡£Êµ¼ù΢·þÎñ¼Ü¹¹µÄ·½Ê½ÓÐǧÍòÖÖ£¬ÎÒÃÇ̽Ë÷²¢Êµ¼ùÁËÆäÖеÄÒ»ÖÖ¿ÉÄÜÐÔ£¬Ï£Íû¿ÉÒÔ¸ø´ó¼ÒÒ»¸ö²Î¿¼¡£±¾ÎÄÊÇ¡¶ÍøÒ×ÈÝÆ÷ÔÆÆ½Ì¨µÄ΢·þÎñ»¯Êµ¼ù¡·ÏµÁÐÎÄÕµĵÚһƪ¡£
Docker ÈÝÆ÷¼¼ÊõÒѾ¹ýÁË×îÔçµÄÐúÏùÆÚ£¬Öð½¥ÔÚ¸÷´ó¹«Ë¾ºÍ¼¼ÊõÍŶÓÖÐÓ¦Ó᣾¡¹ÜÒÔ½ñÌìÀ´¿´£¬´ó¼Ò´Ó¹ÛÄîÉÏÒѾÖð½¥ÈÏ¿É
¡°½«¾µÏñ¶¨ÒåΪӦÓý»¸¶±ê×¼£¬½«ÈÝÆ÷×÷ΪӦÓÃÔËÐеıê×¼»·¾³¡± µÄ¹Ûµã£¬µ«»¹ÊÇÓÐÏ൱һ²¿·ÖÈËÔÚÃÔ»óÈÝÆ÷¼¼Êõ×÷Ϊһ¸ö±ê×¼£¬Ó¦¸ÃÔõôÂ䵨£¬ÔõÑù²ÅÄÜ´ó¹æÄ£ÏßÉÏÓ¦Óã¬ÔõÃ´Íæ²ÅÄÜÕæÕý½â·ÅÉú²úÁ¦£¬´Ù½øÈí¼þ½»¸¶Ð§ÂʺÍÖÊÁ¿£¿´ð°¸ÆäʵÔÚÓ¦Óõļܹ¹µ±ÖС£
΢·þÎñ¼Ü¹¹²»ÊÇÒò Docker ÈÝÆ÷¼¼Êõ¶øÉú£¬µ«È·ÊµÊÇÒòÈÝÆ÷¼¼Êõ¶ø»ð¡£ÈÝÆ÷¼¼ÊõÌṩÁËÒ»ÖÂÐԵķַ¢ÊֶκÍÔËÐл·¾³£¬Ê¹µÃÖ»ÓÐ΢·þÎñ»¯ºóµÄÓ¦Óüܹ¹£¬²ÅÄÜÅäºÏÈÝÆ÷·¢»ÓÆä×î´ó¼ÛÖµ¡£¶øÎ¢·þÎñ»¯¼Ü¹¹ÒýÈëÁ˺ܴóµÄ¸´ÔÓÐÔ£¬Ö»ÓÐÓ¦ÓÃÈÝÆ÷»¯ÒÔ¼°¹æÄ£»¯µÄÈÝÆ÷±àÅÅÓëµ÷¶È²ÅÄܱÜÃâÔËάЧÂÊϽµ¡£ÈÝÆ÷¼¼ÊõºÍ΢·þÎñ»¯¼Ü¹¹Ö®¼ä±¾ÊÇÒ»ÖÖÏศÏà³ÉµÄ»¥²¹¹ØÏµ¡£
ÍøÒ×ÈÝÆ÷ÔÆÆ½Ì¨µÄǰÉíÊÇÍøÒ×Ó¦ÓÃ×Ô¶¯²¿Êðƽ̨ (OMAD)£¬ËüÄܹ»ÀûÓÃ
IaaS ÔÆÌṩµÄ»ù´¡ÉèÊ©£¬ÊµÏÖ°üÀ¨¹¹½¨ºÍ²¿ÊðÒ»Ì廯ÔÚÄÚµÄÕû¸öÓ¦ÓÃÉúÃüÖÜÆÚ¹ÜÀí¡£2014 Ä꣬ÒÔ Docker
Ϊ´ú±íµÄÈÝÆ÷¼¼Êõ½øÈë´óÖÚÊÓÒ°£¬ÎÒÃǾªÏ²µØ·¢ÏÖ£¬ÈÝÆ÷¼¼ÊõÊÇ×Ô¶¯²¿Êðƽ̨´Ó¹¤¾ßÐÍÓ¦Óýø»¯ÎªÆ½Ì¨ÐÍÓ¦Óùý³ÌÖÐ×îÖØÒªµÄÒ»¿éƴͼ¡£Ô±¾Óû§ÐèÒª³õʼ»¯Ö÷»ú£¬È»ºó½èÖú×Ô¶¯²¿Êðƽ̨Íê³ÉÓ¦ÓõĹ¹½¨ºÍ²¿Êð¡£ÒýÈëÈÝÆ÷¼¼ÊõÖ®ºó£¬Óû§´Ó¹¦ÄÜ¿ª·¢µ½²âÊÔµ½Ò»¼ü²¿ÊðÉÏÏߣ¬Õû¸öÓ¦Óý»¸¶¹ý³ÌÖв»ÓùØÐÄÖ÷»ú³õʼ»¯¡¢Ö÷»ú¼äͨÐÅ¡¢ÊµÀýµ÷¶ÈµÈһϵÁÐÓ¦ÓÃÖ®ÍâµÄÎÊÌâ¡£Õâ¼òÖ±ÊÇÐÅÑö
DevOps µÄÈ˵ĸ£Òô¡£
ÎÒÃÇ´Ó 2015 Ä꿪ʼ̽Ë÷ÈÝÆ÷¼¼ÊõµÄ×î¼Ñʵ¼ù·½Ê½£¬´Óµ±³õ ¡°ÅÖÈÝÆ÷¡±
ÓëÈÝÆ÷¼¯ÈºµÄ²úÆ·ÐÎ̬£¬µ½ºóÀ´¹ØÓÚÓÐ״̬ºÍÎÞ״̬·þÎñµÄ¶¨Ò壬ÒÔ¼°Èç½ñµÄмÆËãÓë¸ßÐÔÄܼÆË㣬ÎÒÃÇÒ»Ö±ÔÚ˼¿¼²¢·á¸»×ÅÈÝÆ÷¼¼ÊõµÄÓ¦Óó¡¾°¡£ÎÞÂÛ²úÆ·ÐÎ̬ÈçºÎµ÷Õû£¬ÈÝÆ÷ÔÆÆ½Ì¨µÄºËÐĸÅÄîÒ»Ö±ÊÇ
¡°Î¢·þÎñ¡±£¬Í¨¹ý΢·þÎñÕâÒ»³éÏóÌṩ¸ßÐÔÄܵÄÈÝÆ÷¼¯Èº¹ÜÀí·½°¸£¬Ö§³Öµ¯ÐÔÉìËõ¡¢´¹Ö±À©ÈÝ¡¢»Ò¶ÈÉý¼¶¡¢·þÎñ·¢ÏÖ¡¢·þÎñ±àÅÅ¡¢´íÎó»Ö¸´¡¢ÐÔÄܼà²âµÈ¹¦ÄÜ£¬Âú×ãÓû§ÌáÉýÓ¦Óý»¸¶Ð§ÂʺͿìËÙÏìÓ¦ÒµÎñ±ä»¯µÄÐèÇó¡£ÍøÒ×ÔÆÈÝÆ÷ƽ̨ÆÚÍûÄܸøÊµÊ©ÁË΢·þÎñ¼Ü¹¹µÄÍŶÓÌṩÍêÕûµÄ½â¾ö·½°¸ºÍ±Õ»·µÄÓû§ÌåÑ飬Ϊ´Ë´Ó
2016 Ä꿪ʼ£¬ÎÒÃÇÈÝÆ÷·þÎñÍŶÓÄÚ²¿ÂÊÏÈ¿ªÊ¼½øÐÐ dogfooding ʵ¼ù£¬Ò»·½Ãæ¼ìÑéÈÝÆ÷ÔÆÆ½Ì¨Äܲ»ÄÜÖ§³ÅµÃÆðÈÝÆ÷·þÎñ±¾ÉíµÄ΢·þÎñ¼Ü¹¹£¬ÁíÒ»·½ÃæÍ¨¹ý΢·þÎñ»¯Êµ¼ù¾Ñé·´²¸ÈÝÆ÷ÔÆÆ½Ì¨²úÆ·Éè¼Æ£¬ÕâÊÇÒ»´ÎºÜÓÐȤµÄ³¢ÊÔ£¬Ò²ÊÇÎÒÃÇ·ÖÏíÈÝÆ÷ÔÆÆ½Ì¨Î¢·þÎñ»¯¼Ü¹¹Êµ¼ùµÄ³õÖÔ¡£
ÔÚ̸ÈÝÆ÷·þÎñµÄ΢·þÎñ¼Ü¹¹Êµ¼ù֮ǰ£¬ÓбØÒªÏȰÑÍøÒ×ÔÆÈÝÆ÷·þÎñ´óÖÂ×ö¸ö½éÉÜ¡£Ä¿Ç°ÍøÒ×ÔÆÈÝÆ÷·þÎñÍŶÓÒÔ
DevOps µÄ·½Ê½¹ÜÀí×Å30+΢·þÎñ£¬Ã¿Öܹ¹½¨²¿Êð´ÎÊý 400+¡£ÍøÒ×ÔÆÈÝÆ÷·þÎñ¼Ü¹¹´ÓÂß¼ÉÏ¿´ÓÉ
4 ¸ö²ã´Î×é³É£¬´Óϵ½ÉÏ·Ö±ðÊÇ»ù´¡ÉèÊ©²ã¡¢Docker ÈÝÆ÷ÒýÇæ²ã¡¢Kubernetes £¨ÒÔϼò³Æ
K8S£©ÈÝÆ÷±àÅŲ㡢DevOps ºÍ×Ô¶¯»¯¹¤¾ß²ã£º

ÈÝÆ÷ÔÆÆ½Ì¨ÕûÌåÒµÎñ¼Ü¹¹ÈçÏ£º

Å׿ªÈÝÆ÷·þÎñ¾ßÌåÒµÎñ²»Ì¸£¬½ö´ÓÒµÎñÌØÕ÷À´Ëµ£¬¿ÉÒÔ·Ö³ÉÒÔ϶àÖÖÀàÐÍ£¨À¨ºÅÄÚΪ¾ÙÀýµÄ΢·þÎñ£©£º
1.ÃæÏòÖÕ¶ËÓû§ £¨OpenAPI ·þÎñÍø¹Ø£©¡¢ÃæÏò·þÎñ£¨Âã»ú·þÎñ£©
2.ͬ²½Í¨ÐÅ£¨Óû§ÖÐÐÄ£©¡¢Ò첽ͨÐÅ£¨¹¹½¨·þÎñ£©
3.Êý¾ÝǿһÖÂÐèÇó£¨etcd ͬ²½·þÎñ£©¡¢×îÖÕÒ»ÖÂÐèÇó£¨×ÊÔ´»ØÊÕ·þÎñ£©
4.ÍÌÍÂÁ¿Ãô¸ÐÐÍ£¨ÈÕÖ¾·þÎñ£©¡¢ÑÓʱÃô¸ÐÐÍ£¨ÊµÊ±·þÎñ£©
5.CPU ¼ÆËãÃܼ¯ÐÍ£¨Ç©ÃûÈÏÖ¤ÖÐÐÄ£©¡¢ÍøÂç IO Ãܼ¯ÐÍ£¨¾µÏñ²Ö¿â£©
6.ÔÚÏßÒµÎñ£¨Web ·þÎñ£©¡¢ÀëÏßÒµÎñ£¨¾µÏñ¼ì²é£©
7.Åú´¦ÀíÈÎÎñ£¨¼Æ·ÑÈÕÖ¾ÍÆËÍ£©¡¢¶¨Ê±ÈÎÎñ£¨·Ö²¼Ê½¶¨Ê±ÈÎÎñ£©
8.³¤Á¬½Ó£¨WebSocket ·þÎñÍø¹Ø£©¡¢¶ÌÁ¬½Ó£¨Hook ·þÎñ£©
¡¡
Ò»µ©¾ö¶¨×ö΢·þÎñ¼Ü¹¹£¬ÓкܶàÏÖʵÎÊÌâ°ÚÔÚÃæÇ°£¬±ÈÈç¼¼ÊõÑ¡ÐÍ¡¢ÒµÎñ²ð·ÖÎÊÌâ¡¢¸ß¿ÉÓᢷþÎñͨÐÅ¡¢·þÎñ·¢ÏÖºÍÖÎÀí¡¢¼¯ÈºÈÝ´í¡¢ÅäÖùÜÀí¡¢Êý¾ÝÒ»ÖÂÐÔÎÊÌâ¡¢¿µÍþ¶¨ÂÉ¡¢·Ö²¼Ê½µ÷Óøú×Ù¡¢CI/CD¡¢Î¢·þÎñ²âÊÔ£¬ÒÔ¼°µ÷¶ÈºÍ²¿ÊðµÈµÈ......Õâ²¢·ÇһЩ¼òµ¥ÕÐÊýÄܹ»»¯½â¡£
×÷ΪÖ÷Òª±à³ÌÓïÑÔÊÇ Java µÄÈÝÆ÷·þÎñÀ´Ëµ£¬Ñ¡Ôñ Spring Cloud
È¥´îÅä K8S ÊÇÒ»¸öºÜ×ÔÈ»µÄÊÂÇé¡£Spring Cloud ºÍ K8S ¶¼ÊǺܺõÄ΢·þÎñ¿ª·¢ºÍÔËÐпò¼Ü¡£´ÓÓ¦ÓõÄÉúÃüÖÜÆÚ½Ç¶ÈÀ´¿´£¬K8S
¸²¸ÇÁ˸ü¹ãµÄ·¶Î§£¬ÌرðÏñ×ÊÔ´¹ÜÀí£¬Ó¦ÓñàÅÅ¡¢²¿ÊðÓëµ÷¶ÈµÈ£¬Spring Cloud Ôò¶Ô´ËÎÞÄÜΪÁ¦¡£´Ó¹¦ÄÜÉÏ¿´£¬Á½Õß´æÔÚÒ»¶¨³Ì¶ÈµÄÖØµþ£¬±ÈÈç·þÎñ·¢ÏÖ¡¢¸ºÔؾùºâ¡¢ÅäÖùÜÀí¡¢¼¯ÈºÈÝ´íµÈ·½Ã棬µ«Á½Õß½â¾öÎÊÌâµÄ˼·ÍêÈ«²»Í¬£¬Spring
Cloud ÃæÏòµÄ´¿´âÊÇ¿ª·¢Õߣ¬¿ª·¢ÕßÐèÒª´Ó´úÂë¼¶±ð¿¼ÂÇ΢·þÎñ¼Ü¹¹µÄ·½·½ÃæÃ棬¶ø K8S ÃæÏòµÄÊÇ
DevOps ÈËÔ±£¬ÌṩµÄÊÇͨÓýâ¾ö·½°¸£¬ËüÊÔͼ½«Î¢·þÎñÏà¹ØµÄÎÊÌâ¶¼ÔÚÆ½Ì¨²ã½â¾ö£¬¶Ô¿ª·¢Õ߯Á±Î¸´ÔÓÐÔ¡£¾Ù¸ö¼òµ¥µÄÀý×Ó£¬¹ØÓÚ·þÎñ·¢ÏÖ£¬Spring
Cloud ¸ø³öµÄÊÇ´«Í³µÄ´ø×¢²áÖÐÐÄ Eureka µÄ½â¾ö·½°¸£¬ÐèÒª¿ª·¢Õßά»¤ Eureka ·þÎñÆ÷µÄͬʱ£¬¸ÄÔì·þÎñµ÷Ó÷½Óë·þÎñÌṩ·½´úÂëÒÔ½ÓÈë·þÎñ×¢²áÖÐÐÄ£¬¿ª·¢ÕßÐè¹ØÐÄ»ùÓÚ
Eureka ʵÏÖ·þÎñ·¢ÏÖµÄËùÓÐϸ½Ú¡£¶ø K8S ÌṩµÄÊÇÒ»ÖÖÈ¥ÖÐÐÄ»¯·½°¸£¬³éÏóÁË·þÎñ £¨Service£©£¬Í¨¹ý
DNS + Cluster IP + iptables ½â¾ö·þÎñ±©Â¶ºÍ·¢ÏÖÎÊÌ⣬¶Ô·þÎñÌṩ·½ºÍ·þÎñµ÷Ó÷½¶øÑÔÍêȫûÓÐÇÖÈë¡£
¶ÔÓÚ¼¼ÊõÑ¡ÐÍ£¬ÎÒÃÇÓÐ×Ô¼ºµÄ¿¼Á¿£¬ÓÅÏÈÑ¡Ôñ¸üÎȶ¨µÄ·½°¸£¬±Ï¾¹Îȶ¨ÐÔÊÇÔÆ¼ÆËãµÄÉúÃüÏß¡£ÎÒÃDz¢²»ÊÇ
¡°K8S Ô½ÌÖ¼Ö÷ÒåÕß¡±£¬¶ÔÓÚÇ°ÃæÌáµ½µÄ΢·þÎñ¼Ü¹¹µÄ¸÷Òªµã£¬ÎÒÃÇÓÐÑ¡Ôñ»ùÓÚ K8S ʵÏÖ£¬±ÈÈç·þÎñ·¢ÏÖ¡¢¸ºÔؾùºâ¡¢¸ß¿ÉÓᢼ¯ÈºÈÝ´í¡¢µ÷¶ÈÓ벿ÊðµÈ¡£ÓÐÑ¡ÔñʹÓÃ
Spring Cloud ÌṩµÄ·½°¸£¬±ÈÈçͬ²½µÄ·þÎñ¼äͨÐÅ£»Ò²ÓнáºÏÁ½ÕßµÄÓÅÊÆ¹²Í¬ÊµÏÖ£¬±ÈÈç·þÎñµÄ¹ÊÕϸôÀëºÍÈÛ¶Ï£»µ±È»£¬Ò²ÓлùÓÚһЩ³ÉÊìµÄµÚÈý·½·½°¸ºÍ×ÔÑÐϵͳʵÏÖ£¬±ÈÈçÅäÖùÜÀí¡¢ÈÕÖ¾²É¼¯¡¢·Ö²¼Ê½µ÷Óøú×Ù¡¢Á÷¿ØÏµÍ³µÈ¡£
ÎÒÃÇÀûÓà K8S ¹ÜÀí΢·þÎñ´øÀ´µÄ×î´ó¸ÄÉÆÌåÏÖÔÚµ÷¶ÈºÍ²¿ÊðЧÂÊÉÏ¡£ÒÔÎÒÃǵ±Ç°µÄÇé¿öÀ´¿´£¬²»Í¬µÄ·þÎñÒªÇó²¿ÊðÔÚ²»Í¬µÄ»ú·¿ºÍ¼¯Èº£¨Áªµ÷»·¾³¡¢²âÊÔ»·¾³¡¢Ô¤·¢²¼»·¾³¡¢Éú²ú»·¾³µÈ£©£¬ÓÐ×Ų»Í¬ÐèÇóµÄÈíÓ²¼þÅäÖã¨ÄÚ´æ¡¢SSD¡¢°²È«¡¢º£Íâ·ÃÎʼÓËٵȣ©£¬ÕâЩÐèÇóÒѾ½ÏÄÑͨ¹ý´«Í³µÄ×Ô¶¯»¯¹¤¾ßʵÏÖ¡£K8S
ͨ¹ý¶Ô Node Ö÷»ú½øÐÐ Label »¯¹ÜÀí£¬ÎÒÃÇÖ»ÒªÖ¸¶¨·þÎñÊôÐÔ £¨Pod label£©£¬K8S
µ÷¶ÈÆ÷¸ù¾Ý Pod ºÍ Node Label µÄÆ¥Åä¹ØÏµ£¬×Ô¶¯½«·þÎñ²¿Êðµ½Âú×ãÐèÇóµÄ Node Ö÷»úÉÏ£¬¼òµ¥¶ø¸ßЧ¡£ÄÚÖùö¶¯Éý¼¶²ßÂÔ£¬ÅäºÏ½¡¿µ¼ì²é
£¨liveness ºÍ readiness ̽Õ룩ºÍ lifecycle hook ¿ÉÒÔÍê³É·þÎñµÄ²»Í£·þ¸üкͻعö¡£´ËÍ⣬ͨ¹ýÅäÖÃÏà¹Ø²ÎÊý»¹¿ÉÒÔʵÏÖ·þÎñµÄÀ¶Â̲¿ÊðºÍ½ð˿ȸ²¿Êð¡£¼¯ÈºÈÝ´í·½Ãæ£¬K8S
ͨ¹ý¸±±¾¿ØÖÆÆ÷ά³Ö·þÎñ¸±±¾Êý £¨replica£©£¬ÎÞÂÛÊÇ·þÎñʵÀý¹ÊÕÏ£¨½ø³ÌÒì³£Í˳ö¡¢oom-killed
µÈ£©»¹ÊÇ Node Ö÷»ú¹ÊÕÏ£¨ÏµÍ³¹ÊÕÏ¡¢Ó²¼þ¹ÊÕÏ¡¢ÍøÂç¹ÊÕϵȣ©£¬·þÎñ¸±±¾ÊýÄܹ»Ê¼ÖÕ±£³ÖÔڹ̶¨ÊýÁ¿¡£

Docker ͨ¹ý·Ö²ã¾µÏñ´´ÔìÐԵؽâ¾öÁËÓ¦ÓúÍÔËÐл·¾³µÄÒ»ÖÂÐÔÎÊÌ⣬µ«ÊÇͨ³£À´½²£¬²»Í¬»·¾³ÏµķþÎñµÄÅäÖÃÊDz»Ò»ÑùµÄ¡£ÅäÖõIJ»Í¬Ê¹µÃ¿ª·¢»·¾³¹¹½¨µÄ¾µÏñÎÞ·¨Ö±½ÓÔÚ²âÊÔ»·¾³Ê¹Óã¬QA
ÔÚ²âÊÔ»·¾³ÑéÖ¤¹ýµÄ¾µÏñÎÞ·¨Ö±½Ó²¿Êðµ½ÏßÉÏ¡¡µ¼ÖÂÿ¸ö»·¾³µÄ Docker ¾µÏñ¶¼ÒªÖØÐ¹¹½¨¡£½â¾öÕâ¸öÎÊÌâµÄ˼·ÎÞ·ÇÊǽ«ÅäÖÃÐÅÏ¢ÌáÈ¡³öÀ´£¬ÒÔ»·¾³±äÁ¿µÄ·½Ê½ÔÚ
Docker ÈÝÆ÷Æô¶¯Ê±×¢È룬K8S Ò²¸ø³öÁË ConfigMap ÕâÑùµÄ½â¾ö·½°¸£¬µ«ÕâÖÖ·½Ê½ÓÐÒ»¸öÎÊÌ⣬ÅäÖÃÐÅÏ¢±ä¸üºóÎÞ·¨ÊµÊ±ÉúЧ¡£ÎÒÃDzÉÓõÄÊÇʹÓÃ
Disconf ͳһÅäÖÃÖÐÐĽâ¾ö¡£ÅäÖÃͳһÍйܺ󣬴ӿª·¢»·¾³¹¹½¨µÄÈÝÆ÷¾µÏñ£¬¿ÉÒÔÖ±½ÓÌá½»µ½²âÊÔ»·¾³²âÊÔ£¬QA
Ñé֤ͨ¹ýºó£¬Éϵ½ÑÝÁ·»·¾³¡¢Ô¤·¢²¼»·¾³ºÍÉú²ú»·¾³¡£Ò»·½Ãæ±ÜÃâÁËÖØ¸´µÄÓ¦Óôò°üºÍ Docker ¾µÏñ¹¹½¨£¬ÁíÒ»·½ÃæÕæÕýʵÏÖÁËÏßÉÏÏßÏÂÓ¦ÓõÄÒ»ÖÂÐÔ¡£
Spring Cloud Hystrix ÔÚÎÒÃǵÄ΢·þÎñÖÎÀíÖаçÑÝÁËÖØÒª½ÇÉ«£¬ÎÒÃǶÔËü×öÁ˶þ´Î¿ª·¢£¬Ìṩ¸üÁé»îµÄ¹ÊÕϸôÀë¡¢½µ¼¶ºÍÈ۶ϲßÂÔ£¬Âú×ã
API Íø¹ØµÈ·þÎñµÄÌØÊâÒµÎñÐèÇó¡£½ø³ÌÄڵĹÊÕϸôÀë½öÊÇ·þÎñÖÎÀíµÄÒ»·½Ã棬ÁíÒ»·½Ã棬ÔÚÒ»¸öÓ¦Óû첿µÄÖ÷»úÉÏ£¬Ó¦ÓüäÓ¦¸Ã»¥Ïà¸ôÀ룬±ÜÃâ½ø³Ì¼ä»¥ÇÀ×ÊÔ´£¬Ó°ÏìÒµÎñ
SLA¡£±ÈÈç¾ø¶ÔÒª±ÜÃâÒ»¸öÀëÏßÓ¦ÓÃʧ¿ØÕ¼ÓÃÁË´óÁ¿ CPU£¬Ê¹µÃͬÖ÷»úµÄÔÚÏßÓ¦ÓÃÊÜÓ°Ïì¡£ÎÒÃÇͨ¹ý K8S
ÏÞÖÆÁËÈÝÆ÷ÔËÐÐʱµÄ×ÊÔ´Åä¶î£¨ÒÔ CPU ºÍÄÚ´æÏÞÖÆÎªÖ÷£©£¬ÊµÏÖÁ˽ø³Ì¼äµÄ¹ÊÕϺÍÒì³£¸ôÀë¡£K8S ÌṩµÄ¼¯ÈºÈÝ´í¡¢¸ß¿ÉÓᢽø³Ì¸ôÀ룬ÅäºÏ
Spring Cloud Hystrix ÌṩµÄ¹ÊÕϸôÀëºÍÈÛ¶Ï£¬Äܹ»ºÜºÃµØÊµ¼ù ¡° Design for
Failure¡± Éè¼ÆÕÜѧ.
·þÎñ²ð·ÖµÄºÃ»µÖ±½ÓÓ°ÏìÁËʵʩ΢·þÎñ¼Ü¹¹µÄÊÕÒæ´óС¡£·þÎñ²ð·ÖµÄÄѵãÍùÍùÔÚÓÚÒµÎñ±ß½ç²»ÇåÎú¡¢ÀúÊ·ÒÅÁôϵͳ¸ÄÔìÄÑ¡¢Êý¾ÝÒ»ÖÂÐÔÎÊÌâ¡¢¿µÍþ¶¨Âɵȡ£´ÓÎÒÃǾÑéÀ´¿´£¬¶ÔÓÚǰÁ½¸öÎÊÌâ½â¾ö˼·ÊÇÒ»ÑùµÄ£º1£©Ö»²ðÓÐÈ·¶¨±ß½çÄܶÀÁ¢µÄÒµÎñ¡£2£©·þÎñ²ð·Ö±¾ÖÊÉÏÊÇÊý¾ÝÄ£Ð͵IJð·Ö£¬ÉϲãÓ¦ÓþµÃÆðµ¹ÌÚ£¬µ×²ãÊý¾ÝÄ£Ð;²»Æðµ¹ÌÚ¡£¶ÔÓڱ߽çÄ£ºýµÄÒµÎñ£¬¼´Ê¹Òª²ð£¬Ö»²ðÓ¦Óò»²ðÊý¾Ý¿â¡£
ÒÔÏÂÊÇÎÒÃÇ´ÓÖ÷¹¤³ÌÀïÆ½»¬²ð³öÓû§·þÎñµÄʾÀý²½Ö裺

1.½«Óû§Ïà¹ØµÄ UserService¡¢UserDAO ·ÖÀë³öÖ÷¹¤³Ì£¬¼ÓÉÏ
UserController ¡¢UserDTO µÈ£¬ÐγÉÓû§·þÎñ£¬¶ÔÍⱩ¶ HTTP RESTful
API¡£
2.½«Ö÷¹¤³ÌÓû§Ïà¹ØµÄ UserService ÀàÌæ»»³É UserFa?ade
À࣬²ÉÓà Spring Cloud Feign µÄ×¢½â£¬µ÷ÓÃÓû§·þÎñ API¡£
3.Ö÷¹¤³ÌËùÓÐÒÀÀµ UserServce ½Ó¿ÚµÄµØ·½£¬¸ÄΪÒÀÀµ UserFa?ade
½Ó¿Ú£¬Æ½»¬¹ý¶É¡£
¾¹ýÒÔÉÏÈý¸ö²½Öè, Óû§·þÎñ¶ÀÁ¢³ÉÒ»¸ö΢·þÎñ£¬¶øÕû¸öϵͳ´úÂëµÄ¸´ÔÓÐÔ¼¸ºõûÓÐÔö¼Ó¡£
Êý¾ÝÒ»ÖÂÐÔÎÊÌâÔÚ·Ö²¼Ê½ÏµÍ³ÖÐÆÕ±é´æÔÚ£¬Î¢·þÎñ¼Ü¹¹Ï»ὫÎÊÌâ·Å´ó£¬ÕâÒ²´ÓÁíÒ»¸ö½Ç¶È˵Ã÷ºÏÀí²ð·ÖÒµÎñµÄÖØÒªÐÔ¡£ÎÒÃÇÅöµ½µÄ´ó²¿·ÖÊý¾ÝÒ»ÖÂÐÔ³¡¾°¶¼ÊÇ¿ÉÒÔ½ÓÊÜ×îÖÕÒ»Öµġ£¡°¶¨Ê±ÈÎÎñÖØÊÔ+Ãݵȡ±
Êǽâ¾öÕâÀàÎÊÌâµÄÒ»°ÑÈðÊ¿¾üµ¶£¬Îª´ËÎÒÃÇ¿ª·¢ÁËÒ»Ì×¶ÀÁ¢ÓÚ¾ßÌåÒµÎñµÄ ¡°·Ö²¼Ê½¶¨Ê±ÈÎÎñ+¿É¿¿Ê¼þ¡± ´¦Àí¿ò¼Ü£¬½«ÈκÎÐè±£Ö¤Êý¾Ý×îÖÕÒ»ÖµIJÙ×÷¶¨ÒåΪһÖÖʼþ£¬±ÈÈçÓû§³õʼ»¯¡¢ÊµÀýÖØ½¨¡¢×ÊÔ´»ØÊÕ¡¢ÈÕÖ¾Ë÷ÒýµÈÒµÎñ³¡¾°¡£ÒÔÓû§³õʼ»¯ÎªÀý£¬×¢²áÒ»¸öÓû§ºó£¬±ØÐë¶ÔÆä½øÐгõʼ»¯£¬³õʼ»¯¹ý³ÌÊÇÒ»¸öºÄʱµÄÒì²½²Ù×÷£¬°üº¬×â»§³õʼ»¯¡¢ÍøÂç³õʼ»¯¡¢Åä¶î³õʼ»¯µÈµÈ£¬ÕâÐèҪе÷²»Í¬µÄϵͳÀ´Íê³É¡£ÎÒÃǽ«³õʼ»¯¶¨ÒåΪһÖÖ
initTenant ʼþ£¬½« initTenant ʼþ¼°ÉÏÏÂÎÄ´æÈë¿É¿¿Ê¼þ±í£¬ÓÉ·Ö²¼Ê½¶¨Ê±ÈÎÎñ´¥·¢Ê¼þÖ´ÐУ¬Ö´Ðгɹ¦ºó£¬Çå³ý¸Ãʼþ¼Ç¼£»Èç¹ûÖ´ÐÐʧ°Ü£¬Ôò¶¨Ê±ÈÎÎñϵͳ»áÔٴδ¥·¢Ö´ÐС£¶ÔÓÚijЩʵʱÐÔÒªÇó½Ï¸ßµÄ³¡¾°£¬Ôò¿ÉÒÔÏÈ´¥·¢Ò»´Îʼþ´¦Àí£¬ÔÙ½«Ê¼þ´æÈë¿É¿¿Ê¼þ±í¡£¶ÔÓÚÿ¸öʼþ´¦ÀíÆ÷À´Ëµ£¬ÒªÔÚʵÏÖÉÏÈ·±£Ö§³ÖÃݵÈÖ´ÐУ¬ÊµÏÖÃݵÈÖ´ÐÐÓжàÖÖ·½Ê½£¬ÎÒÃÇÓÐÓõ½²¼¶ûÐÍ״̬룬ÓÐÓõ½
UUID ×öÈ¥ÖØ´¦Àí£¬Ò²ÓÐÓõ½»ùÓÚ°æ±¾ºÅ×ö CAS¡£ÕâÀï²»Õ¹¿ªËµÁË¡£

´ÓÎÒÃǵÄʵ¼ù¾ÑéÀ´¿´£¬µ±ÒµÎñ±ß½çÓë×éÖ¯¼Ü¹¹³åͻʱ£¬ÄþԸѡÔñ¸ü¼Ó·ûºÏ×éÖ¯¼Ü¹¹µÄ·þÎñ²ð·Ö±ß½ç¡£ÕâÒ²ÊÇÒ»ÖÖ·ûºÏ¿µÍþ¶¨ÂɵÄ×ö·¨¡£¿µÍþ¶¨ÂÉ˵£¬ÏµÍ³¼Ü¹¹µÈͬÓÚ×éÖ¯µÄ¹µÍ¨½á¹¹¡£×éÖ¯¼Ü¹¹»áÔÚÇ±ÒÆÄ¬»¯ÖÐÔ¼ÊøÈí¼þϵͳ¼Ü¹¹µÄÐÎ̬¡£Î¥±³¿µÍþ¶¨ÂÉ£¬·Ç³£ÈÝÒ׳öÏÖϵͳÉè¼ÆÃ¤Çø£¬³öÏÖ
¡°Á½²»¹Ü¡± »¥ÏàÍÆÍѵľÖÃæ£¬ÎÒÃÇÔÚÍŶӼ䡢ÍŶÓÄÚ¶¼Åöµ½¹ýÕâÖÖÇé¿ö¡£
±¾ÎÄÊÇ¡¶ÍøÒ×ÈÝÆ÷ÔÆÆ½Ì¨µÄ΢·þÎñ»¯Êµ¼ù¡·ÏµÁÐÎÄÕµĵÚһƪ£¬ÏÞÓÚÆª·ù£¬ÓÐЩ΢·þÎñ¼Ü¹¹Òªµã²¢Î´Õ¹¿ª£¬±ÈÈç·þÎñͨÐÅ¡¢·þÎñ·¢ÏÖºÍÖÎÀí¡¢ÅäÖùÜÀíµÈ»°Ì⣻ÓÐЩδÌá¼°£¬±ÈÈç·Ö²¼Ê½µ÷Óøú×Ù¡¢CI/CD¡¢Î¢·þÎñ²âÊԵȻ°Ì⣬ÕâЩ·½ÃæµÄʵ¼ù¾Ñé»áÔÚºóÐøµÄϵÁÐÎÄÕÂÖÐÔÙ×ö·ÖÏí¡£Êµ¼ù΢·þÎñ¼Ü¹¹µÄ·½Ê½ÓÐǧÍòÖÖ£¬ÎÒÃÇ̽Ë÷²¢Êµ¼ùÁËÆäÖеÄÒ»ÖÖ¿ÉÄÜÐÔ£¬Ï£Íû¿ÉÒÔ¸ø´ó¼ÒÒ»¸ö²Î¿¼¡£
|