1. ±³¾°ÓëÌôÕ½
Ëæ×Ź«Ë¾¹ú¼Ê»¯Õ½ÂÔµÄÍÆÐÐÒÔ¼°±¾ÍÁÒµÎñµÄ¸ßËÙ·¢Õ¹£¬ºǫ֧́³ÅϵͳÒѾ²»¿°Öظº¡£ÔÚÍÌÍÂÁ¿¡¢Îȶ¨ÐÔÒÔ¼°¿ÉÀ©Õ¹ÐÔÉ϶¼ÎÞ·¨Âú×ãÈÕÒæÔö³¤µÄÒµÎñÐèÇó¡£¶ÔÓÚÿ10ÍòÔª¶î¶ÈµÄºÏͬ£¬´ÓÏúÊÛÍŶÓ×¼±¸²ÄÁÏ¡¢Óë¿Í»§Ç©µ¥¡¢µÝ½»¸øºÏͬ²¿ÃÅ£¬ÔÙµ½ºÏͬÉúЧ´ó¸ÅÐèÒª3.5ÈËÌì¡£Ëæ×ÅÒµÎñÁ¿µÄ¿ìËÙÔö³¤£¬Ç©¶©ºÏͬµÄ³É±¾¼±¾çÔö¼Ó¡£
ºÏͬ¹ÜÀíϵͳÊǺǫ֧́³ÅϵͳÖÐÖØÒªµÄÒ»²¿·Ö¡£µ±Ç°µÄºÏͬϵͳÊÇ5ÄêǰʹÓÃ.NET»ùÓÚSAGE
CRM¶þ´Î¿ª·¢µÄ²úÆ·¡£ Ò»·½Ã棬ϵͳ¼Ü¹¹¹ýÓڳ¾ɣ¬ÐÔÄÜ¡¢¿É¿¿ÐÔÎÞ·¨Âú×ãÏÖÓеÄÐèÇó¡£ÁíÒ»·½Ã棬¹¦ÄÜ·±ÔÓ£¬½á¹¹»ìÂÒ£¬¶¨ÖƵĴúÂëÓëSAGE
CRMϵͳñîºÏ¶È¼«¸ß¡£ÓÉÓÚÊÇÒÅÁôϵͳ£¬ÊìϤ¸Ã´úÂëµÄÈËÔçÒÑÀëÖ°¶àʱ£¬ÐÂÍÅ¶Ó¶ÔÆäÍû¶øÈ´²½£¬Ö»ÄÜ×öЩÖܱߵÄÐÞ²¹¹¤×÷¡£Í¬Ê±£¬»¹Òª³Ðµ£×ű߲¹²âÊÔ£¬±ßÕûÀíÂß¼µÄ¹¤×÷¡£

