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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
È«Á´Â·Ñ¹²âƽ̨£¨Quake£©ÔÚÃÀÍÅÖеÄʵ¼ù
 
 
  4380  次浏览      31
 2021-5-21
 
±à¼­ÍƼö:
È«Á´Â·Ñ¹²âƽ̨£¨Quake£©ÔÚÃÀÍÅÖеÄʵ¼ù£¬½â¾ö·½°¸¡¢Quake ÕûÌå¼Ü¹¹Éè¼Æ¼°¹ÜÀí¶ËºËÐŦÄܵȡ£
±¾ÎÄÀ´×ÔÓÚÃÀÍż¼ÊõÍŶӣ¬ÓÉLinda±à¼­¡¢ÍƼö¡£

±³¾°

ÔÚÃÀÍŵļÛÖµ¹ÛÖУ¬¡°ÒÔ¿Í»§ÎªÖÐÐÄ¡±±»·ÅÔÚÒ»¸ö·Ç³£ÖØÒªµÄλÖã¬ËùÒÔÎÒÃǶԷþÎñ³öÏÖ¹ÊÕÏÔ½À´Ô½²»ÄÜÈÝÈÌ¡£ÌرðÊÇĿǰ¹«Ë¾ÒµÎñÕýÔÚ¸ßËÙÔö³¤½×¶Î£¬Ã¿Ò»´Î¹ÊÕ϶Թ«Ë¾À´Ëµ¶¼ÊÇÒ»±Ê·Ç³£²»Ð¡µÄËðʧ¡£¶øÕû¸öIT»ù´¡ÉèÊ©·Ç³£¸´ÔÓ£¬°üÀ¨ÍøÂç¡¢·þÎñÆ÷¡¢²Ù×÷ϵͳÒÔ¼°Ó¦ÓòãÃæ¶¼¿ÉÄܳöÏÖÎÊÌâ¡£ÔÚÕâÖÖ±³¾°Ï£¬ÎÒÃDZØÐë¶Ô·þÎñ½øÐÐÒ»´ÎÈ«·½Î»µÄ¡°Ìå¼ì¡±£¬´Ó¶øÀ´±£ÕÏÃÀÍŶà¸öÒµÎñ·þÎñµÄÎȶ¨ÐÔ£¬ÌṩÓÅÖʵÄÓû§·þÎñÌåÑé¡£ÕæÕýͨ¹ýÒÔϼ¼ÊõÊֶΣ¬À´°ïÖú´ó¼Ò³ÔµÄ¸üºÃ£¬Éú»î¸üºÃ£º

ÑéÖ¤·åÖµÁ÷Á¿Ï·þÎñµÄÎȶ¨ÐÔºÍÉìËõÐÔ¡£

ÑéÖ¤ÐÂÉÏÏß¹¦ÄܵÄÎȶ¨ÐÔ¡£

½øÐнµ¼¶¡¢±¨¾¯µÈ¹ÊÕÏÑÝÁ·¡£

¶ÔÏßÉÏ·þÎñ½øÐиü׼ȷµÄÈÝÁ¿ÆÀ¹À¡£

¡­¡­

È«Á´Â·Ñ¹²âÊÇ»ùÓÚÏßÉÏÕæÊµ»·¾³ºÍʵ¼ÊÒµÎñ³¡¾°£¬Í¨¹ýÄ£Ä⺣Á¿µÄÓû§ÇëÇó£¬À´¶ÔÕû¸öϵͳ½øÐÐѹÁ¦²âÊÔ¡£ÔçÆÚ£¬ÎÒÃÇÔÚûÓÐÈ«Á´Â·Ñ¹²âµÄÇé¿öÏ£¬Ö÷ÒªµÄѹ²â·½Ê½ÓУº

¶ÔÏßÉϵĵ¥»ú»ò¼¯Èº·¢Æð·þÎñµ÷Óá£

½«ÏßÉÏÁ÷Á¿½øÐÐÂ¼ÖÆ£¬È»ºóÔÚµ¥Ì¨»úÆ÷ÉϽøÐлطš£

ͨ¹ýÐÞ¸ÄÈ¨ÖØµÄ·½Ê½½øÐÐÒýÁ÷ѹ²â¡£

µ«ÒÔÉÏ·½Ê½ºÜÄÑÈ«ÃæµÄ¶ÔÕû¸ö·þÎñ¼¯Èº½øÐÐѹ²â£¬Èç¹ûÒÔ¾Ö²¿½á¹ûÍÆËãÕû¸ö¼¯ÈºµÄ½¡¿µ×´¿ö£¬ÍùÍù»á¡°ÒÔÆ«¸ÅÈ«¡±£¬ÎÞ·¨ÆÀ¹ÀÕû¸öϵͳµÄÕæÊµÐÔÄÜˮƽ£¬Ö÷ÒªµÄÔ­Òò°üÀ¨£º

Ö»¹Ø×¢Éæ¼°µÄºËÐÄ·þÎñ£¬ÎÞ·¨¸²¸Çµ½ËùÓеĻ·½Ú¡£

ϵͳ֮¼ä¶¼ÊÇͨ¹ýһЩ»ù´¡·þÎñ½øÐд®Áª£¬Èç Nginx¡¢Redis »º´æ¡¢Êý¾Ý¿â¡¢´ÅÅÌ¡¢ÍøÂçµÈµÈ£¬¶ø»ù´¡·þÎñÎÊÌâÔÚµ¥·þÎñѹ²âÖÐÍùÍù²»Äܱ»±©Â¶³öÀ´¡£

×ۺ϶àÖÖÒòËØ¿¼ÂÇ£¬È«Á´Â·Ñ¹²âÊÇÎÒÃÇ׼ȷÆÀ¹ÀÕû¸öϵͳÐÔÄÜˮƽµÄ±Ø¾­Ö®Â·¡£Ä¿Ç°£¬¹«Ë¾ÄÚËùÓкËÐÄÒµÎñÏß¶¼ÒѽÓÈëÈ«Á´Â·Ñ¹²â£¬ÔÂÆ½¾ùѹ²â´ÎÊý´ïÉÏÍò´Î£¬°ïÖúÒµÎñƽÎȵضȹýÁË´ó´óССÈô¸É³¡¸ß·åÁ÷Á¿µÄ³å»÷¡£

½â¾ö·½°¸

Quake £¨À×ÉñÖ®´¸£©×÷Ϊ¹«Ë¾¼¶µÄÈ«Á´Â·Ñ¹²âƽ̨£¬ËüµÄÄ¿±êÊÇÌṩ¶ÔÕûÌõÁ´Â·½øÐÐÈ«·½Î»¡¢°²È«¡¢ÕæÊµµÄѹ²â£¬À´°ïÖúÒµÎñ×ö³ö¸ü¾«×¼µÄÈÝÁ¿ÆÀ¹À¡£Òò´ËÎÒÃÇ¶Ô Quake Ìá³öÁËÈçϵÄÒªÇó£º

ÌṩģÄâÏßÉÏÕæÊµÁ÷Á¿µÄÄÜÁ¦

ѹ²âºÍ DDoS ¹¥»÷²»Í¬µÄÊÇ£¬Ñ¹²âÓÐÓ¦Óó¡¾°£¬¶ø DDoS ¿ÉÄÜÖ»ÐèÒªÒ»¸öÇëÇó¡£ÎªÁ˸üÕæÊµµÄ»¹Ô­Óû§ÐÐΪ£¬ÎÒÃÇÐèÒª»ñÈ¡ÏßÉϵÄÕæÊµÁ÷Á¿½øÐÐѹ²â¡£

¾ß±¸¿ìËÙ´´½¨Ñ¹²â»·¾³µÄÄÜÁ¦

ÕâÀïµÄ»·¾³Ö¸µÄÊÇÏßÉÏ»·¾³£¬ÒòΪÈç¹ûѹ²âµÄÊÇÏßÏ»·¾³£¬¼´Ê¹²»¿¼ÂÇ¡°»úÆ÷ÅäÖÃÊÇ·ñÏàͬ¡±Õâ¸öÒòËØ£¬Ïñ¼¯Èº¹æÄ£¡¢Êý¾Ý¿âÌåÁ¿¡¢ÍøÂçÌõ¼þµÈÕâЩÒòËØ£¬ÔÚÏßÏ»·¾³Ï¶¼ÎÞ·¨½øÐÐÄ£Ä⣬ÕâÑùµÃ³öѹ²â½á¹û£¬Æä²Î¿¼¼ÛÖµ²¢²»´ó¡£

Ö§³Ö¶àÖÖѹ²âÀàÐÍ

ѹ²âÀàÐͳýÁËÖ§³Ö±ê×¼µÄ HTTP ЭÒ飬»¹ÐèÒª¶ÔÃÀÍÅÄÚ²¿µÄ RPC ºÍÒÆ¶¯¶ËЭÒé½øÐÐÖ§³Ö¡£

Ìṩѹ²â¹ý³ÌµÄʵʱ¼à¿ØÓë¹ýÔØ±£»¤

