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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
΢·þÎñ¼Ü¹¹Ïµĸ߿ÉÓÃÍø¹ØÓëÈÝ´íʵ¼ù
 
  9516  次浏览      27
 2018-1-24
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚ51CTO£¬±¾ÎĽ«¸ú´ó¼Ò·ÖÏí΢·þÎñϾ©Âó¿ª·ÅÆ½Ì¨µÄÍø¹ØÊµÏÖ£¬ÒÔ¼°ÎÒÃÇÈçºÎ¿¹Á¿¡¢ÈçºÎÔÚ´ó·ÃÎÊÁ¿µÄÇé¿öÏÂ×öÈÝ´í´¦Àí£¬ÖØµã½éÉÜÈÝ´íµÄ·½·¨¼°Ã¿ÖÖÈÝ´í·½·¨µÄʹÓó¡¾°Óë¾­Ñé¡£

×Ô΢·þÎñ¸ÅÄîµ®ÉúÒÔÀ´£¬ÖÚ¶àµÄÈí¼þ¼Ü¹¹¶¼ÔÚ¼ùÐÐ×ÅÕâÒ»ÓÅÐãµÄÉè¼ÆÀíÄî¡£

¸÷×ÔµÄϵͳÔÚÕâÒ»Ö¸µ¼Ë¼ÏëÏÂÊÕ»ñÁËÓÅÑŵĿÉά»¤ÐÔ£¬µ«Ò»·½ÃæÒ²¸ø½Ó¿Úµ÷ÓÃÌá³öÁËеÄÒªÇ󣬱ÈÈçÖÚ¶àµÄ API µ÷Óü±ÐèÒ»¸öͳһµÄÈë¿ÚÀ´Ö§³Ö¿Í»§¶ËµÄµ÷Óá£

ÔÚÕâÖÖÇé¿öÏ API Gateway µ®Éú£¬ÎÒÃǽ«½ÓÈ롢·ÓÉ¡¢ÏÞÁ÷µÈ¹¦ÄÜͳһÓÉÍø¹Ø¸ºÔ𣬸÷×ԵķþÎñÌṩ·½×¨×¢ÓÚÒµÎñÂß¼­µÄʵÏÖ£¬´Ó¶ø¸ø¿Í»§¶Ëµ÷ÓÃÌṩÁËÒ»¸öÎȽ¡µÄ·þÎñµ÷Óû·¾³¡£

Ö®ºó£¬ÎÒÃÇÔÚÍø¹Ø´óµ÷ÓÃÁ¿µÄÇé¿öÏ£¬»¹Òª±£Ö¤Íø¹ØµÄ¿É½µ¼¶¡¢¿ÉÏÞÁ÷¡¢¿É¸ôÀëµÈµÈһϵÁÐÈÝ´íÄÜÁ¦¡£

½ñÌì¸ú´ó¼Ò·ÖÏí΢·þÎñϾ©Âó¿ª·ÅÆ½Ì¨µÄÍø¹ØÊµÏÖ£¬ÒÔ¼°ÎÒÃÇÈçºÎ¿¹Á¿¡¢ÈçºÎÔÚ´ó·ÃÎÊÁ¿µÄÇé¿öÏÂ×öÈÝ´í´¦Àí£¬ÖØµã½éÉÜÈÝ´íµÄ·½·¨¼°Ã¿ÖÖÈÝ´í·½·¨µÄʹÓó¡¾°Óë¾­Ñé¡£

Íø¹Ø

ÕâÀï˵µÄÍø¹ØÊÇÖ¸ API Íø¹Ø£¬Òâ˼Êǽ«ËùÓÐ API µ÷ÓÃͳһ½ÓÈëµ½ API Íø¹Ø²ã£¬ÓÉÍø¹Ø²ãͳһ½ÓÈëºÍÊä³ö¡£

Ò»¸öÍø¹ØµÄ»ù±¾¹¦ÄÜÓÐÈçϼ¸ÖÖÄÜÁ¦£º

1.ͳһ½ÓÈë

2.°²È«·À»¤

3.ЭÒéÊÊÅä

4.Á÷Á¿¹Ü¿Ø

5.³¤¶ÌÁ´½ÓÖ§³Ö

6.ÈÝ´í

ÓÐÁËÍø¹ØÖ®ºó£¬¸÷¸ö API ·þÎñÌṩÍŶӿÉÒÔרעÓÚ×Ô¼ºµÄµÄÒµÎñÂß¼­´¦Àí£¬¶ø API Íø¹Ø¸üרעÓÚ°²È«¡¢Á÷Á¿¡¢Â·ÓɵÈÎÊÌâ¡£