ÔÚÎÞ·¨ÖжÏÒµÎñ´¦ÀíµÄÇé¿öÏ£¬ÎªÁ˽â¾öµ±Ç°ÃæÁÙµÄÎÊÌ⣬ÍŶÓÖÆ¶¨ÁËÈçϵIJßÂÔ£º
1). ÔÚÏÖÓкÏͬ¹ÜÀíϵͳµÄÍâΧ£¬¹¹½¨¹¦ÄÜ·þÎñ½Ó¿Ú£¬½«ÏµÍ³ºËÐĵŦÄÜ·ÖÀë³öÀ´¡£
2). ÀûÓÃÕâЩ¹¦ÄÜ·þÎñ½Ó¿Ú×÷Ϊ´úÀí£¬½âñîÔºÏͬϵͳÓëÆäµ÷ÓÃÕßÖ®¼äµÄÒÀÀµ£»
3). ͨ¹ý²»¶Ï¹¹½¨¹¦ÄÜ·þÎñ½Ó¿Ú£¬Öð½¥½«ÔÓÐϵͳ·Ö½â³É¶à¸ö¶ÀÁ¢µÄ·þÎñ¡£
4). ÞðÆúÔÓеĺÏͬ¹ÜÀíϵͳ£¬Ê¹ÓÃȫй¹½¨µÄ(΢)·þÎñ½Ó¿ÚÌæ´ú¡£
2. ʲôÊÇ΢·þÎñ
¶àÄêÀ´£¬ÎÒÃÇÒ»Ö±ÔÚ¼¼ÊõµÄÀ˳±Öв»¶Ï³Ë·çÆÆÀË£¬Ñï·«·Ü½ø£¬Ñ°ÕÒ¸üºÃµÄ·½Ê½¹¹½¨ITϵͳ¡£Î¢·þÎñ¼Ü¹¹(Micro
Service Architect)ÊǽüÒ»¶Îʱ¼äÔÚÈí¼þÌåϵ¼Ü¹¹ÁìÓòÀï³öÏÖµÄÒ»¸öÐÂÃû´Ê¡£Ëüͨ¹ý½«¹¦Äֽܷ⵽¶à¸ö¶ÀÁ¢µÄ·þÎñ£¬ÒÔʵÏÖ¶Ô½â¾ö·½°¸»òÕ߸´ÔÓϵͳµÄ½âñî¡£
΢·þÎñµÄµ®Éú²¢·ÇżȻ: ÁìÓòÇý¶¯Éè¼ÆÖ¸µ¼ÎÒÃÇÈçºÎ·ÖÎö²¢Ä£ÐÍ»¯¸´ÔÓµÄÒµÎñ£»Ãô½Ý·½·¨ÂÛ°ïÖúÎÒÃÇÏû³ýÀË·Ñ£¬¿ìËÙ·´À¡£»³ÖÐø½»¸¶´ÙʹÎÒÃǹ¹½¨¸ü¿ì¡¢¸ü¿É¿¿¡¢¸üƵ·±µÄÈí¼þ²¿ÊðºÍ½»¸¶ÄÜÁ¦£»ÐéÄ⻯ºÍ»ù´¡ÉèÊ©×Ô¶¯»¯(
Infrastructure As Code)Ôò°ïÖúÎÒÃǼò»¯»·¾³µÄ´´½¨¡¢°²×°£»DevOpsÎÄ»¯µÄÁ÷ÐÐÒÔ¼°ÌØÐÔÍŶӵijöÏÖ£¬Ê¹µÃСÍŶӸü¼ÓÈ«¹¦ÄÜ»¯¡£ÕâЩ¶¼ÊÇÍÆ¶¯Î¢·þÎñµ®ÉúµÄÖØÒªÒòËØ¡£
ʵ¼ÊÉÏ£¬Î¢·þÎñ±¾Éí²¢Ã»ÓÐÒ»¸öÑϸñµÄ¶¨Òå¡£²»¹ý´ÓÒµ½çµÄÌÖÂÛÀ´¿´£¬Î¢·þÎñͨ³£ÓÐÈçϼ¸¸öÌØÕ÷:
С£¬ÇÒרעÓÚ×öÒ»¼þÊÂÇé
ÿ¸ö·þÎñ¶¼ÊǺÜСµÄÓ¦Óã¬ÖÁÓÚÓжàС£¬ÊÇÒ»¸ö·Ç³£ÓÐȤµÄ»°Ìâ¡£ÓÐÈËϲ»¶100ÐÐÒÔÄÚ£¬ÓÐÈËÔÞ³É1000ÐÐÒÔÄÚ¡£Êý×Ö²¢²»ÊÇ×îÖØÒªµÄ¡£ÈÊÕß¼ûÈÊ£¬ÖÇÕß¼ûÖÇ£¬Ö»ÒªÍŶӾõµÃºÏÊʾͺá£Ö»¹Ø×¢Ò»¸öÒµÎñ¹¦ÄÜ£¬ÕâÒ»µãºÍÎÒÃÇÆ½³£Ì¸ÂÛµÄÃæÏò¶ÔÏóÔÔòÖеġ±µ¥Ò»Ö°ÔðÔÔò¡±ÀàËÆ£¬Ã¿¸ö·þÎñÖ»×öÒ»¼þÊÂÇ飬²¢ÇÒ°ÑËü×öºÃ¡£
ÔËÐÐÔÚ¶ÀÁ¢µÄ½ø³ÌÖÐ
ÿ¸ö·þÎñ¶¼ÔËÐÐÔÚÒ»¸ö¶ÀÁ¢µÄ²Ù×÷ϵͳ½ø³ÌÖУ¬ÕâÒâζ×Ų»Í¬µÄ·þÎñÄܱ»²¿Êðµ½²»Í¬µÄÖ÷»úÉÏ¡£
ÇáÁ¿¼¶µÄͨÐÅ»úÖÆ
·þÎñºÍ·þÎñÖ®¼äͨ¹ýÇáÁ¿¼¶µÄ»úÖÆÊµÏֱ˴˼äµÄͨÐÅ¡£ËùνÇáÁ¿¼¶Í¨ÐÅ»úÖÆ£¬Í¨³£Ö¸»ùÓÚÓïÑÔÎ޹ء¢Æ½Ì¨Î޹صÄÕâÀàÐÒ飬ÀýÈçXML¡¢JSON£¬¶ø²»ÊÇ´«Í³ÎÒÃÇÊìÖªµÄJava
RMI»òÕß.Net RemotingµÈ¡£
ËÉñîºÏ
²»ÐèÒª¸Ä±äÒÀÀµ£¬Ö»¸ü¸Äµ±Ç°·þÎñ±¾Éí£¬¾Í¿ÉÒÔ¶ÀÁ¢²¿Êð¡£ÕâÒâζן÷þÎñºÍÆäËû·þÎñÖ®¼äÔÚ²¿ÊðºÍÔËÐÐÉϳÊÏÖÏ໥¶ÀÁ¢µÄ״̬¡£
×ÛÉÏËùÊö£¬Î¢·þÎñ¼Ü¹¹²ÉÓöà¸ö·þÎñ¼ä»¥ÏàÐ×÷µÄ·½Ê½¹¹½¨´«Í³Ó¦Óá£Ã¿¸ö·þÎñ¶ÀÁ¢ÔËÐÐÔÚ²»Í¬µÄ½ø³ÌÖУ¬·þÎñÓë·þÎñÖ®¼äͨ¹ýÇáÁ¿µÄͨѶ»úÖÆ½»»¥£¬²¢ÇÒÿ¸ö·þÎñ¿ÉÒÔͨ¹ý×Ô¶¯»¯²¿Êð·½Ê½¶ÀÁ¢²¿Êð¡£
3.΢·þÎñµÄÓÅÊÆ
Ïà±È´«Í³µÄµ¥¿é¼Ü¹¹ÏµÍ³(monolithic)£¬Î¢·þÎñÔÚÈçÏÂÖî¶à·½ÃæÓÐ×ÅÏÔÖøµÄÓÅÊÆ£º
Òì¹¹ÐÔ
ÎÊÌâÓÐÆä¾ßÌåÐÔ£¬½â¾ö·½°¸Ò²Ó¦ÓÐÆäÕë¶ÔÐÔ¡£ÓÃ×îÊʺϵļ¼Êõ·½°¸È¥½â¾ö¾ßÌåµÄÎÊÌ⣬ÍùÍù»áʰ빦±¶¡£´«Í³µÄµ¥¿é¼Ü¹¹ÏµÍ³ÇãÏò²ÉÓÃͳһµÄ¼¼Êõƽ̨»ò·½°¸À´½â¾öËùÓÐÎÊÌâ¡£¶øÎ¢·þÎñµÄÒì¹¹ÐÔ£¬¿ÉÒÔÕë¶Ô²»Í¬µÄÒµÎñÌØÕ÷Ñ¡Ôñ²»Í¬µÄ¼¼Êõ·½°¸£¬ÓÐÕë¶ÔÐԵĽâ¾ö¾ßÌåµÄÒµÎñÎÊÌâ¡£
¶ÔÓÚµ¥¿é¼Ü¹¹µÄϵͳ£¬³õʼµÄ¼¼ÊõÑ¡ÐÍÑÏÖØÏÞÖÆ½«À´²ÉÓò»Í¬ÓïÑÔ»ò¿ò¼ÜµÄÄÜÁ¦¡£Èç¹ûÏë³¢ÊÔеıà³ÌÓïÑÔ»òÕß¿ò¼Ü£¬Ã»ÓÐÍ걸µÄ¹¦ÄܲâÊÔ¼¯£¬ºÜÄÑÆ½»¬µÄÍê³ÉÌæ»»£¬¶øÇÒϵͳ¹æÄ£Ô½´ó£¬·çÏÕÔ½¸ß¡£»ùÓÚ΢·þÎñ¼Ü¹¹£¬Ê¹ÎÒÃǸüÈÝÒ×ÔÚÒÅÁôϵͳÉϳ¢ÊÔеļ¼Êõ»ò½â¾ö·½°¸¡£Æ©Èç˵£¬¿ÉÒÔÏÈÌôÑ¡·çÏÕ×îСµÄ·þÎñ×÷Ϊ³¢ÊÔ£¬¿ìËٵõ½·´À¡ºóÔÙ¾ö¶¨ÊÇ·ñÊÔÓÃÓÚÆäËû·þÎñ¡£ÕâÒ²Òâζ×Å£¬¼´±ã¶ÔÒ»Ïîм¼ÊõµÄ³¢ÊÔʧ°Ü£¬Ò²¿ÉÒÔÅׯúÕâ¸ö·½°¸£¬²¢²»»á¶ÔÕû¸ö²úÆ·´øÀ´·çÏÕ¡£