È«Á´Â·Ñ¹²âÊÇÒ»¸öÐèҪʵʱ¹Ø×¢·þÎñ״̬µÄ¹ý³Ì£¬ÓÈÆäÔÚ̽²â¼«ÏÞµÄʱºò£¬ÐèÒª¾ß±¸¾«×¼µ÷¿Ø QPS µÄÄÜÁ¦£¬Ãë¼¶¼à¿ØµÄÄÜÁ¦£¬Ô¤ÉèÈ۶Ͻµ¼¶µÄÄÜÁ¦£¬ÒÔ¼°¿ìËÙ¶¨Î»ÎÊÌâµÄÄÜÁ¦¡£

Quake ÕûÌå¼Ü¹¹Éè¼Æ

Quake ¼¯Êý¾Ý¹¹Ô졢ѹ²â¸ôÀë¡¢³¡¾°¹ÜÀí¡¢¶¯Ì¬µ÷¿Ø¡¢¹ý³Ì¼à¿Ø¡¢Ñ¹²â±¨¸æÎªÒ»Ì壬ѹ²âÁ÷Á¿¾¡Á¿Ä£ÄâÕæÊµ£¬¾ß±¸·Ö²¼Ê½Ñ¹²âÄÜÁ¦µÄÈ«Á´Â·Ñ¹²âϵͳ£¬Í¨¹ýÄ£Ä⺣Á¿Óû§ÕæÊµµÄÒµÎñ²Ù×÷³¡¾°£¬Ìáǰ¶ÔÒµÎñ½øÐиßѹÁ¦²âÊÔ£¬È«·½Î»Ì½²âÒµÎñÓ¦ÓõÄÐÔÄÜÆ¿¾±£¬È·±£Æ½ÎȵØÓ¦¶ÔÒµÎñ·åÖµ¡£

¼Ü¹¹Í¼£º

Quake ÕûÌå¼Ü¹¹ÉÏ·ÖΪ£º

Quake-Web£ºÑ¹²â¹ÜÀí¶Ë£¬¸ºÔðѹ²âÊý¾Ý¹¹Ô졢ѹ²â»·¾³×¼±¸¡¢³¡¾°¹ÜÀí¡¢Ñ¹²â¹ý³ÌµÄ¶¯Ì¬µ÷ÕûÒÔ¼°Ñ¹²â±¨±íչʾµÈ¡£

Quake-Brain£ºµ÷¶ÈÖÐÐÄ£¬¸ºÔðʩѹ×ÊÔ´µÄµ÷¶È¡¢ÈÎÎñ·Ö·¢Óë»úÆ÷×ÊÔ´¹ÜÀí¡£

Quake-Agent£ºÑ¹²âÒýÇæ£¬¸ºÔðÄ£Äâ¸÷ÖÖѹ²âÁ÷Á¿¡£

Quake-Monitor£º¼à¿ØÄ£¿é£¬Í³¼ÆÑ¹²â½á¹û£¬¼à¿Ø·þÎñ¸÷ÏîÖ¸±ê¡£

¹ÜÀí¶ËºËÐŦÄÜ

Êý¾Ý¹¹Ôì

´«Í³µÄÊý¾Ý¹¹Ô죬һ°ãÓɲâÊÔÈËÔ±×Ô¼ºÎ¬»¤Ò»Åúѹ²âÊý¾Ý¡£µ«ÕâÖÖ·½Ê½´æÔںܴóµÄ±×¶Ë£¬Ò»·½ÃæÎ¬»¤³É±¾Ïà¶Ô½Ï¸ß£¬ÁíÒ»·½Ã棬Æä¹¹Ôì³öµÄÊý¾Ý¶àÑùÐÔÒ²²»×ã¹»¡£ÔÚÕæÊµÒµÎñ³¡¾°ÖУ¬ÎÒÃÇÐèÒªµÄÊÇÄÜÖ±½Ó»Ø·ÅÒµÎñ¸ß·åÆÚ²úÉúµÄÁ÷Á¿£¬Ö»ÓÐÃæ¶ÔÕâÑùµÄÁ÷Á¿³å»÷£¬²ÅÄÜÕæÊµµÄ·´Ó³ÏµÍ³¿ÉÄÜ»á²úÉúµÄÎÊÌâ¡£

Quake Ö÷ÒªÌṩÁË HTTP ºÍ RPC µÄÁ½ÖÖÊý¾Ý¹¹Ô췽ʽ£º

HTTP ·þÎñµÄ·ÃÎÊÈÕÖ¾ÊÕ¼¯

¶ÔÓÚ HTTP ·þÎñ£¬ÔÚ Nginx ²ã¶¼»á²úÉúÇëÇóµÄ·ÃÎÊÈÕÖ¾£¬ÎÒÃǶÔÕâЩÈÕÖ¾½øÐÐÁËͳһ½ÓÈ룬±ä³É·ûºÏѹ²âÐèÒªµÄÁ÷Á¿Êý¾Ý¡£¼Ü¹¹Í¼ÈçÏ£º

S3Ϊ×îÖÕÈÕÖ¾´æ´¢Æ½Ì¨

µ×²ãʹÓÃÁË Hive ×÷ΪÊý²ÖµÄ¹¤¾ß£¬Ê¹ÒµÎñÔÚÆ½Ì¨ÉÏ¿ÉÒÔͨ¹ý¼òµ¥µÄÀà SQL ÓïÑÔ½øÐÐÊý¾Ý¹¹Ôì¡£Quake »á´ÓÊý²ÖÖÐɸѡ³öÏàÓ¦µÄÊý¾Ý£¬×÷Ϊѹ²âËùÐèµÄ´Ê±íÎļþ£¬½«Æä´æ´¢ÔÚ S3 ÖС£

´Ê±í£ºÑ¹²âËùÐèµÄÔªÊý¾Ý£¬Ã¿Ò»Ðдú±íÒ»¸öÇëÇ󣬰üº¬ÇëÇóµÄ method¡¢path¡¢params¡¢header¡¢bodyµÈµÈ¡£

RPC ÏßÉÏÁ÷Á¿ÊµÊ±Â¼ÖÆ

¶ÔÓÚ RPC ·þÎñ£¬·þÎñµ÷ÓÃÁ¿Ô¶³¬ HTTP µÄÁ¿¼¶£¬ËùÒÔÔÚÏßÉÏ»·¾³²»Ì«¿ÉÄÜÈ¥¼Ç¼ÏàÓ¦µÄÈÕÖ¾¡£ÕâÀïÎÒÃÇʹÓöÔÏßÉÏ·þÎñ½øÐÐʵʱÁ÷Á¿Â¼ÖÆ£¬½áºÏ RPC ¿ò¼ÜÌṩµÄÂ¼ÖÆ¹¦ÄÜ£¬¶Ô¼¯ÈºÖеÄij¼¸Ì¨»úÆ÷¿ªÆôÂ¼ÖÆ£¬¸ù¾ÝÒªÂ¼ÖÆµÄ½Ó¿ÚºÍ·½·¨Ãû£¬½«ÇëÇóÊý¾ÝÉϱ¨µ½Â¼ÖÆÁ÷Á¿µÄ»º³å·þÎñ£¨Broker£©ÖУ¬ÔÙÓÉ Broker Éú³É×îÖÕµÄѹ²â´Ê±í£¬ÉÏ´«µ½´æ´¢Æ½Ì¨£¨S3£©¡£

RPC Client£º·þÎñµÄµ÷Ó÷½

Server£º·þÎñÌṩ·½

Broker£ºÂ¼ÖƺóÁ÷Á¿»º³å·þÎñÆ÷

S3£ºÁ÷Á¿×îÖմ洢ƽ̨

ÆäËûÓÅ»¯£º

Á÷Á¿²ÎÊýÆ«ÒÆ

ÓÐЩ³¡¾°Ï£¬¹¹Ôì³öÀ´µÄÁ÷Á¿ÊDz»ÄÜÖ±½ÓʹÓõģ¬ÎÒÃÇÐèÒª¶ÔÓû§ ID¡¢ÊÖ»úºÅµÈÐÅÏ¢½øÐÐÊý¾ÝÆ«ÒÆ¡£Quake Ò²ÊÇÌṩÁ˰üº¬ËÄÔòÔËËã¡¢Çø¼äÏÞ¶¨¡¢Ëæ»úÊý¡¢Ê±¼äÀàÐ͵ȶàÖÖÌæ»»¹æÔò¡£

´Ê±íÎļþµÄ·ÖƬ

Êý¾Ý¹¹Ôì²úÉúµÄ´Ê±íÎļþ£¬ÎÒÃÇÐèÒª½øÐÐÎïÀíÉ쵀ᅮ¬£¬ÒÔ±£Ö¤Ã¿¸ö·ÖƬÎļþ´óС¾¡¿ÉÄܾùÔÈ£¬²¢ÇÒ¿ØÖÆÔÚÒ»¶¨´óС֮ÄÚ¡£Õâô×öµÄÖ÷ÒªÔ­ÒòÊÇ£¬ºóÐøÑ¹²â¿Ï¶¨ÊÇÓÉÒ»¸ö·Ö²¼Ê½µÄѹ²â¼¯Èº½øÐÐÁ÷Á¿µÄ´òÈ룬¿¼Âǵ½µ¥»úÀ­È¡´Ê±íµÄËٶȺͼÓÔØ´Ê±íµÄ´óСÏÞÖÆ£¬Èç¹û½«´Ê±í½øÐÐ·ÖÆ¬µÄ»°£¬¿ÉÒÔÓÐÖúÓÚÈÎÎñµ÷¶È¸üºÏÀíµÄ½øÐзÖÅä¡£

