Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
°¸Àý·ÖÏí©@ÈýʰÖÚ³ï³ÖÐø½»¸¶¿ª·¢Á÷³ÌÖ§³Å´´ÐÂÒµÎñ
 
×÷ÕߣºÁõ³¬
  2656  次浏览      27
2021-8-19
 
±à¼­ÍƼö:
±¾ÎÄÖ¼ÔÚ´Ó¼¼Êõ½Ç¶È½éÉÜÒ»ÏÂÎÒÃÇÈçºÎ¹¹½¨Õâ¸ö³ÖÐø¿ª·¢µÄÁ÷³Ì£¬À´Ö§³ÅÎÒÃǵĴ´ÐÂÒµÎñµÈÏà¹ØÄÚÈÝ¡£
±¾ÎÄÀ´×ÔÓÚ ÍøÒ×ÔÆ»ù´¡·þÎñ£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼­ÍƼö¡£

ÏîÄ¿½éÉÜ

ÈýʰÖÚ³ïÊÇÒ»¸ö´´ÐÂÐ͵ÄÒµÎñ£¬ÎÒÃǵÄÀíÏëÊÇ×ö²»Ò»ÑùµÄÖÚ³ïÆ½Ì¨£º

¡¤»ùÓÚÄÚÈݲúÆ·ÌṩÖÚ³ï·þÎñ

¡¤×¨×¢Ì½Ñ°×îÓд´ÒâµÄÏë·¨¡¢×îÓÐζȵĹÊÊÂ

¡¤Éî¸ûÓ°ÊÓ¡¢ÓÎÏ·¡¢ÒôÀÖ¡¢´«Ã½¡¢¶¯ÂþµÈ·ºÎÄÓéÁìÓò

´Ó2016Äê7Ô·ÝÏîÄ¿³ï±¸ÒÔÀ´£¬¾­¹ýÁ½¸ö¶àÔµĿª·¢£¬10ÔÂ·ÝÆ½Ì¨ÕýʽÉÏÏßÔËÓª¡£Ä¿Ç°µÄÍŶӹæÄ£²»´ó£¬ÊôÓÚÄÚ²¿´´ÒµµÄ״̬£¬µ«ÊÇÎÒÃǵĿںÅÊÇ£ºÔÙСµÄÁ¦Á¿£¬Ò²ÄÜÖÀµØ»ØÏì¡£

½ñÌìµÄ·ÖÏíÊÇ´Ó¼¼Êõ½Ç¶È½éÉÜÒ»ÏÂÎÒÃÇÈçºÎ¹¹½¨Õâ¸ö³ÖÐø¿ª·¢µÄÁ÷³Ì£¬À´Ö§³ÅÎÒÃǵĴ´ÐÂÒµÎñ¡£

ÔÚÔËÐÐÒ»¸ö´´ÐÂÒµÎñµÄʱºò£¬ÎÒÃǵļ¼Êõ»áÃæÁٺܴóµÄÌôÕ½£¬ÕâºÍÎÒÃÇ´´ÐÂÒµÎñµÄÌØµãÊÇÏà¹ØµÄ£º

µÚÒ»£ºÒµÎñÊÇ¿ìËÙ±ä¸üµÄ£¬²»¿ÉÄÜÏëºÃËùÓеÄÊÂÇé²Å¿ªÊ¼Æô¶¯ÎÒÃǵÄÏîÄ¿£¬ËùÒÔ¸Õ¿ªÊ¼µÄʱºò£¬ËùνµÄ´´Ð¸ü¶àµÄÊÇÔÚÊÔ´í¡£ÎÒÃÇÏ£ÍûÏîÄ¿ÔÚ×öµÄʱºò£¬²»¶ÏµØÊÕ¼¯·´À¡£¬²»¶ÏµØµ÷Õû·½Ïò£¬×îÖÕÕÒµ½Í»ÆÆµã¡£¶øÔÚ²»¶Ïµ÷Õû·½ÏòµÄ¹ý³ÌÖУ¬¼¼Êõ±ØÐë×öµ½¼°Ê±ÏìÓ¦¡£µ±ÒµÎñÐèÒª¼¼ÊõÌṩµ¯Ò©µÄʱºò£¬¼¼Êõ²»ÄÜ˵ÎÒÃÇ»¹ÔÚµ÷ÑУ¬ÎÒÃÇ»¹ÔÚ½¨³§·¿£¬¹¦Äܲ»Äܱä¸ü¡£

µÚ¶þ£ºÒµÎñ±¬·¢Ê½µØÔö³¤¡£Ç°ÃæÎÒÃÇ˵ȥÕÒ·½Ïò£¬ÄÇʲôÊÇÕýÈ·µÄ·½Ïò£¬ÆäʵºÜÄÑÈ¥Åжϣ¬µ«ÊÇÖÁÉÙÎÒÃDz»ÊÇΪÁËά³ÖijÖÖ״̬ȥ×öµÄ£¬ÒòΪÎÒÃÇÊÇÒ»¸ö´ÓÎÞµ½ÓеĹý³Ì¡£Ò»µ©ÎÒÃÇÕÒµ½ÁËÕýÈ·µÄ·½Ïò£¬½ÓÏÂÀ´ÒµÎñ¾Í»á³öÏÖÒ»¸öÌáÉý»òÕßÀ©ÕÅ£¬µ«ÊÇʱ¼äÊÇÎÞ·¨Ô¤ÆÚµÄ£¬ÍùÍùÊDZ¬·¢Ê½µÄ£¬ºÜÄÑÏßÐÔµØÈ¥Åжϡ£µ«ÊǶÔÓÚ¼¼ÊõÀ´½²£¬ÈçºÎÄܹ»²»ÍÏÒµÎñ±¬·¢µÄºóÍÈ£¬ÊÇÒ»¸ö¼¬ÊÖµÄÎÊÌâ¡£µ±ÒµÎñÓкܴóÁ÷Á¿µ¼ÈëµÄʱºò£¬ÎÒÃǵÄϵͳ²»Äܳػס£¬¹ÒÁË¡£