¶ÀÁ¢²âÊÔÓ벿Êð
µ¥¿é¼Ü¹¹ÏµÍ³ÔËÐÐÔÚÒ»¸ö½ø³ÌÖУ¬Òò´ËϵͳÖÐÈκγÌÐòµÄ¸Ä±ä£¬¶¼ÐèÒª¶ÔÕû¸öÏµÍ³ÖØÐ²âÊÔ²¢²¿Êð¡£ ¶ø¶ÔÓÚ΢·þÎñ¼Ü¹¹¶øÑÔ£¬²»Í¬·þÎñÖ®¼äµÄ´ò°ü¡¢²âÊÔ»òÕß²¿ÊðµÈ£¬ÓëÆäËü·þÎñ¶¼ÊÇÍêÈ«¶ÀÁ¢µÄ¡£¶Ôij¸ö·þÎñËù×öµÄ¸Ä¶¯£¬Ö»ÐèÒª¹Ø×¢¸Ã·þÎñ±¾Éí¡£´ÓÕâ¸ö½Ç¶ÈÀ´Ëµ£¬Ê¹ÓÃ΢·þÎñºó£¬´úÂëÐ޸ġ¢²âÊÔ¡¢´ò°üÒÔ¼°²¿ÊðµÄ³É±¾ºÍ·çÏÕ¶¼±Èµ¥¿é¼Ü¹¹ÏµÍ³½µµÍºÜ¶à¡£
°´ÐèÉìËõ
µ¥¿é¼Ü¹¹ÏµÍ³ÓÉÓÚµ¥½ø³ÌµÄ¾ÖÏÞÐÔ£¬Ë®Æ½À©Õ¹Ê±Ö»ÄÜ»ùÓÚÕû¸öϵͳ½øÐÐÀ©Õ¹£¬ÎÞ·¨Õë¶Ôijһ¸ö¹¦ÄÜÄ£¿é°´ÐèÀ©Õ¹¡£
¶ø·þÎñ¼Ü¹¹Ôò¿ÉÒÔÍêÃÀµØ½â¾öÉìËõÐÔµÄÀ©Õ¹ÎÊÌ⡣ϵͳ¿ÉÒÔ¸ù¾ÝÐèÒª£¬ÊµÊ©Ï¸Á£¶ÈµÄ×ÔÓÉÀ©Õ¹¡£
´íÎó¸ôÀëÐÔ
΢·þÎñ¼Ü¹¹Í¬Ê±Ò²ÄÜÌáÉý¹ÊÕϵĸôÀëÐÔ¡£ÀýÈ磬Èç¹ûij¸ö·þÎñµÄÄÚ´æÐ¹Â¶£¬Ö»»áÓ°Ïì×Ô¼º£¬ÆäËû·þÎñÄܹ»¼ÌÐøÕý³£µØ¹¤×÷¡£ÓëÖ®ÐγɶԱȵÄÊÇ£¬µ¥¿é¼Ü¹¹ÖÐÈç¹ûÓÐÒ»¸ö²»ºÏ¸ñµÄ×é¼þ·¢ÉúÒì³££¬ÓпÉÄÜ»áÍÏ¿åÕû¸öϵͳ¡£
ÍŶÓÈ«¹¦ÄÜ»¯
¿µÍþ¶¨ÂÉ£¨Conway¡¯s law£©Ö¸³ö£ºÒ»¸ö×éÖ¯µÄÉè¼Æ³É¹û£¬Æä½á¹¹ÍùÍù¶ÔÓ¦ÓÚÕâ¸ö×éÖ¯Öеŵͨ½á¹¹£¨organizations
which design systems are constrained to produce designs
which are copies of the communication structures of
these organizations£©¡£´«Í³µÄ¿ª·¢Ä£Ê½ÔÚ·Ö¹¤Ê±ÍùÍùÒÔ¼¼ÊõΪµ¥Î»£¬±ÈÈçUIÍŶӡ¢·þÎñ¶ËÍŶӺÍÊý¾Ý¿âÍŶӣ¬ÕâÑùµÄ·Ö¹¤¿ÉÄܻᵼÖÂÈκι¦ÄÜÉϵĸı䶼ÐèÒª¿çÍŶӹµÍ¨ºÍе÷¡£¶øÎ¢·þÎñÔò³«µ¼Î§ÈÆ·þÎñÀ´·Ö¹¤£¬ÍŶÓÐèÒª¾ß±¸·þÎñÉè¼Æ¡¢¿ª·¢¡¢²âÊÔµ½²¿ÊðËùÐèµÄËùÓм¼ÄÜ¡£
4. ΢·þÎñ¿ìËÙ¿ª·¢Êµ¼ù
Ëæ×ÅÍŶӶÔÒµÎñµÄÀí½â¼ÓÉîºÍ¶Ô΢·þÎñʵ¼ùµÄ³¢ÊÔ£¬Êý¸ö΢·þÎñ³ÌÐòÒѾ³É¹¦¹¹½¨³öÀ´¡£²»¹ý£¬ÎÊÌâͬʱҲ³öÏÖÁË£º¶ÔÓÚÕâЩ²»Í¬µÄ΢·þÎñ³ÌÐò¶øÑÔ£¬ËäÈ»¾ßÌåʵÏֵĴúÂëϸ½Ú²»Í¬£¬µ«Æä½á¹¹¡¢¿ª·¢·½Ê½¡¢³ÖÐø¼¯³É»·¾³¡¢²âÊÔ²ßÂÔ¡¢²¿Êð»úÖÆÒÔ¼°¼à¿ØºÍ¸æ¾¯µÈ£¬¶¼ÓÐ×ÅÀàËÆµÄʵÏÖ·½Ê½¡£ÄÇôÈçºÎÂú×ãDRYÔÔò²¢Ïû³ýÀË·ÑÄØ£¿´ø×ÅÕâ¸öÎÊÌ⣬¾¹ýÍŶӵÄŬÁ¦£¬Stencilµ®ÉúÁË¡£
StencilÊÇÒ»¸ö°ïÖú¿ìËÙ¹¹½¨Ruby΢·þÎñÓ¦ÓõĿª·¢¿ò¼Ü£¬Ö÷Òª°üÀ¨ËIJ¿·Ö£ºStencilÄ£°å¡¢´úÂëÉú³É¹¤¾ß£¬³ÖÐø¼¯³ÉÄ£°åÒÔ¼°Ò»¼ü²¿Ê𹤾ߡ£