µ¥ÌåÓ¦ÓÃ

µ±ÒµÎñ¼òµ¥¡¢ÍŶÓ×éÖ¯ºÜСʱ£¬ÎÒÃdz£³£°Ñ¹¦Äܶ¼¼¯ÖÐÓÚÒ»¸öÓ¦ÓÃÖУ¬Í³Ò»²¿Êð¡¢Í³Ò»²âÊÔ£¬ÍæµÃ²»ÒàÀÖºõ¡£

µ«Ëæ×ÅÒµÎñѸËÙ·¢Õ¹£¬×éÖ¯³ÉÔ±ÈÕÒæÔö¶à£¬ÎÒÃÇÔÙ½«ËùÓеŦÄܼ¯Öе½Ò»¸ö Tomcat ÖÐÈ¥£¬Ã¿µ±¸üÐÂÒ»¸ö¹¦ÄÜÄ£¿é£¬ÊƱØÒª¸üÐÂËùÓеijÌÐò£¬¸ã²»ºÃ»¹»áÇ£Ò»·¢¶¯È«Éí£¬µ¼ÖÂʵÔÚÄÑÒÔά»¤µÄÇé¿ö¡£

΢·þÎñ

µ¥ÌåÓ¦ÓÃÂú×ã²»ÁËÎÒÃÇÖð½¥Ôö³¤µÄÀ©Õ¹ÐèÇóÖ®ºó£¬Î¢·þÎñ¾Í³öÏÖÁË£¬ËüÊǽ«Ô­À´Ó¦Óü¯ÖÐÓÚÒ»ÌåµÄ¼Ü¹¹¡£

±ÈÈçÉÌÆ·¹¦ÄÜ¡¢¶©µ¥¹¦ÄÜ¡¢Óû§¹¦Äܲð·Ö³öÈ¥£¬¸÷×ÔÓи÷×ÔµÄ×Ô³ÉÌåϵµÄ·¢²¼¡¢ÔËάµÈ£¬ÕâÑù¾Í½â¾öÁËÔÚµ¥ÌåÓ¦ÓÃϵı׶ˡ£

API Íø¹Ø

½øÐÐ΢·þÎñºó£¬Ô­Ïȿͻ§¶Ëµ÷Ó÷þÎñ¶ËµÄµØ·½¾ÍÒªÓÐ N ¶à¸ö URL µØÖ·£¬°üÀ¨ÉÌÆ·µÄ¡¢¶©µ¥µÄ¡¢Óû§µÈ¡£

Õâʱ¾Í±ØÐëÒªÓиöͳһµÄÈë¿ÚºÍ³ö¿Ú£¬ÕâÖÖÇé¿öÏ£¬ÎÒÃÇµÄ API Gateway ¾Í³öÏÖÁË£¬ËüºÜºÃµØ°ïÖúÎÒÃǽâ¾öÁË΢·þÎñÏ¿ͻ§¶Ëµ÷ÓõÄÎÊÌâ¡£

·º»¯µ÷ÓÃ

¶ÔÓÚÆÕͨµÄ RPC µ÷Óã¬ÎÒÒªÄõ½·þÎñ¶ËÌṩµÄ class »òÕß jar °ü£¬ÕâÑù¹ýÓÚ·±ÖØ£¬¸ü²»ºÃά»¤¡£

²»¹ý³ÉÊìµÄ RPC ¿ò¼Ü¶¼Ö§³Ö·º»¯µ÷Óã¬ÎÒÃǵÄÍø¹Ø¾ÍÊÇ»ùÓÚÕâÖÖ·º»¯µ÷ÓÃÀ´ÊµÏֵġ£

·þÎñ¶Ë¿ª·Å³öÀ´ËûÃÇµÄ API Îĵµ£¬ÎÒÃÇÄõ½½Ó¿Ú¡¢²ÎÊý¡¢²ÎÊýÀàÐÍͨ¹ý·º»¯µ÷Óõ½·þÎñ¶Ë³ÌÐò¡£

public Object $invoke(String method, String[] parameterTypes, Object[] args);

ÈÝ´í

ÈÝ´í£¬Õâ¸ö´ÊµÄÀí½â£¬ÊéÃæÒâ˼¾ÍÊÇ¿ÉÒÔÈÝÏ´íÎ󣬲»ÈôíÎóÔÙ´ÎÀ©ÕÅ£¬ÈÃÕâ¸ö´íÎó²úÉúµÄÓ°ÏìÔÚÒ»¸ö¹Ì¶¨µÄ±ß½çÖ®ÄÚ¡£