µÚÈý£º×ÊÔ´³É±¾Í¶Èë¡£ËùÓеĴ´ÐÂÏîÄ¿×ÊÔ´¶¼ÊÇÓÐÏ޵ģ¬Èç¹û×ÊÔ´ºÜ¶à£¬ÍùÍù¾ÍûÓÐÁË´´ÐµÄÍÁÈÀ¡£×ÊÔ´²»¶à¾Í±ØÐ뽫ÓÐÏÞµÄ×ÊÔ´ÓÃÔÚµ¶ÈÐÉÏ¡£

Ãæ¶ÔÕâÈýÏîÌôÕ½£¬ÎÒÃǵļ¼ÊõÍŶӱØÐë¾ß±¸ÈýÏî¼¼ÊõÄÜÁ¦£º

µÚÒ»£º¿ìËÙµü´ú£º²úÆ·Òª¿ìËÙ½»¸¶£¬¿ìËÙ²¿Êð¡£

µÚ¶þ£º¿ÉÀ©Õ¹£ºÏµÍ³Äܹ»Í¨¹ýºáÏòÀ©Õ¹µÄ·½Ê½£¬Ö§³Å¸ü´óµÄÁ÷Á¿¡£

µÚÈý£º¼¼ÊõÓа´ÐèµÄÄÜÁ¦£¬Ö»À©Õ¹Ó¦¸ÃÀ©Õ¹µÄÄ£¿é¡£

ÕâÈÃÎÒÃÇÕâ¸ö´´ÒµÍŶÓÏëÒª½èÖúÔÆµÄÁ¦Á¿£¬½èÖúÍøÒ×ÔÆÈÝÆ÷ƽ̨µÄÁ¦Á¿¡£

¶ÔÓÚÔÆÀ´½²£¬°´ÐèµÄÄÜÁ¦ÊÇÌìÈ»µÄ£¬ÔÚÍøÒ×ÔÆÉÏ£¬ÎÒÃÇÊǰ´Ð谴ʱ·ÖÅäµÄ£»¶ø¿ìËÙµü´úºÍ¿ÉÀ©Õ¹£¬ÊÇÔÆµÄDZÁ¦£¬Ê¹µÃÎÒÃDz»ÐèÒª²É¹º»úÆ÷£¬°²×°ÏµÍ³£¬²¿Êð»·¾³¡£

ÄÇÈýʰÖÚ³ïÈçºÎ²ÅÄÜ·¢»ÓÔÆµÄDZÁ¦£¬ÈçºÎÉè¼ÆÎÒÃǵÄϵͳ£¬Ê¹ÓÃʲôÑùµÄ¿ª·¢¹ý³Ì£¬²ÅÄÜÈÃÔÆÕæÕýµÄ°ïÖúÎÒÃǵÄÒµÎñ£¿

ÕâÀïÓÐÒ»¸öÖØÒªµÄ¸ÅÄ¾ÍÊÇ Cloud Native¡£Ö®Ç°ÓÐÈË·­ÒëÎªÔÆÔ­ÉúÓ¦Óã¬ÎÒ¾õµÃ±È½ÏÖ±°×£¬ÎÒÆðÁËÒ»¸öСÇåеÄÃû×Ö£¬½Ð×öÏòÔÆ¶øÉú¡£

Õâ±íʾÎÒÃǵÄÓ¦ÓÃÓ¦¸ÃÉè¼ÆÎªÃæÏòÔÆºÍÈÝÆ÷ƽ̨ȥӦÓõġ£

Éè¼ÆÄ¿±ê

ʹÓñê×¼»¯Á÷³Ì×Ô¶¯ÅäÖÃ(declarativeformats for setup automation)£¬´Ó¶øÊ¹ÐµĿª·¢Õß»¨·Ñ×îÉÙµÄѧϰ³É±¾¼ÓÈëÕâ¸öÏîÄ¿¡£

ºÍ²Ù×÷ϵͳ֮¼ä¾¡¿ÉÄܵػ®Çå½çÏÞ£¬ÔÚ¸÷¸öϵͳÖÐÌṩ×î´óµÄ¿ÉÒÆÖ²ÐÔ¡£

Êʺϲ¿ÊðÔÚÏÖ´úµÄÔÆ¼ÆËãÆ½Ì¨£¬´Ó¶øÔÚ·þÎñÆ÷ºÍϵͳ¹ÜÀí·½Ãæ½ÚÊ¡×ÊÔ´¡£

½«¿ª·¢»·¾³ºÍÉú²ú»·¾³µÄ²îÒì½µÖÁ×îµÍ£¬²¢Ê¹ÓóÖÐø½»¸¶ÊµÊ©Ãô½Ý¿ª·¢¡£

¿ÉÒÔÔÚ¹¤¾ß¡¢¼Ü¹¹ºÍ¿ª·¢Á÷³Ì²»·¢ÉúÃ÷ÏԱ仯µÄǰÌáÏÂʵÏÖÀ©Õ¹¡£

ÁíÍ⻹ÓÐ12Ô­Ôò

ÈýʰÖÚ³ï·Ç³£ÏàÐÅ12Ô­Ôò£¬°ÑÕû¸öϵͳ°´ÕÕ12Ô­Ôò½øÐÐÉè¼Æ¡£