ѹ²â¸ôÀë

×öÏßÉÏѹ²âÓëÏßÏÂѹ²â×î´ó²»Í¬ÔÚÓÚ£¬ÏßÉÏѹ²âÒª±£Ö¤Ñ¹²âÐÐΪ°²È«Çҿɿأ¬²»»áÓ°ÏìÓû§µÄÕý³£Ê¹Ó㬲¢ÇÒ²»»á¶ÔÏßÉÏ»·¾³Ôì³ÉÈκεÄÊý¾ÝÎÛȾ¡£Òª×öµ½ÕâÒ»µã£¬Ê×Òª½â¾öµÄÊÇѹ²âÁ÷Á¿µÄʶ±ðÓë͸´«ÎÊÌâ¡£ÓÐÁËѹ²â±êʶºó£¬¸÷·þÎñÓëÖмä¼þ¾Í¿ÉÒÔÒÀ¾Ý±êʶÀ´½øÐÐѹ²â·þÎñ·Ö×éÓëÓ°×Ó±í·½°¸µÄʵʩ¡£

²âÊÔ±êʶ͸´«

¶ÔÓÚµ¥·þÎñÀ´Ëµ£¬Ê¶±ðѹ²âÁ÷Á¿ºÜÈÝÒ×£¬Ö»ÒªÔÚÇëÇóÍ·ÖмӸöÌØÊâµÄѹ²â±êʶ¼´¿É£¬HTTP ºÍ RPC ·þÎñÊÇÒ»ÑùµÄ¡£µ«ÊÇ£¬ÒªÔÚÕûÌõÍêÕûµÄµ÷ÓÃÁ´Â·ÖÐҪʼÖÕ±£³Öѹ²â±êʶ£¬Õâ¼þʾͷdz£À§ÄÑ¡£

¿çÏ̼߳äµÄ͸´«£º

¶ÔÓÚÉæ¼°¶àÏ̵߳÷ÓõķþÎñÀ´Ëµ£¬Òª±£Ö¤²âÊÔ±êʶÔÚ¿çÏ̵߳ÄÇé¿öϲ»¶ªÊ§¡£ÕâÀïÒÔ Java Ó¦ÓÃΪÀý£¬Ö÷Ï̸߳ù¾Ýѹ²âÇëÇ󣬽«²âÊÔ±êʶдÈ뵱ǰÏß³ÌµÄ ThreadLocal ¶ÔÏóÖУ¨ThreadLocal »áΪÿ¸öÏ̴߳´½¨Ò»¸ö¸±±¾£¬ÓÃÀ´±£´æÏß³Ì×ÔÉíµÄ¸±±¾±äÁ¿£©£¬ÀûÓà InheritableThreadLocal µÄÌØÐÔ£¬¶ÔÓÚ¸¸Ïß³Ì ThreadLocal ÖеıäÁ¿»á´«µÝ¸ø×ÓỊ̈߳¬±£Ö¤ÁËѹ²â±êʶµÄ´«µÝ¡£¶ø¶ÔÓÚ²ÉÓÃÏ̳߳صÄÇé¿ö£¬Í¬Ñù¶ÔÏ̳߳ؽøÐÐÁË·â×°£¬ÔÚÍùÏ̳߳ØÖÐÌí¼ÓÏß³ÌÈÎÎñʱ£¬¶îÍâ±£´æÁË ThreadLocal ÖеıäÁ¿£¬Ö´ÐÐÈÎÎñʱÔÙ½øÐÐÌæ»» ThreadLocal ÖеıäÁ¿¡£

¿ç·þÎñ¼äµÄ͸´«£º

¶ÔÓÚ¿ç·þÎñµÄµ÷Ó㬼ܹ¹ÍŶӶÔËùÓÐÉæ¼°µ½µÄÖмä¼þ½øÐÐÁËÒ»Ò»¸ÄÔì¡£ÀûÓà Mtrace £¨¹«Ë¾ÄÚ²¿Í³Ò»µÄ·Ö²¼Ê½»á»°¸ú×Ùϵͳ£©µÄ·þÎñ¼ä´«µÝÉÏÏÂÎÄÌØÐÔ£¬ÔÚÔ­Óд«ÊäÉÏÏÂÎĵĻù´¡ÉÏ£¬Ìí¼ÓÁ˲âÊÔ±êʶµÄÊôÐÔ£¬ÒÔ±£Ö¤´«ÊäÖÐʼÖÕ´ø×ŲâÊÔ±êʶ¡£ÏÂͼÊÇ Mtrace ÉÏÏÂÓε÷ÓõĹØÏµÍ¼£º

Á´Â·Õï¶Ï

ÓÉÓÚÁ´Â·¹ØÏµµÄ¸´ÔÓÐÔ£¬Ò»´Îѹ²âÉæ¼°µÄÁ´Â·¿ÉÄܷdz£¸´ÔÓ¡£ºÜ¶àʱºò£¬ÎÒÃǺÜÄÑÈ·Èϼä½ÓÒÀÀµµÄ·þÎñÓÖÒÀÀµÁËÄÄЩ·þÎñ£¬¶øÈκÎÒ»¸ö»·½ÚÖ»Òª³öÏÖÎÊÌ⣬±ÈÈçij¸öÖмä¼þ°æ±¾²»´ï±ê£¬²âÊÔ±êʶ¾Í²»»áÔÙÍùϽøÐÐ͸´«¡£Quake ÌṩÁËÁ´Â·Æ¥Åä·ÖÎöµÄÄÜÁ¦£¬Í¨¹ýƽ̨ÊÔ̽ÐԵط¢ËÍÒµÎñʵ¼ÊÐèҪѹ²âµÄÇëÇ󣬸ù¾Ý MtraceÌṩµÄÊý¾Ý£¬°ïÖúÒµÎñ¿ìËÙ¶¨Î»µ½±ê¼Ç͸´«Ê§°ÜµÄ·þÎñ½Úµã¡£

Á´Â·Õï¶Ï×ÜÀÀ

Á´Â·Õï¶ÏÏêÇ鶨λ

ѹ²â·þÎñ¸ôÀë

һЩ´óÐ͵Äѹ²âͨ³£Ñ¡ÔñÔÚÉîÒ¹µÍ·åʱÆÚ½øÐУ¬½¨ÒéÏà¹ØµÄÈËԱҪʱ¿Ì¹Ø×¢¸÷×Ô¸ºÔðµÄϵͳָ±ê£¬ÒÔÃâÓ°ÏìÏßÉϵÄÕý³£Ê¹Ó᣶ø¶ÔÓÚһЩÈÕ³£»¯µÄѹ²â£¬Quake ÌṩÁ˸ü¼Ó°²È«±ã½ÝµÄ·½Ê½½øÐС£ÔڵͷåÆÚ£¬»úÆ÷»ù±¾¶¼ÊÇ´¦ÓڱȽϿÕÏеÄ״̬¡£ÎÒÃǽ«¸ù¾ÝÒµÎñµÄÐèÇóÔÚÏßÉ϶ÔÕûÌõÁ´Â·¿ìËÙ´´½¨Ò»¸öѹ²â·Ö×飬¸ô³öÒ»Åú¿ÕÏеĻúÆ÷ÓÃÓÚѹ²â¡£½«Õý³£Á÷Á¿Óë²âÊÔÁ÷Á¿ÔÚ»úÆ÷¼¶±ð½øÐиôÀ룬´Ó¶ø½µµÍѹ²â¶Ô·þÎñ¼¯Èº´øÀ´µÄÓ°Ïì¡£

ÒÀÀµ±êʶ͸´«µÄ»úÖÆ£¬ÔÚ Quake ƽ̨ÉÏÌṩÁË»ùÓÚ IP¡¢»úÆ÷Êý¡¢°Ù·Ö±È²»Í¬·½Ê½µÄ¸ôÀë²ßÂÔ£¬ÒµÎñÖ»ÐèÌṩËùÐè¸ôÀëµÄ·þÎñÃû£¬ÓÉ Quake ½øÐÐÒ»¼ü»¯µÄ¿ªÆôÓë¹Ø±Õ¡£

ѹ²âÊý¾Ý¸ôÀë

»¹ÓÐÒ»¸ö±È½Ï¼¬ÊÖµÄÎÊÌâÊÇÕë¶ÔдÇëÇóµÄѹ²â£¬ÒòΪËü»áÏòÕæÊµµÄÊý¾Ý¿âÖÐдÈë´óÁ¿µÄÔàÊý¾Ý¡£ÎÒÃÇ½è¼øÁ˰¢Àï×îÔçÌá³öµÄ¡°Ó°×Ó±í¡±¸ôÀëµÄ·½°¸¡£¡°Ó°×Ó±í¡±µÄºËÐÄ˼ÏëÊÇ£¬Ê¹ÓÃÏßÉÏͬһ¸öÊý¾Ý¿â£¬°üÀ¨¹²ÏíÊý¾Ý¿âÖеÄÄÚ´æ×ÊÔ´£¬ÒòΪÕâÑù²ÅÄܸü½Ó½üÕæÊµ³¡¾°£¬Ö»ÊÇÔÚдÈëÊý¾Ýʱ»áдÔÚÁËÁíÒ»ÕÅ¡°Ó°×Ó±í¡±ÖС£