¡°Ç§ÀïÖ®µÌ£¬»ÙÓÚÒÏѨ¡±£¬ÎÒÃDzÉÓÃÈÝ´íµÄ·½Ê½¾ÍÊDz»ÈÃÕâÖÖÒÏѨ¼ÌÐø±ä´ó¡£ÔÚ¹¤×÷ÖУ¬½µ¼¶¡¢ÏÞÁ÷¡¢ÈÛ¶ÏÆ÷¡¢³¬Ê±ÖØÊԵȶ¼Êdz£¼ûµÄÈÝ´í·½·¨¡£

¿¹Á¿

ËùνµÄ¿¹Á¿£¬¾ÍÊÇÔö´óÎÒÃÇϵͳµÄÍÌÍÂÁ¿£¬ËùÒÔÈÝ´íµÄµÚÒ»²½¾ÍÊÇϵͳҪÄÜ¿¹Á¿£¬Ã»ÓÐÁ¿µÄÇé¿öϼ¸ºõÓò»µ½ÈÝ´í¡£

ÎÒÃǵÄÈÝÆ÷ʹÓõÄÊÇ Tomcat£¬ÔÚ´«Í³µÄ BIO Ä£ÐÍÏ£¬Ò»ÇëÇóÒ»Ị̈߳¬ÔÚ»úÆ÷Ïß³Ì×ÊÔ´ÓÐÏÞµÄÇé¿öÏÂÊÇûÓа취À´ÊµÏÖÎÒÃǵÄÄ¿±êµÄ¡£

NIO ¸øÎÒÃÇÌṩÁËÕâ¸ö»ú»á£¬»ùÓÚ NIO µÄ»úÖÆ£¬ÀûÓýÏÉÙµÄÏß³ÌÀ´´¦Àí¸ü¶àµÄÁ¬½Ó¡£

Á¬½Ó¶à²»¿ÉÅ£¬Í¨¹ýµ÷Õû»úÆ÷µÄ²ÎÊýһ̨ 8c8g µÄ»úÆ÷£¬³¬¹ý 10w ÊDz»³ÉÎÊÌâµÄ¡£

Tomcat µÄ Conector ÐÞ¸Ä³É NIO ºó£¬ÎÒÃÇÔÙ´Ó´úÂë²ãÃæÒýÈëÁË Servlet3£¬ËüÊÇ´Ó Tomcat7 ÒÔºóÖ§³ÖµÄ£¬NIO ÊÇ Tomcat6 ÒÔºó¾ÍÖ§³ÖµÄ¡£

ÀûÓà Servlet3 µÄÌØÐÔ£¬ËùÓÐµÄ request ºÍ response ¶¼ÓÉ Tomcat µÄ¹¤×÷Ïß³ÌÀ´´¦Àí£¬ÎÒÃǽ«ÒµÎñÂß¼­Òì²½µ½±ðµÄÒµÎñÏß³ÌÖÐÈ¥¡£

ÔÚÒì²½»·¾³Ï£¬¿ÉÒÔÌá¸ßµ¥Î»Ê±¼äÄÚµÄÍÌÍÂÁ¿£¬ËùÓÐµÄ Servlet ÇëÇó¶¼ÊÇÓÉ Tomcat µÄ Executor Ï̳߳صÄÏ̴߳¦ÀíµÄ£¬Ò²¾ÍÊÇ Tomcat µÄ¹¤×÷Ï̡߳£

ÕâЩÏ̴߳¦ÀíµÄʱ¼äÔ½¶ÌÔ½ºÃ£¬Ô½¶ÌÔ½ÄÜѸËٵؽ«Ï̹߳黹¸ø Executor Ï̳߳أ¬ÏÖÔÚ Servlet Ö§³ÖÒì²½ºó¾ÍÄܽ«ºÄʱµÄ²Ù×÷£¬±ÈÈçÓÐ RPC ÇëÇóµÄ½»¸øÒµÎñÏ̳߳ØÀ´´¦Àí£¬Ê¹µÃ Tomcat ¹¤×÷Ï߳̿ÉÁ¢¼´¹é»¹¸ø Tomcat ¹¤×÷Ï̳߳ء£

ÁíÍ⣬½«ÒµÎñÒì²½´¦ÀíÖ®ºó£¬ÎÒÃÇ¿ÉÒÔ¶ÔÒµÎñÏ̳߳ؽøÐÐÏ̳߳ظôÀ룬ÕâÑù¾Í±ÜÃâÁËÒòÒ»¸öÒµÎñÐÔÄÜÎÊÌâ¶øÓ°ÏìÁËÆäËûµÄÒµÎñ¡£

×ܽáÒ»ÏÂÒì²½µÄÓÅÊÆ£º