12 Factors

I. Codebase-One codebase tracked in revision control, many deploys

II. Dependencies-Explicitly declare and isolate dependencies

III. Config-Store config in the environment

IV. Backing services-Treat backing services as attached resources

V. Build, release, run-Strictly separate build and run stages

VI. Processes-Execute the app as one or more stateless processes

VII. Port binding-Export services via port binding

VIII. Concurrency-Scale out via the process model

IX. Disposability-Maximize robustness with fast startup and graceful shutdown

X. Dev/prod parity-Keep development, staging, and production as similar as possible

XI. Logs-Treat logs as event streams

XII. Admin processes-Run admin/management tasks as one-off processes

ϵͳ¼Ü¹¹

ÈçͼÊÇÈýʰÖÚ³ïµÄϵͳ¸ÅÀÀ£¬Ò²ÊÇÎÒÃǵ±Ç°ÏµÍ³µÄ²¿Êð¼Ü¹¹

ÈýʰÖÚ³ïµÄ¼Ü¹¹²ÉÓõÄÊÇ·þÎñ»¯µÄ¼Ü¹¹£¬ÊÇÓÉһϵÁÐÏ໥ЭͬµÄ·þÎñ×é³ÉµÄ¡£·þÎñÖ®¼äÓÐЭ×÷µÄ¹ý³Ì£¬·þÎñ¶ÔÍâÒ²ÌṩÁËͳһµÄ½çÃæ¡£Ã¿Ò»¸ö·þÎñ±¾ÉíÓÐ×Ô¼ºµÄ´æ´¢£¬ÓÐ×Ô¼ºµÄ»º´æ¡£

ËùÓеķþÎñ·ÖÁ½¸öÇøÓò£¬Ò²¼´·þÎñ·ÖÁ½ÖÖÀàÐÍ¡£µÚÒ»ÊÇÓ¦ÓõķþÎñ£¬µÚ¶þÊÇ»ù´¡·þÎñ¡£

ÔÚÓ¦Ó÷þÎñÀïÃæ£¬¶ÔÍâÓÐÒ»¸öÖ÷Õ¾·þÎñ£¬Í¬Ê±³Ðµ£ÁË APIÍø¹ØµÄÖ°Ôð¡£Ëü»á°Ñǰ̨µÄÇëÇó·Ö·¢µ½ºǫ́£¬²¢ÇÒ¸ù¾Ý¹æÔò½øÐзÓÉ¡£

·þÎñÓë·þÎñÖ®¼ä¶¼ÊÇͨ¹ý Restful APIÒ²¼´ HTTPµÄ·½Ê½£¬·þÎñÖ®¼ä»áÓÐÃ÷È·µÄÒÀÀµ¹ØÏµ£¬¶øÇÒÒÀÀµ¹ØÏµµÄÇ¿ÈõÔÚÕâÀïÓÃʵÏߺÍÐéÏß×öÇø·Ö¡£Í¨¹ýÕâЩÒÀÀµ¹ØÏµÀ´¹¹³ÉºÍ±àÅÅÎÒÃǵķþÎñ¡£

ÎÒÃÇ×î³õÉÏÏߵį½Ì¨Ò²²»ÊÇÕâÑùµÄ£¬¶øÊÇÖ»ÓÐÒ»¸öÖÚ³ïÆ½Ì¨¡£ÊÇËæ×Ź¦Äܵķḻ£¬Ó¦¶Ô¸ü¿ìµÄ±ä»¯£¬¶øÖð½¥²ð·ÖµÄ£¬ÀýÈç¶ÔÓÚÖ§¸¶Ä£¿é£¬µ±ÎÒÃÇÐèÒª½ÓÈë¸ü¶àµÄÖ§¸¶·½Ê½£¬Õë¶ÔÖ§¸¶Óиü¶àµÄÓÅ»¯ÐèÇóµÄʱºò£¬ÎÒÃÇÐèÒª¶ÀÁ¢³öÒ»¸öÊÕÒøÌ¨µÄÄ£¿é£¬½øÐзþÎñ²ð·Ö¡£°üÀ¨»áÔ±£¬°üÀ¨¶©µ¥µÄ²¿·Ö¡£

ΪÁËÖ§³ÅÓ¦Ó÷þÎñµÄ»·¾³£¬ÎÒÃÇ»¹ÓÐһЩ»ù´¡ÉèÊ©·þÎñ¡£

±ÈÈç×¢²áÖÐÐÄ£¬·þÎñÖ®¼äÓÐ×Ô¶¯µÄ·þÎñ×¢²áÓë·þÎñ·¢ÏֵĻúÖÆ¡£ÎÒÃǵÄËùÓзþÎñÊÇͨ¹ý×¢²áÖÐÐĽøÐÐÏ໥¹ØÁªµÄ£¬²»ÐèÒªÈ˹¤µÄ±àÅÅ£¬ÊÇ¿ÉÒÔ×Ô¶¯µØ·¢ÏÖ·þÎñ¡£

ÎÒÃÇ¿ÉÒÔͨ¹ý·þÎñµÄ¿ØÖÆÌ¨È¥¹ÜÀí·þÎñ¡£ÎҵķþÎñ״̬ÊÇʲô£¬¶ÔÓ¦µÄ°æ±¾¾ÍÊÇʲô¡£