¶ÔÓÚ KV ´æ´¢£¬Ò²ÊÇÀàËÆµÄ˼·¡£ÕâÀイһϠMQ£¨ÏûÏ¢¶ÓÁУ©µÄʵÏÖ£¬MQ °üÀ¨Éú²úºÍÏû·ÑÁ½¶Ë£¬ÒµÎñ¿ÉÒÔ¸ù¾Ýʵ¼ÊµÄÐèҪѡÔñÔÚÉú²ú¶ËºöÂÔ´ø²âÊÔ±êʶµÄÏûÏ¢£¬»òÕßÔÚÏû·Ñ¶Ë½ÓÊÕÏûÏ¢ºóÔÙºöÂÔÁ½ÖÖÑ¡Ôñ¡£

µ÷¶ÈÖÐÐĺËÐÄÉè¼Æ

µ÷¶ÈÖÐÐÄ×÷ΪÕû¸öѹ²âϵͳµÄ´óÄÔ£¬Ëü¹ÜÀíÁËËùÓеÄѹ²âÈÎÎñºÍѹ²âÒýÇæ¡£»ùÓÚ×ÔÉíµÄµ÷¶ÈËã·¨£¬µ÷¶ÈÖÐÐĽ«Ã¿¸öѹ²âÈÎÎñ²ð·Ö³ÉÈô¸É¸ö¿ÉÔÚµ¥Ì¨Ñ¹²âÒýÇæÉÏÖ´Ðеļƻ®£¬²¢½«¼Æ»®ÒÔÖ¸ÁîµÄ·½Ê½Ï·¢¸ø²»Í¬µÄÒýÇæ£¬´Ó¶øÖ´ÐÐѹ²âÈÎÎñ¡£

×ÊÔ´¼ÆËã

²»Í¬µÄѹ²â³¡¾°£¬ÐèÒªµÄ»úÆ÷×ÊÔ´²»Ò»Ñù¡£ÒÔ HTTP ·þÎñΪÀý£¬ÔÚÇëÇó/ÏìÓ¦Ìå¶¼ÔÚ 1K ÒÔÄÚ£¬ÏìӦʱ¼äÔÚ 50ms ÒÔÄÚºÍ 1s ×óÓÒµÄÁ½¸öÇëÇ󣬵¥¸öʩѹ»úÄÜ´ïµ½µÄ¼«ÏÞÖµÍêÈ«²»Í¬¡£Ó°Ïìѹ²âÄÜÁ¦µÄÒòËØÓкܶ࣬¼ÆËãÖÐÐÄ»áÒÀ¾Ýѹ²âÄ£Ð͵IJ»Í¬²ÎÊý£¬½øÐÐ×ÊÔ´µÄ¼ÆËã¡£

Ö÷Òª²Î¿¼µÄÊý¾Ý°üÀ¨£º

ѹ²âÆÚÍûµ½´ïµÄ QPS¡£

ѹ²âÇëÇóµÄƽ¾ùÏìӦʱ¼äºÍÇëÇó/ÏìÓ¦Ìå´óС¡£

ѹ²âµÄ´Ê±í´óС¡¢·ÖƬÊý¡£

ѹ²âÀàÐÍ¡£

ËùÐèѹ²âµÄ»ú·¿¡£

ʼþ×¢Èë»úÖÆ

ÒòΪÕû¸öѹ²â¹ý³ÌÒ»Ö±´¦ÔÚ¶¯Ì¬±ä»¯Ö®ÖУ¬ÒµÎñ»á¸ù¾ÝϵͳµÄʵ¼ÊÇé¿ö¶ÔѹÁ¦½øÐÐÏàÓ¦µÄµ÷Õû¡£ÔÚÕû¸ö¹ý³ÌÖвúÉúµÄʼþÀàÐͱȽ϶࣬°üÀ¨µ÷Õû QPS µÄʼþ¡¢´¥·¢È۶ϵÄʼþ¡¢¿ªÆôʹÊ×¢Èë¡¢¿ªÆô´úÂë¼¶ÐÔÄÜ·ÖÎöµÄʼþµÈµÈ£¬Í¬Ê±´¥·¢Ê¼þµÄÇé¿öÒ²ÓкܶàÖÖ£¬°üÀ¨Óû§ÊÖ¶¯´¥·¢¡¢ÓÉÓÚϵͳ±£»¤»úÖÆ´¥µÈµÈ¡£ËùÒÔ£¬ÎÒÃÇÔڼܹ¹ÉÏÒ²×öÁËÏàÓ¦µÄÓÅ»¯£¬Æä´óÖ¼ܹ¹ÈçÏ£º

ÔÚ´úÂëÉè¼Æ²ãÃæ£¬ÎÒÃDzÉÓÃÁ˹۲ìÕߺÍÔðÈÎÁ´Ä£Ê½£¬½«»á´¥·¢Ê¼þµÄ¾ßÌåÇé¿ö×÷Ϊ¹Û²ìÖ÷Ì⣬Ö÷ÌâµÄ¶©ÔÄÕß»áÊÓÇé¿öÀàÐͲúÉúÒ»Á¬´®Ö´ÐÐʼþ¡£¶øÔÚÖ´ÐÐʼþÖÐÓÖÒýÈëÔðÈÎÁ´Ä£Ê½£¬½«¸÷×ԵĴ¦ÀíÂß¼­½øÐÐÓÐЧµÄ²ð·Ö£¬ÒÔ±ãºóÆÚ½øÐÐά»¤ºÍÄÜÁ¦À©³ä¡£

»úÆ÷¹ÜÀí

µ÷¶ÈÖÐÐĹÜÀíÁËËùÓеÄʩѹ»ú×ÊÔ´£¬ÕâЩʩѹ»ú·Ö²¼ÔÚ±±¾©¡¢ÉϺ£µÄ¶à¸ö»ú·¿£¬Ê©Ñ¹»ú²ÉÓÃÈÝÆ÷»¯·½Ê½½øÐв¿Êð£¬ÎªºóÐøµÄ¶¯Ì¬À©ÈÝ¡¢Ê©Ñ¹»ú»Ò¶ÈÉý¼¶ÒÔ¼°Òì³£Õª³ýµÄÌṩÁË»ù´¡±£ÕÏ¡£

¶¯Ì¬À©ÈÝ

ÒµÎñ¶Ôѹ²âµÄÐèÇóÓиߵͷåÖ®·Ö£¬ËùÒÔÆ½Ì¨Ò²ÐèÒªÊÂÏȲ¿ÊðÒ»²¿·Ö»úÆ÷ÓÃÓÚÈÕ³£µÄÒµÎñѹ²â¡£µ±ÒµÎñÉêÇë×ÊÔ´²»×ãʱ£¬Æ½Ì¨»á°´Ðèͨ¹ýÈÝÆ÷»¯·½Ê½¶¯Ì¬µÄ½øÐÐÀ©ÈÝ¡£ÕâÑù×öµÄºÃ´¦£¬Ò»·½ÃæÊǽÚÊ¡»úÆ÷×ÊÔ´£¬ÁíÒ»·½Ãæ¾ÍÊDZãÓÚÉý¼¶¡£²»ÄÑÏëÏó£¬Éý¼¶50̨»úÆ÷Ïà¶ÔÉý¼¶200̨»úÆ÷£¬Ç°Õ߸¶³öµÄ´ú¼Û¿Ï¶¨¸üСһЩ¡£

»Ò¶ÈÉý¼¶

Õû¸ö»úÆ÷³ØÎ¬»¤×ż¸°Ų̀»úÆ÷£¬Èç¹ûÐèÒª¶ÔÕâЩ»úÆ÷½øÐÐÉý¼¶²Ù×÷£¬ÄѶÈϵÊýÒ²±È½Ï¸ß¡£ÎÒÃÇÒÔǰµÄ×ö·¨ÊÇ£¬ÔÚûÓÐÒµÎñѹ²âµÄʱºò£¬½«»úÆ÷È«²¿ÏÂÏߣ¬È»ºóÔÙÅúÁ¿²¿Êð£¬Õû¸öÉý¼¶¹ý³Ì¼ÈºÄʱÓÖÍ´¿à¡£Îª´Ë£¬ÎÒÃÇÒýÈëÁ˻ҶÈÉý¼¶µÄ¸ÅÄ¶Ôÿ̨ʩѹ»úÌṩÁ˰汾µÄ¸ÅÄ»úÆ÷Ñ¡Ôñʱ£¬ÓÅÏÈʹÓÃÎȶ¨°æµÄ»úÆ÷¡£¸ù¾Ý»úÆ÷ĿǰʹÓõÄ״̬£¬·ÖÅúÌæ»»Î´Ê¹ÓõĻúÆ÷£¬´ýа汾µÄ»úÆ÷ÅÜÍê»ù×¼ºÍ»Ø¹é²âÊԺ󣬽«»úÆ÷Ñ¡ÔñµÄ²ßÂÔ¸ÄΪ×îа档ͨ¹ýÕâÖÖ·½Ê½£¬ÎÒÃÇ¿ÉÒÔÈÃÕû¸öÉý¼¶¹ý³Ì£¬Ïà¶Ôƽ˳¡¢Îȶ¨£¬ÇÒÄܹ»ÈÃÒµÎñÎÞ¸ÐÖª¡£