StencilÄ£°åÊÇÒ»¸ö¶ÀÁ¢µÄRuby´úÂ빤³Ì¿â£¬Ö÷Òª°üÀ¨´úÂëÄ£°åÒÔ¼°Ò»×éÅäÖÃÎļþÄ£°å¡£
´úÂëÄ£°åʹÓÃWebmachine×÷ΪWeb¿ò¼Ü£¬RESTfulºÍJSON¹¹½¨·þÎñÖ®¼äµÄͨÐÅ·½Ê½£¬RSpec×÷Ϊ²âÊÔ¿ò¼Ü¡£Í¬Ê±£¬´úÂëÄ£°å»¹¶¨ÒåÁËÒ»×éRakeÈÎÎñ£¬Æ©ÈçÔËÐвâÊÔ£¬²é¿´²âÊÔ±¨¸æ£¬½«µ±Ç°µÄ΢·þÎñÉú³ÉRPM°ü£¬Ê¹ÓÃKoji¸øRPM°ü´ò±êÇ©µÈ¡£
³ý´ËÖ®Í⣬¸ÃÄ£°åÒ²ÌṩÁËÒ»×éͨÓõÄURL£¬°ïÖúʹÓÃÕ߲鿴΢·þÎñµÄµ±Ç°°æ±¾¡¢ÅäÖÃÐÅÏ¢ÒÔ¼°¼ì²â¸Ã΢·þÎñ³ÌÐòÊÇ·ñ½¡¿µÔËÐеȡ£
[
{
rel: "index",
path: "/diagnostic/"
},
{
rel: "version",
path: "/diagnostic/version"
},
{
rel: "config",
path: "/diagnostic/config"
},
{
rel: "hostname",
path: "/diagnostic/hostname"
},
{
rel: "heartbeat",
path: "/diagnostic/status/heartbeat"
},
{
rel: "nagios",
path: "/diagnostic/status/nagios"
}
]
|
ÅäÖÃÎļþÄ£°åÖ÷Òª°üÀ¨NewRelicÅäÖã¬PassengerÅäÖá¢NagiosÅäÖá¢ApacheÅäÖÃÒÔ¼°SplunkÅäÖá£Í¨¹ý¶¨ÒåÕâЩÅäÖÃÎļþÄ£°å£¬µ±°ÑеÄ΢·þÎñ³ÌÐò²¿Êðµ½ÑéÊÕ»·¾³»òÕß²úÆ·»·¾³Ê±£¬ÎÒÃÇÁ¢¿Ì¾Í¿ÉÒÔʹÓÃNagios¡¢NewRelicÒÔ¼°SplunkµÈµÚÈý·½·þÎñÌṩµÄ¹¦ÄÜ£¬°ïÖúÎÒÃÇÓÐЧµÄ¼à¿ØÎ¢·þÎñ£¬²¢ÔÚ³¬¹ý³õʼãÐֵʱ»ñµÃ¸æ¾¯¡£
´úÂëÉú³É¹¤¾ß
½èÖúStencil´úÂëÉú³É¹¤¾ß£¬ÎÒÃÇÄÜÔںܶÌʱ¼äÄھ͹¹½¨³öÒ»¸ö¿ÉÒÔÁ¢¼´ÔËÐеÄ΢·þÎñÓ¦ÓóÌÐò¡£Ëæ×ÅϵͳԽÀ´Ô½¸´ÔÓ£¬Î¢·þÎñ³ÌÐòµÄ²»¶ÏÔö¶à£¬StencilÄ£°åºÍ´úÂëÉú³É¹¤¾ß°ïÖúÎÒÃÇ´ó´ó¼ò»¯ÁË´´½¨Î¢·þÎñµÄÁ÷³Ì£¬Èÿª·¢ÈËÔ±¸ü¹Ø×¢ÈçºÎʵÏÖÒµÎñÂß¼²¢¿ìËÙÑéÖ¤¡£
Create a project from the stencil template (version 0.1.27) --name, -n <s>: New project name. eg. things-and-stuff --git-owner, -g <s>: Git owner (default: which team or owner) --database, -d: Include database connection code --triggered-task, -t: Include triggered task code --provider, -p: Is it a service provider? (other services use this service) --consumer, -c: Is it a service consumer? (it uses other services) --branch, -b <s>: Specify a particular branch of Stencil --face-palm, -f: Overide name validation --help, -h: Show this message |
ÈçÉÏ´úÂëËùʾ£¬Í¨¹ýÖ¸¶¨²»Í¬²ÎÊý£¬ÎÒÃÇÄÜ´´½¨¾ßÓÐÊý¾Ý¿â·ÃÎÊÄÜÁ¦µÄ΢·þÎñ³ÌÐò£¬»òÕßÊǰüº¬Òì²½¶ÓÁд¦ÀíµÄ΢·þÎñ³ÌÐò¡£Í¬Ê±£¬ÎÒÃÇÒ²¿ÉÒÔ±ê¼Ç¸Ã·þÎñÊÇÊý¾ÝÏû·ÑÕß»¹ÊÇÊý¾ÝÉú²úÕߣ¬ÄܰïÖúÎÒÃÇÀí½â¶à¸ö΢·þÎñÖ®¼äµÄÁªÏµ¡£
³ÖÐø¼¯³ÉÄ£°å
»ùÓÚ³ÖÐø¼¯³É·þÎñÆ÷Bamboo£¬ÍŶӴ´½¨ÁËÕë¶ÔStencilµÄ³ÖÐø¼¯³ÉÄ£°å¹¤³Ì£¬²¢¶¨ÒåÁËÈý¸öÖ÷Òª½×¶Î£º
1.´ò°ü£ºÔËÐе¥Ôª²âÊÔ£¬¼¯³É²âÊÔ£¬µÈ´ý²âÊÔͨ¹ýºóÉú³ÉRPM°ü¡£
2.·¢²¼£º½«RPM°ü·¢²¼µ½Koji·þÎñÆ÷ÉÏ£¬²¢´òÉÏÏàÓ¦µÄTag¡£È»ºóʹÓÃPackerÔÚÑÇÂíÑ·
AWSÔÆ»·¾³Öд´½¨AMI£¬½¨ºÃµÄAMIÉÏÒѾ°²×°Á˵±Ç°Î¢·þÎñ³ÌÐòµÄ×îÐÂRPM°ü¡£
3.²¿Ê𣺻ùÓÚÖ¸¶¨°æ±¾µÄAMI£¬½«Ó¦ÓÿìËÙ²¿Êðµ½ÑéÊÕ»·¾³»òÕß²úÆ·»·¾³ÉÏ¡£
ÀûÓóÖÐø¼¯³ÉÄ£°å¹¤³Ì£¬ÍŶӽöÐ軨·ÑºÜÉÙµÄʱ¼ä£¬¾Í¿ÉÒÔÕë¶Ôн¨µÄ΢ӦÓóÌÐò£¬ÔÚBambooÉÏ¿ìËÙ¶¨ÒåÆä¶ÔÓ¦µÄ³ÖÐø¼¯³É»·¾³¡£
Ò»¼ü²¿Ê𹤾ß
ËùÓеÄ΢·þÎñ³ÌÐò¶¼²¿Êð²¢ÔËÐÐÔÚÑÇÂíÑ·AWSÔÆ»·¾³ÉÏ¡£Í¬Ê±£¬ÎÒÃÇʹÓÃAsgard¶ÔAWSÔÆ»·¾³ÖеÄ×ÊÔ´½øÐд´½¨¡¢²¿ÊðºÍ¹ÜÀí¡£
AsgardÊÇÒ»Ì×¹¦ÄÜÇ¿´óµÄ»ùÓÚWebµÄAWSÔÆ²¿ÊðºÍ¹ÜÀí¹¤¾ß£¬ÓÉNetflix²ÉÓÃGroovy on
Grails¿ª·¢£¬ÆäÖ÷ÒªÓŵãÓУº
1.»ùÓÚB/SµÄAWS²¿Êð¼°¹ÜÀí¹¤¾ß£¬Ê¹Óû§ÄÜͨ¹ýä¯ÀÀÆ÷Ö±½Ó·ÃÎÊAWSÔÆ×ÊÔ´£¬ÎÞÐèÉèÖÃSecret
KeyºÍAccess Key£»
2.¶¨ÒåÁË`Application`ÒÔ¼°`Cluster`µÈÂß¼¸ÅÄ¸üÇåÎú¡¢ÓÐЧµØÃèÊöÁËÓ¦ÓóÌÐòÔÚAWSÔÆ»·¾³ÖжÔÓ¦µÄ²¿ÊðÍØÆË½á¹¹¡£
3.ÔÚ¶ÔÓ¦ÓõIJ¿Êð²Ù×÷ÖУ¬¼¯³ÉÁËAWS Elastic Load Balancer¡¢AWS
EC2ÒÔ¼°AWS Autoscaling Group£¬²¢½«ÕâЩ×ÊÔ´×Ô¶¯¹ØÁªÆðÀ´¡£
4.ÌṩRESTful½Ó¿Ú£¬Äܹ»·½±ãµØÓëÆäËûϵͳ¼¯³É¡£
5.¼ò½àÒ×ÓõÄÓû§½Ó¿Ú£¬Ìṩ¿ÉÊÓ»¯µÄ·½Ê½Íê³ÉÒ»¼ü²¿ÊðÒÔ¼°Á÷Á¿Çл»¡£
ÓÉÓÚAsgard¶ÔRESTfulµÄÁ¼ºÃÖ§³Ö£¬ÍŶÓʵÏÖÁËÒ»Ì×»ùÓÚAsgardµÄÃüÁîÐв¿Ê𹤾ߣ¬Ö»ÐèÈçÏÂÒ»ÌõÃüÁÌṩӦÓóÌÐòµÄÃû³ÆÒÔ¼°°æ±¾ºÅ£¬¾Í¿É×Ô¶¯Íê³É×ÊÔ´µÄ´´½¨¡¢²¿Êð¡¢Á÷Á¿Çл»¡¢É¾³ý¾ÉµÄÓ¦ÓõȲÙ×÷¡£
asgard-deploy [AppName] [AppVersion] |
ͬʱ£¬»ùÓÚÃüÁîÐеIJ¿Ê𹤾ߣ¬Ò²¿ÉÒÔºÜÈÝÒ׵Ľ«×Ô¶¯»¯²¿Ê𼯳ɵ½Bamboo³ÖÐø¼¯³É»·¾³¡£
ͨ¹ýʹÓÃ΢·þÎñ¿ò¼ÜStencil£¬´ó´óËõ¶ÌÁËÍŶӿª·¢Î¢·þÎñµÄÖÜÆÚ¡£Í¬Ê±£¬»ùÓÚStencil£¬ÎÒÃǶ¨ÒåÁËÒ»Ì×ÍŶÓÄÚ²¿µÄ¿ª·¢Á÷³Ì£¬°ïÖúÍŶӵÄÿһλ³ÉÔ±Àí½â²¢¿ìËÙ¹¹½¨Î¢·þÎñ¡£
΢·þÎñ¼Ü¹¹ÏµÄÐÂϵͳ
¾¹ý5¸öÔµÄŬÁ¦£¬ÎÒÃÇÖØÐ¹¹½¨Á˺Ïͬ¹ÜÀíϵͳ£¬½«Ö®Ç°µÄ²úÆ·¡¢¼Û¸ñ¡¢ÏúÊÛÈËÔ±¡¢ºÏͬǩÊ𡢺ÏͬÉó²éÒÔ¼°PDFÉú³É¶¼¶¨Òå³ÉÁ˶ÀÁ¢µÄ·þÎñ½Ó¿Ú¡£Ïà±È֮ǰ´ó¶øÈ«¡¢ÄÑÒÔά»¤µÄºÏͬ¹ÜÀíϵͳ¶øÑÔ£¬ÐµÄϵͳÓɲ»Í¬¹¦ÄܵÄ΢·þÎñ×é³É£¬Ã¿¸ö΢·þÎñ³ÌÐòÖ»¹Ø×¢µ¥Ò»µÄ¹¦ÄÜ¡£Ã¿¸ö΢·þÎñÓ¦Óö¼ÓÐÏà¹ØµÄ¸ºÔðÈË£¬Í¨¹ýʹÓÃPage
Duty½¨Á¢ÏûϢ֪ͨ»úÖÆ¡£Ã¿µ±ÓÐ¼à¿Ø³öÏָ澯µÄʱºò£¬ÔðÈÎÈËÄÜÁ¢¼´ÊÕµ½ÏûÏ¢²¢¿ìËÙ×ö³öÏìÓ¦¡£