ÿ¸öÓ¦Óö¼Éæ¼°µ½Ò»Ð©ÅäÖòÎÊý£¬Èç¹ûÅäÖòÎÊýÈÓÔÚÿ¸ö·þÎñÉϵϰ£¬¶ÔÓÚÔËάÀ´Ëµ´ú¼Û¾Í±È½Ï¸ßÁË¡£¶ÔÓÚ΢·þÎñ¼Ü¹¹À´½²£¬±ØÈ»ÐèÒªÒ»¸ö¼¯Öл¯£¬¿É·Ö·¢µÄÅäÖÃÖÐÐÄ£¬Ò²ÊÇÔÚ»ù´¡·þÎñÖеġ£

ÎÒÃÇ»áʹÓà Git²Ö¿â×÷ΪÅäÖõĺó¶Ë£¬Í¨¹ýÅäÖÃÖÐÐÄÈ¥·Ö·¢ Git²Ö¿âÖеÄÅäÖã¬Í¬Ê±ºóÃæÎÒÃÇ»¹»áÌáµ½£¬ÓÐÒ»¸öÁ÷³ÌÀ´¹ÜÀíÕû¸ö¹ý³Ì¡£

ÔÚÕâ¸ö¼Ü¹¹ÀËùÓеÄ×é¼þ¶¼ÔÚÈÝÆ÷ÀïÃæ¡£Ã¿¸ö·þÎñ¹¹½¨µÄ½á¹û¾ÍÊǾµÏñ£¬ÔÚÔËÐÐÆÚ¾ÍÌåÏÖΪÈÝÆ÷¡£

ÕâÀïÃæµÄÿ¸ö·þÎñ¶¼Ê¹ÓõÄÊÇÍøÒ×ÔÆµÄÎÞ״̬·þÎñ£¬³ýÁ˹¹½¨·þÎñ¡£¹¹½¨·þÎñÊÇ´Ó´úÂë¹¹½¨Îª¾µÏñ£¬ÊÇÔÚÎÒÃÇ×Ô¼ºµÄ·þÎñÆ÷ÉÏÔËÐУ¬Ò²ÊÇÒ»¸öÈÝÆ÷¡£

Éè¼ÆÒªµã

½ÓÏÂÀ´ÎÒ·ÖÏíÒ»ÏÂÎÒÃÇÉè¼ÆÊ±µÄ¿¼ÂǼ°ÊµÏÖÒªµã£º

Ò»£®Cloud NativeµÄÉè¼Æ

1. ´ÓÉè¼Æ¿ªÊ¼£¬ÎÒÃǾ͸ôÀëÁË»ù´¡ÉèÊ©ºÍºó¶Ë·þÎñÒÀÀµ£¬Õâ¸ö¸ôÀëÒ»·½ÃæÊÇÓÉÈÝÆ÷À´×öµÄ£¬¸ôÀëÁËÓ¦ÓúͷþÎñÆ÷Ö®¼äµÄ¹ØÏµ¡£ÁíÒ»·½Ã棬ӦÓòãÎÒÃÇÓÃÁ˺ܶàµÄ¿ò¼Ü£¬ÀýÈçºóÃæÌáµ½µÄ springbootºÍ springcloud£¬ÎÒÃÇʹÓù«¹²µÄ¿ªÔ´¿ò¼ÜºÍ¹¤¾ß£¬°ÑÒ»Ð©ÃæÏò·þÎñ»¯£¬ÈÝÆ÷»¯µÄ»ù´¡¹¦ÄܽøÐÐʵÏÖ£¬¶ÔÓÚÓ¦Óñ¾Éí²»ÐèÒª¹ØÐÄÕâЩ¹ý³Ì£¬Ö»ÐèÒª¹Ø×¢Öмä²ã£¬¸ù¾Ý springµÄ¹æÔ¼À´½øÐпª·¢¡£

2. ´ÓÒ»¿ªÊ¼£¬¾Í°ÑÅäÖúʹúÂë½øÐзÖÀë¡£½«ÅäÖú;µÏñ½øÐзÖÀë¡£

3. ¶ÔÓÚ±àÅŵÄÎÊÌ⣬ͨ¹ý springcloudºÍ consul½øÐзþÎñ·¢ÏֵŦÄÜ£¬À´ÊµÏÖ·þÎñµÄ×Ô¶¯±àÅÅ¡£

4. ÎÒÃÇʵÏÖÁ˳ÖÐø¼¯³ÉºÍ³ÖÐø½»¸¶µÄ¿ª·¢¹ý³Ì£¬ÏÔʽµØ·ÖÀëÁ˹¹½¨£¬·¢²¼£¬ÔËÐеÄÕû¸ö¹ý³Ì¡£ÕâÒ²ÊǽñÌì·ÖÏíµÄÒ»¸öÖ÷Ìâ¡£

¶þ£¬ÈÝÆ÷»¯µÄʵ¼ù

1. ¹ã·ºÊ¹ÓÃÁËÈÝÆ÷£¬ÔÚÎÒÃÇ¿´À´£¬ÈÝÆ÷¾ÍÊÇ·þÎñ¡£µ±ÎÒÃÇʵÏÖÒ»¸öй¦ÄܵÄʱºò£¬Ê×ÏÈÒª¿¼ÂÇÐè²»ÐèÒªµ¥¶À²ð·ÖΪһ¸öеķþÎñ¡£

2. ͨ¹ýÌṩһÅú»ù´¡¾µÏñ£¬À´¼ò»¯·þÎñµÄ¿ª·¢£¬¿ÉÒÔ˵ÊÇÓ¦Óÿª·¢µÄÄ£°å