Òì³£Õª³ý

µ÷¶ÈÖÐÐÄά³ÖÁËÓëËùÓÐʩѹ»úµÄÐÄÌø¼ì²â£¬¶ÔÓÚÒì³£½ÚµãÌṩÁËÕª³ýÌæ»»µÄÄÜÁ¦¡£»úÆ÷Õª³ýÄÜÁ¦ÔÚѹ²â¹ý³ÌÖзdz£ÓбØÒª£¬ÒòΪѹ²âÆÚ¼ä£¬ÎÒÃÇÐèÒª±£Ö¤ËùÓеĻúÆ÷ÐÐΪ¿É¿Ø¡£²»È»ÔÚÐèÒª½µµÍѹÁ¦»òֹͣѹ²âʱ£¬Èç¹ûʩѹ»ú²»ÄÜÕý³£×ö³öÏìÓ¦£¬Æäµ¼Öµĺó¹û½«»á·Ç³£ÑÏÖØ¡£

ѹ²âÒýÇæÓÅ»¯

ÔÚѹ²âÒýÇæµÄÑ¡ÔñÉÏ£¬Quake Ñ¡ÔñÁË×ÔÑÐѹ²âÒýÇæ¡£ÕâÒ²ÊdzöÓÚÀ©Õ¹ÐÔºÍÐÔÄܲãÃæµÄ¿¼ÂÇ£¬ÌرðÔÚÀ©Õ¹ÐÔ²ãÃæ£¬Ö÷ÒªÊǶԸ÷ÖÖЭÒéµÄÖ§³Ö£¬ÕâÀï²»Õ¹¿ª½øÐвûÊö¡£ÐÔÄÜ·½Ã棬ΪÁ˱£Ö¤ÒýÇæÃ¿ÃëÄܲúÉú×ã¹»¶àµÄÇëÇó£¬ÎÒÃǶÔÒýÇæ×öÁ˺ܶàÐÔÄÜÓÅ»¯µÄ¹¤×÷¡£

ÐÔÄÜÎÊÌâ

ͨ³£µÄѹ²âÒýÇæ£¬²ÉÓõÄÊÇ BIO µÄ·½Ê½£¬ÀûÓöàÏß³ÌÀ´Ä£Äâ²¢·¢µÄÓû§Êý£¬Ã¿¸öÏ̵߳Ť×÷·½Ê½ÊÇ£ºÇëÇó-µÈ´ý-ÏìÓ¦¡£

ͨÐÅͼ£º

ÕâÖÖ·½Ê½Ö÷ÒªµÄÎÊÌâÊÇ£¬ÖмäµÄµÈ´ý¹ý³Ì£¬Ïß³Ì×ÊÔ´ÍêÈ«±»ÀË·Ñ¡£ÕâÖÖ×éºÏģʽÏ£¬ÐÔÄÜÎÊÌâÒ²»á¸üÑÏÖØ£¨×éºÏģʽ£º¼´Ä£ÄâÓû§Ò»Á¬´®µÄÓû§ÐÐΪ£¬ÒÔϵ¥ÎªÀý£¬ÇëÇó×éÖлá°üº¬Óû§µÇ¼¡¢¼ÓÈ빺Îï³µ¡¢´´½¨¶©µ¥¡¢Ö§¸¶¶©µ¥¡¢²é¿´Ö§¸¶×´Ì¬¡£ÕâЩÇëÇó±Ë´Ë¼äÊÇ´æÔÚÏȺó¹ØÏµµÄ£¬ÏÂÒ»¸öÇëÇó»áÒÀÀµÓÚÉÏÒ»¸öÇëÇóµÄ½á¹û¡££©£¬ÈôÇëÇó×éÖÐÓÐ5¸ö´®ÁªÇëÇó£¬Ã¿¸öÇëÇóµÄʱ³¤ÊÇ200ms£¬ÄÇÍê³ÉÒ»×éÇëÇó¾ÍÐèÒª 1s ¡£ÕâÑùµÄ»°£¬µ¥»úµÄ×î´ó QPS ¾ÍÊÇÄÜ´´½¨µÄ×î´óÏß³ÌÊý¡£ÎÒÃÇÖªµÀ»úÆ÷ÄÜ´´½¨µÄÏß³ÌÊýÓÐÏÞ£¬Í¬Ê±Ïß³Ì¼äÆµ·±Çл»Ò²Óгɱ¾¿ªÏú£¬ÖÂʹÕâÖÖͨÐÅ·½Ê½ÄÜ´ïµ½µÄµ¥»ú×î´ó QPS Ò²ºÜÓÐÏÞ¡£

ÕâÖÖÄ£Ð͵ڶþ¸öÎÊÌâÊÇ£¬Ïß³ÌÊý¿ØÖƵÄÁ£¶ÈÌ«´Ö£¬Èç¹ûÇëÇóÏìÓ¦ºÜ¿ì£¬½ö¼¸Ê®ºÁÃ룬Èç¹ûÔö¼ÓÒ»¸öỊ̈߳¬¿ÉÄÜ QPS ¾ÍÉÏÕÇÁ˽«½ü100£¬Í¨¹ýÔö¼ÓÏß³ÌÊýµÄ·½Ê½ÎÞ·¨¾«×¼µÄ¿ØÖÆ QPS£¬Õâ¶Ô̽²âϵͳµÄ¼«ÏÞÀ´Ëµ£¬Ê®·ÖΣÏÕ¡£

IO Ä£ÐÍÓÅ»¯

ÎÒÃÇÏÈ¿´Ï NIO µÄʵÏÖ»úÖÆ£¬´Ó¿Í»§¶Ë·¢ÆðÇëÇóµÄ½Ç¶È¿´£¬´æÔÚµÄ IO ʼþ·Ö±ðÊǽ¨Á¢Á¬½Ó¾ÍÐ÷ʼþ£¨OP_CONNECT£©¡¢IO ¾ÍÐ÷µÄ¿É¶Áʼþ £¨OP_READ£© ºÍ IO ¾ÍÐ÷µÄ¿Éдʼþ£¨OP_WRITE£©£¬ËùÓÐ IO ʼþ»áÏòʼþÑ¡ÔñÆ÷£¨Selector£©½øÐÐ×¢²á£¬²¢ÓÉËü½øÐÐͳһµÄ¼àÌýºÍ´¦Àí£¬Selector ÕâÀï²ÉÓõÄÊÇ IO ¶à·¸´Óõķ½Ê½¡£

ÔÚÁ˽â NIO µÄ´¦Àí»úÖÆºó£¬ÎÒÃÇÔÙ¿¼ÂÇ¿´ÈçºÎ½øÐÐÓÅ»¯¡£Õû¸öºËÐÄ˼Ïë¾ÍÊǸù¾ÝÔ¤ÉèµÄ QPS£¬±£Ö¤Ã¿Ãë·¢³öÖ¸¶¨ÊýÁ¿µÄÇëÇó£¬ÔÙÒÔ IO ·Ç×èÈûµÄ·½Ê½½øÐкóÐøµÄ¶Áд²Ù×÷£¬È¡ÏûÁË BIO ÖÐÇëÇóµÈ´ýµÄʱ¼ä¡£ÓÅ»¯ºóµÄÂß¼­ÈçÏ£º

ÓÅ»¯Ò»£º²ÉÓà Reactor ¶àÏß³ÌÄ£ÐÍ

ÕâÀïÖ÷ÒªºÄʱ¶¼ÔÚ IO µÄ¶ÁдʼþÉÏ£¬ÎªÁË´ïµ½µ¥Î»Ê±¼äÄÚ¾¡¿ÉÄܶàµÄ·¢Æðѹ²âÇëÇó£¬ÎÒÃǽ«Á¬½ÓʼþÓë¶Áдʼþ·ÖÀë¡£Á¬½Óʼþ²ÉÓõ¥Ïß³Ì Selector µÄ·½Ê½À´´¦Àí£¬¶Áдʼþ·Ö±ðÓɶà¸ö Worker Ï̴߳¦Àí£¬Ã¿¸ö Worker Ïß³ÌÒ²ÊÇÒÔ NIO ·½Ê½½øÐд¦Àí£¬Óɸ÷×﵀ Selector ´¦Àí IO ʼþµÄ¶Áд²Ù×÷¡£ÕâÀïÿ¸ö Worker Ï̶߳¼ÓÐ×Ô¼ºµÄʼþ¶ÓÁУ¬Êý¾Ý±Ë´Ë¸ôÀ룬ÕâÑù×öÖ÷ÒªÊÇΪÁ˱ÜÃâÊý¾Ýͬ²½´øÀ´µÄÐÔÄÜ¿ªÏú¡£

ÓÅ»¯¶þ£ºÒµÎñÂß¼­Óë IO ¶Áдʼþ·ÖÀë