1.¿ÉÒÔÓÃÀ´×öÏûÏ¢ÍÆËÍ£¬Í¨¹ý Nginx ×ö´úÀí£¬ÉèÖÃÁ¬½Ó³¬Ê±Ê±¼ä£¬¿Í»§¶Ëͨ¹ýÐÄÌøÌ½²â¡£

2.Ìá¸ßÍÌÍÂÁ¿¡£

3.ÇëÇóÏ̺߳ÍÒµÎñÏ̷ֿ߳ª£¬´Ó¶ø¿ÉÒÔͨ¹ýÒµÎñÏ̳߳ضÔÒµÎñÏß³Ì×ö¸ôÀë¡£

ÍÑÀë DB

ÍÑÀë DB£¬ÕâÀï²»ÊÇ˵ DB µÄÐÔÄܲ»ÐУ¬·Ö¿â·Ö±í¡¢DB ¼¯Èº»¯Ö®ºó£¬ÔÚÒ»¶¨Á¿µÄÇé¿öÏÂÊÇûÓÐÎÊÌâµÄ¡£

µ«ÊÇ£¬Èç¹û´Ó¿¹Á¿µÄ½Ç¶È˵µÄ»°£¬ÎªºÎ²»Ê¹Óà Redis ÄØ£¿Èç¹ûÈí¼þ¼Ü¹¹ÀïÃæÓÐÒ»ÖÖÒøµ¯µÄ»°£¬ÄÇô Redis ¾ÍÊÇÕâÖÖÒøµ¯¡£

ÁíÍâÒ»¸öÍÑÀë DB µÄÔ­ÒòÊÇ£ºÃ¿µ±´ó´Ù±¸Õ½Ç°Ï¦ÎÒÃÇÒ»ÏîÖØµãµÄ¹¤×÷¾ÍÊÇÓÅ»¯Âý SQL£¬µ«Ëü¾ÍÏñСǿһÑùÉúÃüÁ¦ÊÇÄÇÑùµÄÍçÇ¿£¬É±²»¾ø¡£

Èç¹ûÓÐÄÇôһ¸öÂý SQL£¬Æ½Ê±ÊÇûÓÐÎÊÌâµÄ£¬±ÈÈçÒ»¸ö²éѯ´ó×Ö¶ÎµÄ SQL£¬Æ½Ê±Á¿Ð¡²»»á±©Â¶ÎÊÌ⣬µ«Á¿Ò»ÉÏÀ´ÁË£¬¾ÍÊǸöÔÖÄÑ¡£

ÔÙ¾ÍÊÇÎÒÃǵÄÍø¹Ø£¬°üÀ¨½ÓÈë¡¢·Ö·¢¡¢ÏÞÁ÷µÈÕâЩ¹¦Äܶ¼Ó¦¸ÃÊǺÜÇáµÄ£¬ËùÒÔÎÒÃǾÍͨ¹ýÊý¾ÝÒì¹¹µÄ·½Ê½°ÑÊý¾ÝÖØÐÂ×ªÔØµ½ Redis ÖУ¬¶øÇÒÊǽ«Êý¾Ý³Ö¾Ã»¯µ½ Redis ÀïÃæÈ¥¡£

µ±È»£¬Ê¹Óà Redis µÄ¹ý³ÌÖÐÒ²ÐèҪעÒâ´ó key£¬´ó·ÃÎÊÁ¿ÏÂÒ²ÄÜÈü¯ÈºÅ¿Ï¡£

»¹ÓÐÒ»¸öºÜÖØÒªµÄÔ­Òò£¬ÎÒÃÇʹÓÃµÄ DB ÊÇ MySQL£¬¼øÓÚ MySQL µÄ failover »úÖÆÉúЧʱ¼ä×ÜÊÇÒª³¤ÓÚ Redis ¼¯Èº£¬×îºó¾ÍÊÇÒòΪ DB Çл»µÄʱºò£¬³£³£°éËæ Web Ó¦Ó÷þÎñÆ÷ÒªÖØÆô£¬½«Ô­À´µÄÁ¬½ÓÊͷŵô£¬²ÅÄÜ·½±ãʹÓÃеÄÊý¾Ý¿âÁ¬½Ó¡£

¶à¼¶»º´æ

×î¼òµ¥µÄ»º´æ¾ÍÊDzéÒ»´ÎÊý¾Ý¿âÈ»ºó½«Êý¾ÝдÈ뻺´æ¡£±ÈÈçÔÚ Redis ÖÐÉèÖùýÆÚʱ¼ä£¬ÒòΪÓйýÆÚʧЧ£¬Òò´ËÎÒÃÇÒª¹Ø×¢Ï»º´æµÄ´©Í¸ÂÊ¡£