3. ʹÓÃÁËÍøÒ×ÔÆ»ù´¡Éèʩƽ̨£¬ÒòΪËû·Ç³£¿ª·Å£¬¼¼Êõµ¼Ïò£¬¶Ô³ÌÐòÔ±ÓѺá£ÌṩÁ˷ḻµÄ API£¬Í¨¹ýÕâЩ API¿ÉÒÔʵÏÖ×Ô¶¯»¯£¬ÊµÏÖ×Ô¶¯½»¸¶¡£ÁíÍâ·ä³²ÌṩÁ˺ܶà»ù´¡ PaaS·þÎñ£¬°üº¬Êý¾Ý¿â£¬»º´æ£¬CDN£¬¶ÔÏó´æ´¢£¬¸ºÔؾùºâµÈ£¬½µµÍ¹¹½¨·þÎñµÄÄѶȣ¬Ìá¸ß¿ª·¢Ð§ÂÊ¡£ÎÒÃǼ¸ºõÓÃÁËËùÓÐµÄ PaaS·þÎñ£¬Ê¹µÃÎÒÃDz»±Ø¹ý¶à¹ØÐÄÆ½Ì¨²ãÃæµÄ¶«Î÷¡£

Èý£¬Î¢·þÎñ»ù´¡ÉèÊ©

1. ·þÎñµÄ×¢²á£¬·¢Ïֺ͸ºÔؾùºâ»úÖÆ¡£Õâ¸ö»úÖÆÄ¿Ç°ÊÇͨ¹ý spring cloudÀ´×öµÄ¡£Spring cloudÊÇÒ»¸ö·Ç³£ÍêÕûµÄ΢·þÎñ¿ª·¢µÄ¿ò¼Ü£¬ËûµÄÖ÷Òª×÷ÓÃÊÇÔÚÓ¦ÓúÍÉèʩ֮¼äÌṩһ¸ö³éÏó²ã£¬ÈÃÎÒÃÇÓÃÒ»Ö嵀 APIȥʹÓò»Í¬µÄ·þÎñ·¢ÏÖ»úÖÆ£¬±ÈÈç»ùÓÚ Java¿ª·¢µÄ eureka£¬°üÀ¨ÎÒÃÇʹÓÃµÄ consul¡£

2. ÎÒÃÇʵÏÖÁËÅäÖÃÖÐÐÄ

3. ÎÒÃÇʵÏÖÁË·þÎñ¿ØÖÆÌ¨£¬¿ÉÒԲ鿴¸÷¸ö·þÎñµÄ״̬£¬ÒÔ¼°»ñÈ¡·þÎñ״̬±ä¸üµÄÏûϢ֪ͨ£¬»¹ÓжÔÓÚ·þÎñ¶Ëµã Endpoint±¾Éí½øÐйÜÀí¡£¶ÔÓÚ΢·þÎñ¼Ü¹¹À´Ëµ£¬Ã¿Ò»¸ö·þÎñµÄ¶Ëµã EndpointÓ¦¸Ã¸ü¼ÓÖÇÄÜ£¬ÕâÊÇºÍ SOAµÄÇø±ð¡£ÎÒÃÇÒ²ÊÇÕâÑùµÄ£¬¶ÔÓÚÿһ¸ö·þÎñ£¬ÎÒÃǽèÖú springcloudÌṩµÄһϵÁйÜÀí¶Ë¿Ú£¬ÎÒÃǵķþÎñ¿ØÖÆÌ¨¿ÉÒÔͨ¹ýÕâЩ¹ÜÀí¶Ë¿ÚÈ¥¿ØÖÆËü£¬°üÀ¨È¥²é¿´ºÍÐÞ¸Äijһ¸ö·þÎñ½ÚµãµÄÅäÖ㬲鿴ij¸ö½ÚµãµÄÈÕÖ¾£¬Õâ¶¼ÊÇ¿ÉÒÔͨ¹ý·þÎñ¿ØÖÆÌ¨È¥ÊµÏֵġ£

4. ³ÖÐø½»¸¶µÄ¹ý³Ì

ºóÃæ»áÏêϸÃèÊöЭ×÷Á÷³ÌºÍ×Ô¶¯»¯½»¸¶µÄ»úÖÆ¡£

½ÓÏÂÀ´ÁгöµÄÊÇÎÒÃÇʹÓõļ¼ÊõÇåµ¥

·ä³²

¡¤¼¯ÈººÍÈÝÆ÷¡¢¾µÏñ²Ö¿â

¡¤RDS¡¢»º´æ

¡¤¸ºÔؾùºâ¡¢¶ÔÏó´æ´¢

·þÎñÄ£°å

¡¤consul

¡¤spring boot/cloud

¡¤Rest RPC: spring mvc, feign, ribbon£¬£¨¿Í»§¶ËµÄ¸ºÔؾùºâ£©

¡¤nginx (Íⲿ HTTPÇëÇóµÄת·¢), consul-template (ÅäÖúÍÅäÖÃÖÐÐÄ´òͨ)

¡¤dumb-init (DockerÀïÃæÔËÐзþÎñµÄ¹¤¾ß)

³ÖÐø¼¯³É

¡¤Gitlab-CE (˽ÓдúÂë²Ö¿â£¬Ð­×÷Á÷³ÌºÍÅäÖùÜÀíµÄÈë¿Ú)

¡¤docker¡¢maven

¡¤flyway, junit, h2, mockito, spring test (³ÖÐø¼¯³ÉµÄ¹Ø¼üµãÊÇ×Ô¶¯»¯µÄÑéÖ¤)

¾µÏñ¹¹½¨

ΪÁ˾¡Á¿½µµÍ·þÎñ±¾ÉíºÍ»ù´¡Éèʩ֮¼äµÄ¹ØÁª£¬ÔÚ¹¹½¨»ù´¡¾µÏñµÄʱºò£¬·Ö³É¼¸¸ö²ã´ÎÈ¥¿¼ÂÇ¡£