ÕâÀï˵µÄÒµÎñÂß¼­Ö÷ÒªÊÇÕë¶ÔÇëÇó½á¹ûµÄ´¦Àí£¬°üÀ¨¶ÔÇëÇóÊý¾ÝµÄ²ÉÑùÉϱ¨£¬¶Ôѹ²â½á¹ûµÄ½âÎöУÑ飬¶ÔÇëÇóת»»ÂÊµÄÆ¥ÅäµÈ¡£Èç¹û½«ÕâЩÂß¼­·ÅÔÚ Worker Ïß³ÌÖд¦Àí£¬±ØÈ»»áÓ°Ïì IO ¶ÁÈ¡µÄËÙ¶È¡£ÒòΪ Selector ÔÚ¼àÌýµ½ IO ¾ÍÐ÷ʼþºó£¬»á½øÐе¥Ï̴߳¦Àí£¬ËùÒÔËüµÄ´¦ÀíÒª¾¡¿ÉÄܵļòµ¥ºÍ¿ìËÙ£¬²»È»»áÓ°ÏìÆäËû¾ÍÐ÷ʼþµÄ´¦Àí£¬ÉõÖÁÔì³É¶ÓÁлýѹºÍÄÚ´æÎÊÌâ¡£

ÄÚ´æÓÅ»¯

ѹ²âÒýÇæÁíÒ»¸öÖØÒªµÄÖ¸±êÊÇ Full GC µÄʱ¼ä£¬ÒòΪÈç¹ûÒýÇæÆµ·±³öÏÖ Full GC£¬ÄÇ»áÔì³Éʵ¼Êѹ²âÇúÏߣ¨QPS£©µÄ¶¶¶¯£¬ÕâÖÖ¶¶¶¯»á·Å´ó±»Ñ¹·þÎñÕæÊµµÄÏìӦʱ¼ä£¬Ôì³ÉÕæÊµ QPS ÔÚÔ¤ÉèÖµµÄÉÏϲ¨¶¯¡£ÑÏÖØµÄÇé¿ö£¬Èç¹ûÊdz¤Ê±¼ä³öÏÖ Full GC£¬Ö±½Ó¾Íµ¼ÖÂԤѹµÄ QPS ѹ²»ÉÏÈ¥µÄÎÊÌâ¡£

ÏÂÃæ¿´Ò»×é Full GC ²úÉúµÄѹ²âÇúÏߣº

ΪÁ˽â¾ö GC µÄÎÊÌ⣬Ö÷Òª´ÓÓ¦ÓÃ×ÔÉíµÄÄÚ´æ¹ÜÀíºÍ JVM ²ÎÊýÁ½¸öά¶ÈÀ´½øÐÐÓÅ»¯¡£

ºÏÀí·ÖÅäÄÚ´æ¶ÔÏó

ÇëÇó¶ÔÏó¼ÓÔØ»úÖÆÓÅ»¯

ÒýÇæÊ×ÏȼÓÔØ´Ê±íÊý¾Ýµ½ÄÚ´æÖУ¬È»ºó¸ù¾Ý´Ê±íÊý¾ÝÉú³ÉÇëÇó¶ÔÏó½øÐз¢ËÍ¡£¶ÔÓڴʱíÊý¾ÝµÄ¼ÓÔØ£¬ÐèÒªÉèÖÃÒ»¸ö´óСÉÏÏÞ£¬ÕâЩÊý¾ÝÊÇ»á½øÈë¡°ÀÏÄê´ú¡±£¬Èç¹û¡°ÀÏÄê´ú¡±Õ¼ÓõıÈÀý¹ý¸ß£¬ÄÇ¾Í»áÆµ·¢³öÏÖ Full GC µÄÇé¿ö¡£ÕâÀï¶ÔÓڴʱíÊý¾Ý¹ý´óµÄÇé¿ö£¬¿ÉÒÔ¿¼ÂDzÉÓÃÁ÷ʽ¼ÓÔØµÄ·½Ê½£¬ÔÚ¶ÓÁÐÖÐά³ÖÒ»¶¨ÊýÁ¿µÄÇëÇó£¬Í¨¹ý±ß»Ø·Å±ß¼ÓÔØµÄ·½Ê½À´¿ØÖÆÄÚ´æ´óС¡£

ÇëÇó¶ÔÏóµÄ¿ìÓÿìÏú

ÒýÇæÔÚʵ¼Êѹ²â¹ý³ÌÖУ¬¼ÙÉèµ¥»úÊÇ 1W µÄ QPS£¬ÄÇËüÿÃë¾Í»á´´½¨ 1W ¸öÇëÇó¶ÔÏó£¬ÕâЩ¶ÔÏó¿ÉÄÜÔÚÏÂÒ»Ãë´¦ÀíÍêºó¾Í»á½øÐÐÏú»Ù¡£Èç¹ûÏú»Ù¹ýÂý£¬¾Í»áÔì³É´óÁ¿ÎÞЧ¶ÔÏó½úÉýÀÏÄê´ú£¬ËùÒÔÔÚ¶ÔÏìÓ¦½á¹ûµÄ´¦ÀíÖУ¬²»ÒªÓкÄʱµÄ²Ù×÷£¬±£Ö¤ÇëÇó¶ÔÏóµÄ¿ìËÙÊÍ·Å¡£

ÕâÀï·ÅÆú¶ÔÏó¸´ÓõÄÔ­ÒòÊÇ£¬ÇëÇóµÄ»ù±¾ÐÅÏ¢Õ¼ÓõÄÄÚ´æ¿Õ¼ä±È½ÏС¡£¿ÉÒ»µ©×ª»»³ÉÁË´ý·¢ËͶÔÏóºó£¬Õ¼ÓõÄÄÚ´æ¿Õ¼ä»á±ÈԭʼÊý¾Ý´óºÜ¶à£¬ÔÚ HTTP ºÍ RPC ·þÎñÖж¼´æÔÚͬÑùµÄÎÊÌâ¡£¶øÇÒ֮ǰʹÓà Apache HttpAsyncClient ×÷Ϊ HTTP ÇëÇóµÄÒì²½¿ò¼Üʱ£¬·¢ÏÖʵ¼ÊÇëÇóµÄ Response ¶ÔÏó¹ÒÔÚÇëÇó¶ÔÏóÉíÉÏ¡£Ò²¾ÍÊÇ˵һ¸öÇëÇó¶ÔÏóÔÚ½ÓÊÕµ½½á¹ûºó£¬¸Ã¶ÔÏóÄÚ´æÔö¼ÓÁËÏìÓ¦½á¹ûµÄ¿Õ¼äÕ¼Óã¬Èç¹û²ÉÓø´ÓÃÇëÇó¶ÔÏóµÄ·½Ê½£¬ºÜÈÝÒ×Ôì³ÉÄÚ´æÐ¹Â¶µÄÎÊÌâ¡£

JVM ²ÎÊýµ÷ÓÅ

ÕâÀïÒÔ JVM µÄ CMS ÊÕ¼¯Æ÷ΪÀý£¬¶ÔÓڸ߲¢·¢µÄ³¡¾°£¬Ë²¼ä²úÉú´óÁ¿µÄ¶ÔÏó£¬ÕâЩ¶ÔÏóµÄ´æ»îʱ¼äÓַdz£¶Ì£¬ÎÒÃÇÐèÒª£º

Êʵ±Ôö´óÐÂÉú´úµÄ´óС£¬±£Ö¤ÐÂÉú´úÓÐ×ã¹»µÄ¿Õ¼äÀ´ÈÝÄÉвúÉúµÄ¶ÔÏó¡£µ±È»Èç¹ûÀÏÄê´úÉèÖõĹýС£¬»áµ¼ÖÂÆµ·±µÄ Full GC¡£

Êʵ±µ÷´óÐÂÉú´úÏò½úÉýÀÏÄê´úµÄ´æ»î´ÎÊý£¬¼õÉÙÎÞЧ¶ÔÏó½úÉýÀÏÄê´úµÄ»úÂÊ£»Í¬Ê±¿ØÖÆÐÂÉú´ú´æ»îÇøµÄ´óС£¬Èç¹ûÉèÖõĹýС£¬ºÜÈÝÒ×Ôì³ÉÄÇЩÎÞ·¨ÈÝÄɵÄÐÂÉú´ú¶ÔÏóÌáǰ½úÉý¡£

Ìáǰ´¥·¢ÀÏÄê´úµÄ Full GC£¬ÒòΪÈç¹ûµÈ´ýÀÏÄê´úÂúÁËÔÙ¿ªÊ¼»ØÊÕ£¬¿ÉÄÜ»áÌ«Íí£¬ÕâÑùºÜÈÝÒ×Ôì³É³¤Ê±¼äµÄ Full GC¡£Ò»°ãÉèÔÚ 70% µÄ°²È«Ë®Î»½øÐлØÊÕ¡£¶øÇÒ»ØÊÕµÄʱºò£¬ÐèÒª´¥·¢Ò»´Î Young GC£¬Õâ¿ÉÒÔ¼õÉÙÖØÐ±ê¼Ç½×¶ÎÓ¦ÓÃÔÝÍ£µÄʱ¼ä£¬ÁíÒ»·½Ã棬Ҳ·ÀÖ¹ÔÚ»ØÊÕ½áÊøºó£¬ÓдóÁ¿ÎÞЧµÄ¶ÔÏó½øÈëÀÏÄê´úÖС£