Õâ¸ö´©Í¸ÂʵļÆË㹫ʽ£¬±ÈÈç²éѯ·½·¨ queryOrder(µ÷ÓôÎÊý 1000/1s)ÀïÃæÇ¶Ìײéѯ DB ·½·¨ query Product From DB(µ÷ÓôÎÊý 300/s)£¬ÄÇô Redis µÄ´©Í¸ÂʾÍÊÇ 300/1000¡£

ÔÚÕâÖÖʹÓûº´æµÄ·½Ê½Ï£¬ÊÇÒªÖØÊÓ´©Í¸Âʵ쬴©Í¸ÂÊ´óÁË˵Ã÷»º´æµÄЧ¹û²»ºÃ¡£

»¹ÓÐÒ»ÖÖʹÓûº´æµÄ·½Ê½¾ÍÊǽ«»º´æ³Ö¾Ã»¯£¬Ò²¾ÍÊDz»ÉèÖùýÆÚʱ¼ä£¬Õâ¸ö»áÃæÁÙÒ»¸öÊý¾Ý¸üеÄÎÊÌâ¡£

Ò»°ãÓÐÁ½ÖÖ°ì·¨£º

1.ÀûÓÃʱ¼ä´Á£¬²éѯĬÈÏÒÔ Redis ΪÖ÷£¬Ã¿´ÎÉèÖÃÊý¾ÝµÄʱºò·ÅÈëÒ»¸öʱ¼ä´Á£¬Ã¿´Î¶ÁÈ¡Êý¾ÝµÄʱºòÓÃϵͳµ±Ç°Ê±¼äºÍÉÏ´ÎÉèÖõÄÕâ¸öʱ¼ä´Á×ö¶Ô±È¡£

2.±ÈÈ糬¹ý 5 ·ÖÖÓ£¬ÄÇô¾ÍÔÙ²éÒ»´ÎÊý¾Ý¿â£¬ÕâÑù¿ÉÒÔ±£Ö¤ Redis ÀïÃæÓÀÔ¶ÓÐÊý¾Ý£¬Ò»°ãÊÇ¶Ô DB µÄÒ»ÖÖÈÝ´í·½·¨¡£

3.Èà Redis ÕæÕý×÷Ϊ DB À´Ê¹Ó㬾ÍÊÇÈçͼÀï»­µÄͨ¹ý¶©ÔÄÊý¾Ý¿âµÄ binlog£¬Í¨¹ýÊý¾ÝÒ칹ϵͳ½«Êý¾ÝÍÆË͸ø»º´æ£¬Í¬Ê±½«»º´æÉèÖÃΪ¶à¼¶¡£

4.¿ÉÒÔͨ¹ýʹÓà jvm cache ×÷ΪӦÓÃÄÚµÄÒ»¼¶»º´æ£¬Ò»°ãÊÇÌå»ýС£¬·ÃÎÊÆµÂÊ´óµÄ¸üÊʺÏÕâÖÖ jvm cache ·½Ê½£¬½«Ò»Ì× Redis ×÷Ϊ¶þ¼¶ remote »º´æ£¬ÁíÍâµÄ×îÍâ²ãÈý¼¶ Redis ×÷Ϊ³Ö¾Ã»¯»º´æ¡£

³¬Ê±ÓëÖØÊÔ

³¬Ê±ÓëÖØÊÔ»úÖÆÒ²ÊÇÈÝ´íµÄÒ»ÖÖ·½·¨£¬·²ÊÇ·¢Éú RPC µ÷Óõĵط½£¬±ÈÈç¶ÁÈ¡ Redis¡¢DB¡¢MQ µÈ¡£

ÒòÎªÍøÂç¹ÊÕÏ»òÕßÊÇËùÒÀÀµµÄ·þÎñ¹ÊÕÏÁË£¬³¤Ê±¼ä²»ÄÜ·µ»Ø½á¹û£¬¾Í»áµ¼ÖÂÏß³ÌÔö¼Ó£¬¼Ó´ó CPU ¸ºÔØ£¬ÉõÖÁµ¼ÖÂÑ©±À¡£ËùÒÔ¶Ôÿһ¸ö RPC µ÷Óö¼ÒªÉèÖó¬Ê±Ê±¼ä¡£

¶ÔÓÚÇ¿ÒÀÀµ RPC µ÷ÓÃ×ÊÔ´µÄÇé¿ö£¬»¹ÒªÓÐÖØÊÔ»úÖÆ£¬µ«ÖØÊԵĴÎÊý½¨Òé 1-2 ´Î¡£