µÚÒ»£¬×îÀïÃæµÄÒ»²ã£¬ÊÇ OSºÍϵͳ¹¤¾ßµÄÒ»²ã£¬ÎÒÃÇÊÇ»ùÓÚ Debianϵͳ½øÐй¹½¨µÄ¡£

µÚ¶þ£¬Ó¦Óû·¾³µÄ²¿·ÖÊǺÍÓ¦Ó÷ÖÀ뿪À´µÄ£¬°üÀ¨ JDK£¬consul·þÎñ·¢ÏֵĻúÖÆµÈ£¬ÕâÀïÓиöС¹¤¾ß dumb-init£¬¿ÉÒÔÔÚÒ»¸ö DockerÀïÃæÊµÏÖ¶à½ø³Ì¡£Èç¹ûÔÚ DockerÀïÃæÊ¹ÓÃ¶à½ø³Ì»áÓÐÒ»¸ö±È½Ï´óµÄ¿Ó£ºÈç¹ûij¸ö½ø³ÌËÀµô£¬ËûµÄ×Ó½ø³Ì¾Í»á±ä³É½©Ê¬½ø³Ì£¬Ã»Óа취Êջأ¬µ¼ÖÂÎÒÃÇ¹Ø±Õ DockerÈÝÆ÷µÄʱºòÊÇÐèÒªÇ¿ÖÆÉ±µôµÄ¡£Õâ¶ÔÓÚ³ÌÐòÐèÒªÓÅÑŹػúÀ´ËµÊǺÜÓÐÎÊÌâµÄ£¬Dumb-init¿ÉÒÔ½â¾öÕâ¸öÎÊÌ⣬ÁíÍâ dumb-init»¹¿ÉÒÔʵÏÖÐźŵÄÖØÐ´¡£±ÈÈçÓÐЩӦÓÃÊÇÐèÒª½ÓÊÕһЩÐźţ¬±ÈÈç ctrl+C²ÅÄܽáÊøµÄ£¬ÎªÁËÏìÓ¦ SIGINTÐźţ¬¿ÉÒÔͨ¹ý dumb-init½øÐÐת·¢¡£

µÚÈý£¬ÔÚÓ¦ÓòãµÄ Dockerfile»á·Ç³£¼òµ¥£¬Ñ¡ÔñÒ»¸öÕýÈ·µÄ»ù´¡¾µÏñ£¬È»ºó°Ñ°ü´ò½øÈ¥¾Í¿ÉÒÔÁË¡£

»ùÓÚ Gitflow´úÂë¹ÜÀíºÍЭ×÷Á÷³Ì

GitflowÊÇÒ»¸ö´úÂë¹ÜÀíµÄÁ÷³Ì£¬ÎÒÃÇ»ùÓÚËüʵÏÖÁËÒ»¸öЭ×÷µÄÁ÷³Ì¡£Õâ¸öЭ×÷µÄÁ÷³ÌÌåÏÖÔÚÎÒÃÇÈçºÎÈ¥·¢²¼ÎÒÃǵÄа汾£¬Èç¹ûÐÞ¸ÄÏßÉ쵀 Bug£¬Èç¹û½øÐпª·¢£¬Ôõô¼¯³É²âÊÔ£¬×îÖØÒªµÄÊÇÔõôȥÑéÖ¤£¬Ñé֤ʲô¶«Î÷¡£Õû¸ö¹ý³Ì¶¼ÐèÒª×Ô¶¯»¯£¬ÇÒ¶¼ÊÇͨ¹ý gitlab-ceÌṩµÄ½çÃæ¡£×îÖØÒªµÄÁ½¸ö½çÃæÊÇ Merge RequestºÍ×Ô¶¯»¯ PipelineÀ´×öµÄ¡£

ËùÓеÄÎÊÌâÐ޸ģ¬ËùÓеÄÌá²â£¬¶¼ÊÇͨ¹ý gitlab-ceµÄ Merge Request½çÃæ½øÐвÙ×÷µÄ¡£Ò»µ© Merge Request½ÓÊÜÖ®ºó£¬¶¼»áÓÐÒ»¸ö¸úÔÚºóÃæµÄ Pipeline£¬Ò»¸ö³ÖÐø¼¯³É»òÕß³ÖÐø·¢²¼µÄÈÎÎñÀ´Íê³ÉºóÐø¹¤×÷£¬ÕâЩºóÐø¹¤×÷¾ÍÊÇÎÒÃǽ»¸¶µÄÁ÷³Ì¡£

ÎÒÃÇʹÓ÷䳲µÄÁ½¸ö»·¾³£¬À´×÷Ϊ¿ª·¢ºÍ²âÊÔ»·¾³ÒÔ¼°ÏßÉÏ»·¾³¡£¶ÔÓÚÌØ¶¨µÄ»·¾³£¬ÎÒÃÇ×Ô¶¯¹¹½¨ºÍ·¢²¼Ö®ºó£¬»á×Ô¶¯µØ½øÐв¿Ê𣬶ÔÓÚ¿ª·¢ÈËÔ±£¬QAÈËÔ±£¬ÉõÖÁÏßÉÏÔ¤·¢»·¾³µÄÔËάÈËÔ±À´Ëµ£¬ËûÃÇÖ»ÐèÒªÔÚ GitlabÀïÃæ²Ù×÷ÍêÁË£¬ÏàÓ¦µÄ°æ±¾¾Í¹¹½¨ÉÏÈ¥ÁË£¬ÕâЩ°æ±¾¶¼»áÔÚ¾µÏñ²Ö¿âÖУ¬»á¶ÔÓ¦ÎÒÃǵķÖÖ§£¬»áÓжÀÁ¢µÄ°æ±¾¡£ÎÒÃÇ»¹¿ÉÒÔ°´ÐèÈ¥²¿Êð¸ü¶àµÄ»·¾³£¬È¥½øÐмìÑ飬±ÈÈçÏßÉϵÄÀ©Õ¹ÑéÖ¤¡£