ÉèÖÃÐèÒª½øÐÐÄÚ´æÑ¹ËõÕûÀíµÄ GC ´ÎÊý£¬ÄÚ´æÕûÀí£¬ºÜ¶àʱºòÊÇÔì³É³¤Ê±¼ä GC µÄÖ÷ÒªÔ­Òò¡£ÒòΪÄÚ´æÕûÀíÊDzÉÓà Serial Old Ëã·¨£¬ÒÔµ¥Ï̵߳ķ½Ê½½øÐд¦Àí£¬Õâ¸ö¹ý³Ì»á·Ç³£Âý¡£ÓÈÆäÊÇÔÚÀÏÄê´ú¿Õ¼ä²»×ãµÄÇé¿öÏ£¬GC µÄʱ¼ä»á±äµÃ¸ü³¤¡£

¼à¿ØÄ£¿é

ѹ²â¿Ï¶¨»á¶ÔÏßÉÏ·þÎñ²úÉúÒ»¶¨µÄÓ°Ïì£¬ÌØ±ðÊÇһЩ̽²âϵͳ¼«ÏÞµÄѹ²â£¬ÎÒÃÇÐèÒª¾ß±¸Ãë¼¶¼à¿ØµÄÄÜÁ¦£¬ÒÔ¼°¿É¿¿µÄÈ۶Ͻµ¼¶»úÖÆ¡£

¿Í»§¶Ë¼à¿Ø

ѹ²âÒýÇæ»á½«Ã¿ÃëµÄÊý¾Ý»ã×ܺóÉϱ¨¸ø¼à¿ØÄ£¿é£¬¼à¿ØÄ£¿é»ùÓÚËùÓÐÉϱ¨À´µÄÊý¾Ý½øÐÐͳ¼Æ·ÖÎö¡£ÕâÀïµÄ·ÖÎöÐèҪʵʱ½øÐд¦Àí£¬ÕâÑù²ÅÄÜ×öµ½¿Í»§¶ËµÄÃë¼¶¼à¿Ø¡£¼à¿ØµÄÊý¾Ý°üÀ¨¸÷ TP ÏßµÄÏìÓ¦Çé¿ö¡¢QPS ÇúÏß²¨¶¯¡¢´íÎóÂÊÇé¿öÒÔ¼°²ÉÑùÈÕÖ¾·ÖÎöµÈµÈ¡£

ʵʱ QPS ÇúÏß

´íÎóÂÊͳ¼Æ

²ÉÑùÈÕÖ¾

·þÎñ¶Ë¼à¿Ø

³ýÁËͨ¹ýÒýÇæÉϱ¨µÄѹ²â½á¹ûÀ´½øÐÐÏàÓ¦µÄ¼à¿Ø·ÖÎöÖ®Í⣬Quake »¹¼¯³ÉÁ˹«Ë¾ÄÚ²¿Í³Ò»µÄ¼à¿Ø×é¼þ£¬ÓÐ¼à¿Ø»úÆ÷Ö¸±êµÄ Falcon ϵͳ£¨Ð¡Ã׿ªÔ´£©£¬»¹ÓÐ¼à¿Ø·þÎñÐÔÄÜµÄ CATϵͳ£¨ÃÀÍÅÒѾ­¿ªÔ´£©¡£Quake ÌṩÁËͳһµÄ¹ÜÀíÅäÖ÷þÎñ£¬ÈÃÒµÎñÄÜÔÚ Quake ÉÏ·½±ã¹Û²ìÕû¸öϵͳµÄ½¡¿µ×´¿ö¡£

È۶ϱ£»¤»úÖÆ

Quake ÌṩÁ˿ͻ§¶ËºÍ·þÎñ¶ËÁ½·½ÃæµÄÈ۶ϱ£»¤´ëÊ©¡£

Ê×ÏÈÊǿͻ§¶ËÈÛ¶Ï£¬¸ù¾ÝÒµÎñ×Ô¶¨ÒåµÄÈÛ¶ÏãÚÖµ£¬Quake »áʵʱ·ÖÎö¼à¿ØÊý¾Ý£¬µ±´ïµ½ÈÛ¶ÏãÚֵʱ£¬ÈÎÎñµ÷¶ÈÆ÷»áÏòѹ²âÒýÇæ·¢ËͽµµÍ QPS »òÕßÖ±½ÓÖжÏѹ²âµÄÖ¸Á·Àֹϵͳ±»Ñ¹¹Ò¡£

±»Ñ¹·þÎñͬÑùÒ²ÌṩÁËÈÛ¶Ï»úÖÆ£¬Quake ¼¯³ÉÁ˹«Ë¾ÄÚ²¿µÄÈÛ¶Ï×é¼þ£¨Rhino£©£¬ÌṩÁËѹ²â¹ý³ÌÖеÄÈ۶Ͻµ¼¶ºÍÏÞÁ÷ÄÜÁ¦¡£Óë´Ëͬʱ£¬Quake »¹ÌṩÁËѹ²â¹ÊÕÏÑÝÁ·µÄÄÜÁ¦£¬ÔÚѹ²â¹ý³ÌÖнøÐÐÈËΪµÄ¹ÊÕÏ×¢È룬À´ÑéÖ¤Õû¸öϵͳµÄ½µ¼¶Ô¤°¸¡£

ÏîÄ¿×ܽá

×îºó£¬×ܽáÒ»ÏÂ×ö Quake Õâ¸öÏîÄ¿µÄһЩÐĵá£

С²½¿ìÅÜ

ÆäʵÔÚ Quake ³öÀ´Ö®Ç°£¬ÃÀÍŹ«Ë¾ÄÚ²¿ÒÑÓÐÒ»¸öѹ²âƽ̨£¨Ptest £©£¬ËüµÄ¶¨Î»ÊÇÕë¶Ôµ¥·þÎñµÄÐÔÄÜѹ²â¡£ÎÒÃÇ·ÖÎöÁË Ptest ƽ̨´æÔÚµÄһЩÎÊÌ⣬Æäѹ²âÒýÇæÄÜÁ¦Ò²·Ç³£ÓÐÏÞ¡£ÔÚÃÀÍÅ·¢Õ¹ÔçÆÚ£¬Èç¹ûÓÐÁ½¸ö´óÒµÎñÏßÒª½øÐÐѹ²âµÄ»°£¬»úÆ÷×ÊÔ´ÍùÍù»á²»×㣬ÕâÐèÒªÒµÎñ·½±Ë´ËЭµ÷¡£ÒòΪ׼±¸Ò»´Îѹ²â£¬Ç°ÆÚͶÈë³É±¾Ì«¸ß£¬Óû§ÐèÒª×Ô¼º¹¹Ôì´Ê±í£¬ÓÈÆäÊÇ RPC ·þÎñ£¬Óû§»¹ÐèÒª×Ô¼ºÉÏ´« IDL ÎļþµÈµÈ£¬·Ç³£·±Ëö¡£

Quake Õë¶ÔÒµÎñµÄÕâЩʹµã£¬Õû¸öÍŶӴó¸Å»¨·ÑÒ»¸ö¶àÔµÄʱ¼ä¿ª·¢³öÁ˵ÚÒ»¸ö°æ±¾£¬²¢ÇÒ¿ìËÙʵÏÖÁËÉÏÏß¡£µ±Ê±£¬ÕýÃæÁÙèÑÛʮһ½ÚǰµÄÒ»´Îѹ²â£¬ÄÇÒ²ÊÇ Quake µÄµÚÒ»´ÎÁÁÏ࣬¶øÇÒÈ¡µÃÁ˲»´íµÄ³É¼¨¡£ºóÐø£¬ÎÒÃÇ»ù±¾Æ½¾ùÁ½ÖÜʵÏÖÒ»´Îµü´ú£¬È»ºóÖð²½¼ÓÈëÁË»úÆ÷¸ôÀë¡¢Ó°×Ó±í¸ôÀë¡¢Êý¾ÝÆ«ÒÆ¹æÔò¡¢È۶ϱ£»¤»úÖÆ¡¢´úÂë¼¶±ðµÄÐÔÄÜ·ÖÎöµÈ¹¦ÄÜ¡£

¿ìËÙÏìÓ¦

ÏîÄ¿¸ÕÏßÉÏʱ£¬¿Í·þÃæÁÙÎÊÌâ·Ç³£¶à£¬²»½öÓÐʹÓòãÃæµÄÎÊÌ⣬ϵͳ×ÔÉíÒ²´æÔÚһЩ Bug ȱÏÝ¡£µ±Ê±£¬Ò»µ©Óöµ½ÒµÎñÏß´ó¹æÄ£µÄѹ²â£¬ÎÒÃÇÍŶӶ¼ÊÇȫԱ´ýÃü£¬Ö±½ÓÔÚÏÖ³¡½â¾öÎÊÌâ¡£ºóÐøÏµÍ³Îȶ¨ºó£¬ÎÒÃÇ×éÄÚ²ÉÓÃÁ˿ͷþÂÖ°àÖÆ¶È£¬Ã¿¸öµü´úÓÉһλͬѧרߺÔð¿Í·þ¹¤×÷£¬±£Õϵ±ÒµÎñÓöµ½µÄÎÊÌâÄܹ»×öµ½¿ìËÙÏìÓ¦¡£ÓÈÆäÊÇÔÚÏîÄ¿ÉÏÏß³õÆÚ£¬Õâµã·Ç³£ÓбØÒª¡£Èç¹ûÒµÎñ²¿ÃÅʹÓÃÌåÑéÇ·¼Ñ£¬ÏîÄ¿¿Ú±®Ò²»á±ä²î£¬¾Í»á¶ÔºóÐøµÄÍÆ¹ãÔì³ÉºÜ´óµÄÎÊÌâ¡£