ÁíÍâÈç¹ûÓÐÖØÊÔ£¬³¬Ê±Ê±¼ä»¹ÒªÏàÓ¦¶¼µ÷С£¬±ÈÈçÖØÊÔ 1 ´Î£¬ÄÇôһ¹²ÊÇ·¢Éú 2 ´Îµ÷Óá£

Èç¹û³¬Ê±Ê±¼äÅäÖõÄÊÇ 2s£¬ÄÇô¿Í»§¶Ë¾ÍÒªµÈ´ý 4s ²ÅÄÜ·µ»Ø£¬Òò´ËÖØÊÔ+³¬Ê±µÄ·½Ê½£¬³¬Ê±Ê±¼äÒªµ÷С¡£

ÕâÀïÒ²ÔÙ̸һÏ 1 ´Î PRC µ÷ÓõÄʱ¼ä¶¼ÏûºÄÔÚÄÄЩ»·½Ú¡£

1 ´ÎÕý³£µÄµ÷ÓÃͳ¼ÆµÄºÄʱÖ÷Òª°üÀ¨£º¢Ùµ÷ÓöËRPC¿ò¼ÜÖ´ÐÐʱ¼ä + ¢ÚÍøÂç·¢ËÍʱ¼ä + ¢Û·þÎñ¶ËRPC¿ò¼ÜÖ´ÐÐʱ¼ä + ¢Ü·þÎñ¶ËÒµÎñ´úÂëʱ¼ä¡£

µ÷Ó÷½ºÍ·þÎñ·½¶¼Óи÷×ÔµÄÐÔÄÜ¼à¿Ø£¬±ÈÈçµ÷Ó÷½ tp99 ÊÇ 500ms£¬·þÎñ·½ tp99 ÊÇ 100ms£¬ÕÒÁËÍøÂç×éµÄͬÊÂÈ·ÈÏÍøÂçûÓÐÎÊÌâµÄ¡£

ÄÇôʱ¼ä¶¼»¨ÔÚʲôµØ·½ÁËÄØ£¿Á½ÖÖÔ­Òò£º¿Í»§¶Ëµ÷Ó÷½£¬»¹ÓÐÒ»¸öÔ­ÒòÊÇÍøÂç·¢Éú TCP ÖØ´«£¬ËùÒÔҪעÒâÕâÁ½µã¡£

ÈÛ¶Ï

È۶ϼ¼Êõ¿ÉÒÔ˵ÊÇÒ»ÖÖ¡°ÖÇÄÜ»¯µÄÈÝ´í¡±£¬µ±µ÷ÓÃÂú×ãʧ°Ü´ÎÊý£¬Ê§°Ü±ÈÀý¾Í»á´¥·¢ÈÛ¶ÏÆ÷´ò¿ª£¬ÓгÌÐò×Ô¶¯Çжϵ±Ç°µÄ RPC µ÷Óã¬À´·ÀÖ¹´íÎó½øÒ»²½À©´ó¡£

ʵÏÖÒ»¸öÈÛ¶ÏÆ÷Ö÷ÒªÊÇ¿¼ÂÇÈýÖÖģʽ£º

1.¹Ø±Õ

2.´ò¿ª

3.°ë¿ª

¸÷¸ö״̬µÄת»»ÈçÏÂͼ£º

ÔÚÁ˽âÁËÈÛ¶ÏÆ÷µÄ״̬»úÖÆºó£¬ÎÒÃÇ¿ÉÒÔ×Ô¼ºÀ´ÊµÏÖÒ»¸öÈÛ¶ÏÆ÷¡£µ±È»Ò²¿ÉÒÔʹÓÿªÔ´µÄ½â¾ö·½°¸£¬±ÈÈç Hystrix ÖÐµÄ breaker¡£

ÏÂͼÊÇÒ»¸öÈÛ¶ÏÆ÷´ò¿ª¹Ø±ÕµÄʾÒâͼ£º

ÕâÀïҪ̸µÄÊÇÈÛ¶ÏÆ÷µÄʹÓÃ×¢ÒâÏ

ÎÒÃÇÔÚ´¦ÀíÒ쳣ʱ£¬Òª¸ù¾Ý¾ßÌåµÄÒµÎñÇé¿öÀ´¾ö¶¨´¦Àí·½Ê½¡£±ÈÈçÎÒÃǵ÷ÓÃÉÌÆ·½Ó¿Ú£¬¶Ô·½Ö»ÊÇÁÙʱ×öÁ˽µ¼¶´¦Àí£¬ÄÇô×÷ÎªÍø¹Øµ÷ÓþÍÒªÇе½¿ÉÌæ»»µÄ·þÎñÉÏÀ´Ö´ÐлòÕß»ñÈ¡Íе×Êý¾Ý£¬¸øÓû§ÓѺÃÌáʾ¡£