ÈçͼËùʾ£¬×óÉϽÇΪÌá½»µÄ Merge Request£¬ÓÒÃæÎª Merge RequestµÄÏêÇ飬Èç¹ûµã»÷ Accept Merge Request¾Í»á´¥·¢×óÏÂ½ÇµÄ Pipeline½øÐÐÕû¸Ä·¢²¼Á÷³Ì¡£

Õû¸ö½»¸¶Á÷³ÌÈçͼËùʾ£º

1. ¿ª·¢ÓÐÒ»¸öÖ÷·ÖÖ§³ÆÎª develop£¬µ«ÊÇËùÓй¦ÄܵĿª·¢¶¼²»ÔÚ developÉÏ¿ª·¢£¬¶øÊÇпª·ÖÖ§½øÐпª·¢£¬¿ÉÒÔ¸ù¾Ý·¢²¼µÄʱ¼äµãÈ·¶¨Ä³¸ö¹¦ÄÜÊDz»ÊÇÒªÉÏÏߣ¬ÀýÈçͼÖÐÔÚÕâÒ»°æÖУ¬feature x, y¿ÉÒÔÉÏÏߣ¬ÓÚÊÇ Mergeµ½ develop·ÖÖ§£¬¶ø feature z¸Ï²»ÉÏÕâÒ»°æ£¬»áÔÚÒÔºóµÄ°æ±¾ÉÏÏߣ¬ËùÒÔÔÝÇÒ²» Mergeµ½ develop·ÖÖ§¡£

2. Feature x,yºÏ²¢ develop·ÖÖ§ÐèÒª¾­¹ý Code Review£¬Ò»µ©ºÏ²¢ºó£¬»á´¥·¢×Ô¶¯¹¹½¨¾µÏñµÄ Pipeline£¬È»ºó×Ô¶¯²¿Êð develop»·¾³¡£¿ª·¢ÐèÒªÔÚÕâ¸ö»·¾³ÀïÃæ×ö¼¯³ÉºÍ»ù±¾µÄ²âÊÔ£¬°üº¬µ¥Ôª²âÊÔºÍðÑ̲âÊÔ£¬µ±¼¯³ÉºÍ»ù±¾µÄ²âÊÔÓöµ½È±ÏݵÄʱºò£¬ÐèÒª»Øµ½ featureËùÔڵķÖÖ§½øÐÐȱÏÝÐÞ¸´£¬ÐÞ¸´ºóÖØÐ Mergeµ½ develop£¬´Ó¶øÖØÐ²¿Êð develop»·¾³¡£µ±¿ª·¢ÈÎÎñ´úÂëÖÊÁ¿¿ÉÒÔ´ïµ½µÄʱºò£¬·½²ÅÌá²âµ½ QA¡£

3. ÓÐÒ»¸ö Release·ÖÖ§ÓÃÓÚ×ö²âÊÔÑéÖ¤£¬Ìá²âµÄ·¢ÆðÊÇÓÉ develop·ÖÖ§ Mergeµ½ release°æ±¾ÊµÏֵġ£Ã¿´Î×ö releaseµÄʱºò£¬Ê×ÏÈ»á´Ó Master·Ö³öÒ»¸ö°æ±¾µ½ release£¬Master·ÖÖ§µÄ°æ±¾Êǵ±Ç°µÄÏßÉϰ汾£¬Ôò Develop Mergeµ½ release£¬ÆäʵÊǺÍÏßÉϰ汾µÄÒ»¸öºÏ²¢£¬±£Ö¤µ±Ç°µÄ¿ª·¢°æ±¾ºÍÏßÉϰ汾¿ÉÒÔ¼æÈÝ¡£Õâ´Î Merge»á´¥·¢ Pipeline¹¹½¨¾µÏñ£¬²¢ÇÒ×Ô¶¯·¢²¼ release»·¾³£¬ QA¿ÉÒÔ¶ÔÕâ¸ö»·¾³½øÐÐ×Ô¶¯»¯²âÊÔ£¬»òÕßÊÖ¹¤²âÊÔ£¬±£Ö¤´úÂë¿ÉÒÔ´ïµ½·¢²¼µÄÖÊÁ¿¡£Èç¹û²âÊÔ³öÏÖȱÏÝ£¬ÔòÐèÒª»Øµ½ featureËùÔڵķÖÖ§½øÐÐȱÏÝÐÞ¸´£¬ÐÞ¸´ºóÖØÐ Mergeµ½ develop£¬´Ó¶øÖØÐ²¿Êð develop»·¾³£¬ÔÚ develop»·¾³²âÊÔÍê±Ïºó£¬ÔÙ´Î Mergeµ½ release£¬È»ºó QAÔÙ²âÊÔ£¬Èç´Ë·´¸´£¬Ö±µ½¿ÉÒÔ´ïµ½ÉÏÏß±ê×¼¡£

4. Ò»¸ö release·ÖÖ§¿ÉÒÔ´ïµ½ÉÏÏß±ê×¼£¬Ôò½« release·ÖÖ§ºÏ²¢»Ø master·ÖÖ§£¬Õâ´Î Merge»á´¥·¢ Pipeline×Ô¶¯¹¹½¨¾µÏñ£¬×Ô¶¯²¿ÊðÔ¤·¢»·¾³¡£ÏßÉÏÔËάÈËÔ±¿ÉÒÔ¶ÔÔ¤·¢»·¾³½øÐвâÊÔ¡£