ÏîÄ¿ÍÆ¹ã

ÕâÓ¦¸ÃÊÇËùÓÐÄÚ²¿ÏîÄ¿¶¼»áÓöµ½µÄÎÊÌ⣬ºÜ¶àʱºò£¬Íƹã³É¹û¾ö¶¨ÏîÄ¿µÄÉúËÀ¡£Ç°ÆÚÎÒÃÇÏÈÔÚһЩ±È½ÏÓдú±íÐÔµÄÒµÎñÏß½øÐÐÊԵ㡣Èç¹ûÔÚÊÔµã¹ý³ÌÖÐÓöµ½µÄÎÊÌ⣬»òÕßÒµÎñͬѧÌṩµÄһЩºÃµÄÏë·¨ºÍ½¨Ò飬ÎÒÃÇÄܹ»¿ìËٵؽøÐеü´úÓëÂ䵨¡£È»ºóÔÙ²»¶ÏµØÀ©´óÊԵ㷶Χ£¬°üÀ¨ÃÀÍÅÍâÂô¡¢Ã¨ÑÛ¡¢¾ÆÂᢽðÈڵȼ¸¸ö´óµÄ BG ¶¼ÔÚ Quake ÉϽøÐÐÁ˼¸ÂÖÈ«Á÷³Ì¡¢´ó¹æÄ£µÄÈ«Á´Â·Ñ¹²â¡£

Ëæ×Å Quake ÕûÌ幦ÄÜÇ÷ÓÚÍêÉÆ£¬Í¬Ê±½â¾öÁË Ptest£¨ÏÈǰµÄѹ²âϵͳ£©ÉϵĶà¸öÍ´µã£¬ÎÒÃÇÖð²½ÔÚ¸÷¸öÒµÎñÏß½øÐÐÁËÈ«ÃæÍÆ¹ãºÍÄÚ²¿Åàѵ¡£´ÓĿǰÊÕ¼¯µÄÊý¾Ý¿´£¬ÃÀÍų¬¹ý 90% µÄÒµÎñÒÑ´Ó Ptest Ç¨ÒÆµ½ÁË Quake ¡£¶øÇÒÕûÌåµÄͳ¼ÆÊý¾Ý£¬Ò²±È Ptest ÓÐÁËÃ÷ÏÔµÄÌáÉý¡£

¿ª·ÅÉú̬

Quake Ä¿±êÊÇ´òÔìÈ«Á´Â·µÄѹ²âƽ̨£¬µ«ÊÇÔÚÆ½Ì¨½¨ÉèÕâ¼þÊÂÉÏ£¬ÎÒÃDz¢Ã»ÓпÌÒâÈ¥×·Çó¡£¹«Ë¾ÄÚ²¿Ò²Óв¿·ÖÍŶÓ×ߵıȽϿ¿Ç°£¬ËûÃÇÒ²×öһЩºÜ¶à¡°ÊÔË®ÐÔ¡±µÄ¹¤×÷¡£ÕâÆäʵҲÊÇÒ»¼þºÃÊ£¬Èç¹ûËùÓÐÊÂÇé¶¼ÒÀÍÐÆ½Ì¨À´Íê³É£¬¾Í»áÃæÁÙ×ö²»ÍêµÄÐèÇ󣬶øÇҺܶàÊÂÇé·ÅÔÚÆ½Ì¨²ãÃæ£¬Ò²¿ÉÄÜÎ޽⡣

ͬʱ£¬Quake Ò²ÌṩÁ˺ܶà API ¹©ÆäËûƽ̨½øÐнÓÈ룬һЩҵÎñ¸ß¶È¶¨ÖÆ»¯µÄ¹¤×÷£¬¾ÍÓÉÒµÎñƽ̨¶À×ÔÈ¥Íê³É¡£Æ½Ì¨½öÌṩ»ù´¡µÄÄÜÁ¦ºÍÊý¾ÝÖ§³Ö£¬ÎÒÃÇÍŶӰѺËÐľ«Á¦¾Û½¹ÔÚ¶ÔÆ½Ì¨·¢Õ¹¸üÓмÛÖµµÄÊÂÇéÉÏ¡£

¿çÍŶӺÏ×÷

Æäʵ£¬È«Á´Â·Ñ¹²âÕû¸öÏîÄ¿Éæ¼°µÄÍŶӷdz£Ö®¶à£¬ÉÏÊöÌáµ½µÄºÜ¶à×é¼þ¶¼ÐèÒª¼Ü¹¹ÍŶӵÄÖ§³Ö¡£ÔÚ¿çÍŶӵĺÏ×÷²ãÃæ£¬ÎÒÃÇÓ¦¸ÃÓС°Ë«Ó®¡±µÄÐÄ̬¡£Ïñ Quake ƽ̨ʹÓõĺܶà¼à¿Ø×é¼þ¡¢ÈÛ¶Ï×é¼þÒÔ¼°ÐÔÄÜ·ÖÎö¹¤¾ß£¬ÓÐһЩҲÊÇÐÖµÜÍŶӸÕÏßÉÏû¶à¾ÃµÄ²úÆ·¡£ Quake ½«Æä¼¯³Éµ½Æ½Ì¨ÖУ¬Ò»·½ÃæÊǼõÉÙ×ÔÉíÖØ¸´ÔìÂÖ×Ó£»ÁíÒ»·½ÃæÒ²¿ÉÒÔ°ïÖúÐÖµÜÍŶÓÍÆ¶¯²úÆ·µÄÑз¢¹¤×÷¡£

 
   
4380 ´Îä¯ÀÀ       31
Ïà¹ØÎÄÕÂ

΢·þÎñ²âÊÔÖ®µ¥Ôª²âÊÔ
һƪͼÎÄ´øÄãÁ˽â°×ºÐ²âÊÔÓÃÀýÉè¼Æ·½·¨
È«ÃæµÄÖÊÁ¿±£ÕÏÌåϵ֮»Ø¹é²âÊÔ²ßÂÔ
È˹¤ÖÇÄÜ×Ô¶¯»¯²âÊÔ̽Ë÷
Ïà¹ØÎĵµ

×Ô¶¯»¯½Ó¿Ú²âÊÔʵ¼ù֮·
jenkins³ÖÐø¼¯³É²âÊÔ
ÐÔÄܲâÊÔÕï¶Ï·ÖÎöÓëÓÅ»¯
ÐÔÄܲâÊÔʵÀý
Ïà¹Ø¿Î³Ì

³ÖÐø¼¯³É²âÊÔ×î¼Ñʵ¼ù
×Ô¶¯»¯²âÊÔÌåϵ½¨ÉèÓë×î¼Ñʵ¼ù
²âÊԼܹ¹µÄ¹¹½¨ÓëÓ¦ÓÃʵ¼ù
DevOpsʱ´úµÄ²âÊÔ¼¼ÊõÓë×î¼Ñʵ¼ù
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
´óÊý¾Ýƽ̨²âÊÔ
΢·þÎñ¼Ü¹¹ÏµIJâÊÔÖ®µÀ
´ÓÁã¿ªÊ¼ÕÆÎÕ΢·þÎñÈí¼þ²âÊÔ
ÈçºÎ½øÐвâÊÔÐèÇó·ÖÎö£º´Ó½ÓÊÕÐèÇóµ½ÓÃÀýÉè¼Æ
python_selenium×Ô¶¯»¯²âÊÔ¿ò¼Ü
×îпγÌ
²âÊÔÐèÇó·ÖÎöÓë²âÊÔÓÃÀýÉè¼Æ
ÐÔÄܲâÊÔ·½·¨Óë¼¼Êõ
×Ô¶¯»¯²âÊÔ¿ò¼ÜÉè¼Æ¸ß¼¶Êµ¼ù
½Ó¿Ú×Ô¶¯»¯²âÊÔ·½·¨Ó빤¾ß
Èí¼þ²âÊÔ·½·¨Óëʵ¼ù(¹á´©°¸Àý)
³É¹¦°¸Àý
ij֧¸¶ÆóÒµ µ¥Ôª²âÊÔÓëÖØ¹¹Åàѵ
±±¾© Óû§ÌåÑé¡¢¿ÉÓÃÐÔ²âÊÔÓëÆÀ¹À
ij¾ü¹¤Ñо¿µ¥Î» ×Ô¶¯»¯²âÊÔ·½·¨¡¢°¸ÀýÓ빤¾ß
ÖªÃûÏû·Ñ½ðÈÚ¹«Ë¾ ̽Ë÷ÐÔ²âÊÔÓë²âÊÔ·ÖÎö
±±¾© º½Ìì¿Æ¹¤Ä³×Ó¹«Ë¾ Èí¼þ²âÊԼܹ¹Ê¦