»¹ÓÐ񻂿·ÖÒì³£µÄÀàÐÍ£¬±ÈÈçÒÀÀµµÄ·þÎñ±ÀÀ£ÁË£¬Õâ¸ö¿ÉÄÜÐèÒª»¨·Ñ±È½Ï¾ÃµÄʱ¼äÀ´½â¾ö£¬Ò²¿ÉÄÜÊÇÓÉÓÚ·þÎñÆ÷¸ºÔØÁÙʱ¹ý¸ßµ¼Ö³¬Ê±¡£

×÷ΪÈÛ¶ÏÆ÷Ó¦¸ÃÄܹ»Õç±ðÕâÖÖÒì³£ÀàÐÍ£¬´Ó¶ø¸ù¾Ý¾ßÌåµÄ´íÎóÀàÐ͵÷ÕûÈ۶ϲßÂÔ¡£

Ôö¼ÓÊÖ¶¯ÉèÖã¬ÔÚʧ°ÜµÄ·þÎñ»Ö¸´Ê±¼ä²»È·¶¨µÄÇé¿öÏ£¬¹ÜÀíÔ±¿ÉÒÔÊÖ¶¯Ç¿ÖÆÇл»ÈÛ¶Ï״̬¡£×îºó£¬ÈÛ¶ÏÆ÷µÄʹÓó¡¾°Êǵ÷ÓÿÉÄÜʧ°ÜµÄÔ¶³Ì·þÎñ³ÌÐò»òÕß¹²Ïí×ÊÔ´¡£

Èç¹ûÊDZ¾µØ»º´æ±¾µØË½ÓÐ×ÊÔ´£¬Ê¹ÓÃÈÛ¶ÏÆ÷Ôò»áÔö¼ÓϵͳµÄ¶îÍ⿪Ïú¡£»¹Òª×¢Ò⣬ÈÛ¶ÏÆ÷²»ÄÜ×÷ΪӦÓóÌÐòÖÐÒµÎñÂß¼­µÄÒì³£´¦ÀíÌæ´úÆ·¡£

Ï̳߳ظôÀë

ÔÚ¿¹Á¿Õâ¸ö»·½Ú£¬Servlet3 Ò첽ʱ£¬ÓÐÌáµ½¹ýÏ̸߳ôÀë¡£Ï̸߳ôÀëµÄÖ±½ÓÓÅÊÆ¾ÍÊÇ·ÀÖ¹¼¶Áª¹ÊÕÏ£¬ÉõÖÁÊÇÑ©±À¡£

µ±Íø¹Øµ÷Óà N ¶à¸ö½Ó¿Ú·þÎñµÄʱºò£¬ÎÒÃÇÒª¶Ôÿ¸ö½Ó¿Ú½øÐÐÏ̸߳ôÀ룬±ÈÈçÎÒÃÇÓе÷Óö©µ¥¡¢ÉÌÆ·¡¢Óû§¡£

ÄÇô¶©µ¥µÄÒµÎñ²»Äܹ»Ó°Ïìµ½ÉÌÆ·ºÍÓû§µÄÇëÇó´¦Àí¡£Èç¹û²»×öÏ̸߳ôÀ룬µ±·ÃÎʶ©µ¥·þÎñ³öÏÖÍøÂç¹ÊÕϵ¼ÖÂÑÓʱ£¬Ï̻߳ýѹ×îÖÕµ¼ÖÂÕû¸ö·þÎñ CPU ¸ºÔØÂú¡£

¾ÍÊÇÎÒÃÇ˵µÄ·þÎñÈ«²¿²»¿ÉÓÃÁË£¬ÓжàÉÙ»úÆ÷¶¼»á±»´Ë¿ÌµÄÇëÇóÈûÂú¡£ÄÇô£¬ÓÐÁËÏ̸߳ôÀë¾Í»áʹµÃÎÒÃǵÄÍø¹ØÄܱ£Ö¤¾Ö²¿ÎÊÌâ²»»áÓ°ÏìÈ«¾Ö¡£

½µ¼¶¡¢ÏÞÁ÷

¹ØÓÚ½µ¼¶ÏÞÁ÷µÄ·½·¨Òµ½ç¶¼ÒѾ­ÓкܳÉÊìµÄ·½·¨ÁË£¬±ÈÈç Failback »úÖÆ£¬ÏÞÁ÷·½·¨ÁîÅÆÍ°¡¢Â©Í°¡¢ÐźÅÁ¿µÈ£¬ÕâÀï̸һÏÂÎÒÃǵÄһЩ¾­Ñé¡£