5. Èç¹ûÔ¤·¢»·¾³Ã»ÓÐÎÊÌ⣬ÏßÉÏÔËάÈËÔ±¿ÉÒÔ´Ó¾µÏñÊÖ¹¤²¿ÊðÁ½Ì×ÏßÉÏ»·¾³ÖеÄÒ»Ì×£¬ÈçͼÖÐ Online AºÍ Online B£¬×ö»Ò¶È·¢²¼£¬ÐÂÀϰ汾ÏȸüÐÂÆäÖÐÒ»Ì×»·¾³£¬È»ºóǰ¶Ëͨ¹ý¸ºÔؾùºâÆ÷½«ÇëÇ󲻶ϵĴÓÀϰ滷¾³Çл»µ½Ð°滷¾³¡£

6. Èç¹ûÐèÒªÐÔÄܲâÊÔ£¬ÐÔÄܲâÊÔÈËÔ±¿ÉÒÔÊÖ¹¤´Ó¾µÏñ²¿ÊðÒ»Ì×ÐÔÄܲâÊÔ»·¾³½øÐвâÊÔ¡£

7. Èç¹ûÏßÉÏ·¢ÏÖȱÏÝ£¬ÔòÐèÒª´Ó MasterÉÏ·Ö³öÒ»¸ö·ÖÖ§µ½ hotfix£¬hotfixÐÞ¸´Íê±Ï½øÐвâÊÔºóÐèÒªºÏ²¢µ½ Master·ÖÖ§£¬Í¬Ê±ÐèÒªºÏ²¢´úÂëµ½ develop·ÖÖ§¡£

ÅäÖùÜÀí

ÈçͼÊÇÒ»¸öÅäÖùÜÀíµÄÁ÷³Ì¡£

ËùÓеÄÅäÖÃÎļþ¶¼·ÅÔÚ´úÂë²Ö¿â GitlabÀïÃæ£¬½øÐдúÂë¼¶±ðµÄ¹ÜÀí¡£

±à¼­ÅäÖÃÎļþ app.propertiesºÍ app-A.properties£¬È»ºóÌá½»£¬Í¨¹ý Merge RequestÌá½»µ½ GitlabÀïÃæ¡£

ÔÚ Gitlab½çÃæÀïÃæ£¬µã»÷ accept½øÐдúÂëºÏ²¢£¬ºÏ²¢ºó´¥·¢ webhook£¬µ÷ÓÃÅäÖÃÖÐÐÄ¡£

Git2Consul´Ó GitlibÖÐ pullËùÓеÄÅäÖÃÎļþ£¬²¢ÇÒ½«ÅäÖÃÎļþµÄÄÚÈÝͨ¹ý consulµÄ¿Í»§¶Ëͬ²½µ½ consulÖС£

Profile=AµÄ appºÍ Profile=BµÄ appͨ¹ý consulµÄ¿Í»§¶Ë½«ÅäÖÃ´Ó consulÖÐÅäÖõ½·þÎñÖУ¬Íê³ÉÅäÖõĹÜÀí¡£

×ܽá

×îºó×ܽáһϾÍÊÇ£º

Ê×ÏÈ£¬×î´ó»¯ÀûÓÿªÔ´¹¤¾ßºÍÔÆ¶Ë¼¼Êõ½¨Á¢Î¢·þÎñºÍÃô½Ý»ù´¡ÉèÊ©£¬¹¹½¨ Cloud Native Ó¦Ó㬳ä·ÖÊÍ·ÅÔÆµÄDZÁ¦¡£

Æä´Î£¬»ùÓÚÈÝÆ÷¼¼Êõ×Ô¶¯»¯¹¹½¨¡¢·¢²¼ºÍÅäÖÃÁ÷³Ì£¬¸Ä½øÃô½Ý½»¸¶»·¾³ºÍ²úÆ·¿ìËÙµü´úÄÜÁ¦£¬¼°Ê±ÓÐÁ¦Ö§³ÅÒµÎñ¡£Ä¿Ç°ÈýʰÖÚ³ï»ùÓÚÍøÒ׷䳲ƽ̨£¬´ÓÐÂϵͳÉè¼Æµ½ÉÏÏß½öÐè1 ~ 3ÖÜ£»

×îºó£¬Í¨¹ýʵ¼ù´òÄ¥µÄ·½°¸²ÅÄÜÊʺÏ×Ô¼º£¬¿ª·ÅÐÔÊÇÑ¡ÔñÔÆÆ½Ì¨¹Ø¼üÆÀ¹ÀÒòËØ

   
2656 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ΪʲôҪ×ö³ÖÐø²¿Êð£¿
ÆÊÎö¡°³ÖÐø½»¸¶¡±£ºÎå¸öºËÐÄʵ¼ù
¼¯³ÉÓë¹¹½¨Ö¸ÄÏ
³ÖÐø¼¯³É¹¤¾ßµÄÑ¡Ôñ-×°ÔØ
Ïà¹ØÎĵµ

³ÖÐø¼¯³É½éÉÜ
ʹÓÃHudson³ÖÐø¼¯³É
³ÖÐø¼¯³ÉÖ®-ÒÀÀµ¹ÜÀí
IPD¼¯³É²úÆ·¿ª·¢¹ÜÀí
Ïà¹Ø¿Î³Ì

ÅäÖùÜÀí¡¢ÈÕ¹¹½¨Óë³ÖÐø¼¯³É
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
»ùÓÚAndroidµÄµ¥Ôª¡¢ÐÔÄܲâÊÔ