ÓÉÓÚ΢·þÎñ¾ßÓиßÄÚ¾Û£¬µÍñîºÏµÄÌØµã£¬Ã¿¸öÓ¦Óö¼ÊÇÒ»¸ö¶ÀÁ¢µÄ¸öÌå¡£µ±³öÏÖÎÊÌâʱ£¬ºÜÈÝÒ×¶¨Î»ÎÊÌâ²¢½â¾öÎÊÌ⣬´ó´óËõ¶ÌÁËÐÞ¸´È±ÏݵÄÖÜÆÚ¡£ÁíÍ⣬ͨ¹ýʹÓò»Í¬¹¦ÄܵÄ΢·þÎñ½Ó¿ÚÌṩÊý¾Ý£¬Óû§½Ó¿Ú(UI)²¿·Ö±ä³ÉÁËÒ»¸ö·Ç³£¼ò½à¡¢ÇáÁ¿¼¶µÄÓ¦Ó㬸ü¹Ø×¢ÈçºÎäÖÈ¾Ò³ÃæÒÔ¼°±íµ¥Ìá½»µÈ½»»¥¹¦ÄÜ¡£
×ܽá
ͨ¹ýʹÓÃ΢·þÎñ¼Ü¹¹£¬ÔÚ²»Ó°ÏìÏÖÓÐÒµÎñÔËתµÄÇé¿öÏ£¬ÎÒÃÇÓÐЧµÄ½«ÒÅÁôµÄ´óϵͳÖð½¥·Ö½â³É²»Í¬¹¦ÄܵÄ΢·þÎñ½Ó¿Ú¡£Í¬Ê±£¬Í¨¹ýStencil΢·þÎñ¿ª·¢¿ò¼Ü£¬ÎÒÃÇÄܹ»¿ìËٵع¹½¨²»Í¬¹¦ÄܵÄ΢·þÎñ½Ó¿Ú£¬²¢ÄÜ·½±ãµØ½«Æä²¿Êðµ½ÑéÊÕ»·¾³»òÕß²úÆ·»·¾³¡£×îºó£¬µÃÒæÓÚ΢·þÎñ¼Ü¹¹µÄÁé»îÐÔÒÔ¼°À©Õ¹ÐÔ£¬Ê¹µÃÎÒÃÇÄܹ»¿ìËÙ¹¹½¨µÍñîºÏ¡¢Ò×À©Õ¹¡¢Ò×ÉìËõÐÔµÄÓ¦ÓÃϵͳ¡£
|