½µ¼¶Ò»°ã¶¼ÊÇÓÉͳһÅäÖÃÖÐÐĵĽµ¼¶¿ª¹ØÀ´ÊµÏֵģ¬ÄÇôµ±Óкܶà¸ö½Ó¿ÚÀ´×Ôͬһ¸öÌṩ·½£¬Õâ¸öÌṩ·½µÄϵͳ»òÕâ»úÆ÷ËùÔÚ»ú·¿ÍøÂç³öÏÖÁËÎÊÌ⣬ÎÒÃǾÍÒªÓÐÒ»¸öͳһµÄ½µ¼¶¿ª¹Ø¡£

²»È»¾ÍÒªÒ»¸ö½Ó¿ÚÒ»¸ö½Ó¿ÚµØÀ´½µ¼¶£¬Ò²¾ÍÊÇÒª¶ÔÒµÎñÀàÐÍÓÐÒ»¸ö´óÕ¢µ¶¡£

»¹ÓоÍÊǽµ¼¶ÇмDZ©Á¦½µ¼¶£¬Ê²Ã´ÊDZ©Á¦½µ¼¶£¿±ÈÈç°ÑÂÛ̳¹¦Äܽµµ÷£¬½á¹ûÓû§ÏÔʾһ¸ö´ó°×°å£¬ÎÒÃÇҪʵÏÖ»º´æ×¡Ò»Ð©Êý¾Ý£¬Ò²¾ÍÊÇÓÐÍе×Êý¾Ý¡£

ÏÞÁ÷Ò»°ã·ÖΪ·Ö²¼Ê½ÏÞÁ÷ºÍµ¥»úÏÞÁ÷£¬Èç¹ûʵÏÖ·Ö²¼Ê½ÏÞÁ÷µÄ»°¾ÍÒªÒ»¸ö¹«¹²µÄºó¶Ë´æ´¢·þÎñ£¬±ÈÈç Redis£¬ÔÚ´ó Nginx ½ÚµãÉÏÀûÓà Lua ¶ÁÈ¡ Redis ÅäÖÃÐÅÏ¢¡£

ÎÒÃÇÏÖÔÚµÄÏÞÁ÷¶¼Êǵ¥»úÏÞÁ÷£¬²¢Ã»ÓÐʵʩ·Ö²¼Ê½ÏÞÁ÷¡£

Íø¹Ø¼à¿ØÓëͳ¼Æ

API Íø¹ØÊÇÒ»¸ö´®Ðеĵ÷Óã¬Ã¿Ò»²½·¢ÉúµÄÒì³£¶¼Òª¼Ç¼ÏÂÀ´£¬Í³Ò»´æ´¢µ½Ò»¸öµØ·½£¬±ÈÈç Elasticsearch ÖУ¬±ãÓÚºóÐø¶Ôµ÷ÓÃÒì³£µÄ·ÖÎö¡£

¼øÓÚ¹«Ë¾ Docker ÉêÇë¶¼ÊÇͳһ·ÖÅ䣬¶øÇÒ·ÖÅä֮ǰ Docker ÉÏÒѾ­´æÔÚ 3 ¸ö Agent ÁË£¬²»ÔÙÔÊÐíÔö¼Ó¡£

ÎÒÃÇ×Ô¼ºÊµÏÖÁËÒ»¸ö Agent ³ÌÐò£¬À´¸ºÔð²É¼¯·þÎñÆ÷ÉÏÃæµÄÈÕÖ¾Êä³ö£¬È»ºó·¢Ë͵½ Kafka ¼¯Èº£¬ÔÙͨ¹ý Web ²éѯÏû·Ñµ½ Elasticsearch ÖС£ÏÖÔÚ×öµÄ×·×Ù¹¦ÄÜ»¹±È½Ï¼òµ¥£¬Õâ¿é»¹ÐèÒª¼ÌÐø·á¸»¡£

×ܽá

Íø¹Ø»ù±¾¹¦ÄÜÓÐͳһ½ÓÈë¡¢°²È«·À»¤¡¢Ð­ÒéÊÊÅäµÈ¡£ÕâÆªÎÄÕÂÀïÎÒÃDz¢Ã»Óн²ÈçºÎÀ´ÊµÏÖÕâЩ»ù±¾µÄ¹¦ÄÜ£¬ÒòΪÏÖÔÚÓкܶà³ÉÊìµÄ½â¾ö·½°¸¿ÉÒÔÖ±½ÓÄùýÀ´Ê¹Óá£

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

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂ䵨
Ïà¹Ø¿Î³Ì

ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù