1 ÃëɱҵÎñ·ÖÎö
Õý³£µç×ÓÉÌÎñÁ÷³Ì£¨1£©²éѯÉÌÆ·£»£¨2£©´´½¨¶©µ¥£»£¨3£©¿Û¼õ¿â´æ£»£¨4£©¸üж©µ¥£»£¨5£©¸¶¿î£»£¨6£©Âô¼Ò·¢»õ
ÃëɱҵÎñµÄÌØÐÔ£¨1£©µÍÁ®¼Û¸ñ£»£¨2£©´ó·ùÍÆ¹ã£»£¨3£©Ë²Ê±ÊÛ¿Õ£»£¨4£©Ò»°ãÊǶ¨Ê±Éϼܣ»£¨5£©Ê±¼ä¶Ì¡¢Ë²Ê±²¢·¢Á¿¸ß£»
2 Ãëɱ¼¼ÊõÌôÕ½
¼ÙÉèÄ³ÍøÕ¾Ãëɱ»î¶¯Ö»ÍƳöÒ»¼þÉÌÆ·£¬Ô¤¼Æ»áÎüÒý1ÍòÈ˲μӻ£¬Ò²¾Í˵×î´ó²¢·¢ÇëÇóÊýÊÇ10000£¬ÃëɱϵͳÐèÒªÃæ¶ÔµÄ¼¼ÊõÌôÕ½ÓУº
1.¶ÔÏÖÓÐÍøÕ¾ÒµÎñÔì³É³å»÷Ãëɱ»î¶¯Ö»ÊÇÍøÕ¾ÓªÏúµÄÒ»¸ö¸½¼Ó»î¶¯£¬Õâ¸ö»î¶¯¾ßÓÐʱ¼ä¶Ì£¬²¢·¢·ÃÎÊÁ¿´óµÄÌØµã£¬Èç¹ûºÍÍøÕ¾ÔÓÐÓ¦Óò¿ÊðÔÚÒ»Æð£¬±ØÈ»»á¶ÔÏÖÓÐÒµÎñÔì³É³å»÷£¬ÉÔÓв»É÷¿ÉÄܵ¼ÖÂÕû¸öÍøÕ¾Ì±»¾¡£½â¾ö·½°¸£º½«Ãëɱϵͳ¶ÀÁ¢²¿Êð£¬ÉõÖÁʹÓöÀÁ¢ÓòÃû£¬Ê¹ÆäÓëÍøÕ¾ÍêÈ«¸ôÀë¡£
2.¸ß²¢·¢ÏµÄÓ¦Óá¢Êý¾Ý¿â¸ºÔØÓû§ÔÚÃëɱ¿ªÊ¼Ç°£¬Í¨¹ý²»Í£Ë¢ÐÂä¯ÀÀÆ÷Ò³ÃæÒÔ±£Ö¤²»»á´í¹ýÃëɱ£¬ÕâЩÇëÇóÈç¹û°´ÕÕÒ»°ãµÄÍøÕ¾Ó¦Óüܹ¹£¬·ÃÎÊÓ¦Ó÷þÎñÆ÷¡¢Á¬½ÓÊý¾Ý¿â£¬»á¶ÔÓ¦Ó÷þÎñÆ÷ºÍÊý¾Ý¿â·þÎñÆ÷Ôì³É¸ºÔØÑ¹Á¦¡£½â¾ö·½°¸£ºÖØÐÂÉè¼ÆÃëɱÉÌÆ·Ò³Ã棬²»Ê¹ÓÃÍøÕ¾ÔÀ´µÄÉÌÆ·ÏêÏ¸Ò³Ãæ£¬Ò³ÃæÄÚÈݾ²Ì¬»¯£¬Óû§ÇëÇó²»ÐèÒª¾¹ýÓ¦Ó÷þÎñ¡£
3.ͻȻÔö¼ÓµÄÍøÂç¼°·þÎñÆ÷´ø¿í¼ÙÉèÉÌÆ·Ò³Ãæ´óС200K£¨Ö÷ÒªÊÇÉÌÆ·Í¼Æ¬´óС£©£¬ÄÇôÐèÒªµÄÍøÂçºÍ·þÎñÆ÷´ø¿íÊÇ2G£¨200K¡Á10000£©£¬ÕâÐ©ÍøÂç´ø¿íÊÇÒòΪÃëɱ»î¶¯ÐÂÔöµÄ£¬³¬¹ýÍøÕ¾Æ½Ê±Ê¹ÓõĴø¿í¡£½â¾ö·½°¸£ºÒòΪÃëɱÐÂÔöµÄÍøÂç´ø¿í£¬±ØÐëºÍÔËÓªÉÌÖØÐ¹ºÂò»òÕß×â½è¡£ÎªÁ˼õÇáÍøÕ¾·þÎñÆ÷µÄѹÁ¦£¬ÐèÒª½«ÃëɱÉÌÆ·Ò³Ã滺´æÔÚCDN£¬Í¬ÑùÐèÒªºÍCDN·þÎñÉÌÁÙʱ×â½èÐÂÔöµÄ³ö¿Ú´ø¿í¡£
4.Ö±½Óϵ¥ÃëɱµÄÓÎÏ·¹æÔòÊǵ½ÁËÃëɱ²ÅÄÜ¿ªÊ¼¶ÔÉÌÆ·Ïµ¥¹ºÂò£¬ÔÚ´Ëʱ¼äµã֮ǰ£¬Ö»ÄÜä¯ÀÀÉÌÆ·ÐÅÏ¢£¬²»ÄÜϵ¥¡£¶øÏµ¥Ò³ÃæÒ²ÊÇÒ»¸öÆÕͨµÄURL£¬Èç¹ûµÃµ½Õâ¸öURL£¬²»Óõȵ½Ãëɱ¿ªÊ¼¾Í¿ÉÒÔϵ¥ÁË¡£½â¾ö·½°¸£ºÎªÁ˱ÜÃâÓû§Ö±½Ó·ÃÎÊϵ¥Ò³ÃæURL£¬ÐèÒª½«¸ÄURL¶¯Ì¬»¯£¬¼´Ê¹ÃëɱϵͳµÄ¿ª·¢ÕßÒ²ÎÞ·¨ÔÚÃëɱ¿ªÊ¼Ç°·ÃÎÊϵ¥Ò³ÃæµÄURL¡£°ì·¨ÊÇÔÚϵ¥Ò³ÃæURL¼ÓÈëÓÉ·þÎñÆ÷¶ËÉú³ÉµÄËæ»úÊý×÷Ϊ²ÎÊý£¬ÔÚÃëɱ¿ªÊ¼µÄʱºò²ÅÄܵõ½¡£
5.ÈçºÎ¿ØÖÆÃëɱÉÌÆ·Ò³Ã湺Âò°´Å¥µÄµãÁÁ¹ºÂò°´Å¥Ö»ÓÐÔÚÃëɱ¿ªÊ¼µÄʱºò²ÅÄܵãÁÁ£¬ÔÚ´Ë֮ǰÊÇ»ÒÉ«µÄ¡£Èç¹û¸ÃÒ³ÃæÊǶ¯Ì¬Éú³ÉµÄ£¬µ±È»¿ÉÒÔÔÚ·þÎñÆ÷¶Ë¹¹ÔìÏìÓ¦Ò³ÃæÊä³ö£¬¿ØÖƸð´Å¥ÊÇ»ÒÉ«»¹
ÊǵãÁÁ£¬µ«ÊÇΪÁ˼õÇá·þÎñÆ÷¶Ë¸ºÔØÑ¹Á¦£¬¸üºÃµØÀûÓÃCDN¡¢·´Ïò´úÀíµÈÐÔÄÜÓÅ»¯ÊֶΣ¬¸ÃÒ³Ãæ±»Éè¼ÆÎª¾²Ì¬Ò³Ã棬»º´æÔÚCDN¡¢·´Ïò´úÀí·þÎñÆ÷ÉÏ£¬ÉõÖÁÓû§ä¯ÀÀÆ÷ÉÏ¡£Ãëɱ¿ªÊ¼Ê±£¬Óû§Ë¢ÐÂÒ³Ãæ£¬ÇëÇó¸ù±¾²»»áµ½´ïÓ¦Ó÷þÎñÆ÷¡£½â¾ö·½°¸£ºÊ¹ÓÃJavaScript½Å±¾¿ØÖÆ£¬ÔÚÃëɱÉÌÆ·¾²Ì¬Ò³ÃæÖмÓÈëÒ»¸öJavaScriptÎļþÒýÓ㬸ÃJavaScriptÎļþÖаüº¬
Ãëɱ¿ªÊ¼±ê־Ϊ·ñ£»µ±Ãëɱ¿ªÊ¼µÄʱºòÉú³ÉÒ»¸öеÄJavaScriptÎļþ£¨ÎļþÃû±£³Ö²»±ä£¬Ö»ÊÇÄÚÈݲ»Ò»Ñù£©£¬¸üÐÂÃëɱ¿ªÊ¼±ê־ΪÊÇ£¬¼ÓÈëϵ¥Ò³ÃæµÄURL¼°Ëæ»úÊý²ÎÊý£¨Õâ¸öËæ»úÊýÖ»»á²úÉúÒ»¸ö£¬¼´ËùÓÐÈË¿´µ½µÄURL¶¼ÊÇͬһ¸ö£¬·þÎñÆ÷¶Ë¿ÉÒÔÓÃredisÕâÖÖ·Ö²¼Ê½»º´æ·þÎñÆ÷À´±£´æËæ»úÊý£©£¬²¢±»Óû§ä¯ÀÀÆ÷¼ÓÔØ£¬¿ØÖÆÃëɱÉÌÆ·Ò³ÃæµÄչʾ¡£Õâ¸öJavaScriptÎļþµÄ¼ÓÔØ¿ÉÒÔ¼ÓÉÏËæ»ú°æ±¾ºÅ£¨ÀýÈçxx.js?v=32353823£©£¬ÕâÑù¾Í²»»á±»ä¯ÀÀÆ÷¡¢CDNºÍ·´Ïò´úÀí·þÎñÆ÷»º´æ¡£Õâ¸öJavaScriptÎļþ·Ç³£Ð¡£¬¼´Ê¹Ã¿´Îä¯ÀÀÆ÷ˢж¼·ÃÎÊJavaScriptÎļþ·þÎñÆ÷Ò²²»»á¶Ô·þÎñÆ÷¼¯ÈººÍÍøÂç´ø¿íÔì³ÉÌ«´óѹÁ¦¡£
6.ÈçºÎÖ»ÔÊÐíµÚÒ»¸öÌá½»µÄ¶©µ¥±»·¢Ë͵½¶©µ¥×ÓϵͳÓÉÓÚ×îÖÕÄܹ»³É¹¦Ãëɱµ½ÉÌÆ·µÄÓû§Ö»ÓÐÒ»¸ö£¬Òò´ËÐèÒªÔÚÓû§Ìá½»¶©µ¥Ê±£¬¼ì²éÊÇ·ñÒѾÓж©µ¥Ìá½»¡£Èç¹ûÒѾÓж©µ¥Ìá½»³É¹¦£¬ÔòÐèÒª¸üÐÂ
JavaScriptÎļþ£¬¸üÐÂÃëɱ¿ªÊ¼±ê־Ϊ·ñ£¬¹ºÂò°´Å¥±ä»Ò¡£ÊÂʵÉÏ£¬ÓÉÓÚ×îÖÕÄܹ»³É¹¦Ìá½»¶©µ¥µÄÓû§Ö»ÓÐÒ»¸ö£¬ÎªÁ˼õÇáϵ¥Ò³Ãæ·þÎñÆ÷µÄ¸ºÔØÑ¹Á¦£¬
¿ÉÒÔ¿ØÖƽøÈëϵ¥Ò³ÃæµÄÈë¿Ú£¬Ö»ÓÐÉÙÊýÓû§ÄܽøÈëϵ¥Ò³Ã棬ÆäËûÓû§Ö±½Ó½øÈëÃëɱ½áÊøÒ³Ãæ¡£½â¾ö·½°¸£º¼ÙÉèϵ¥·þÎñÆ÷¼¯ÈºÓÐ10̨·þÎñÆ÷£¬Ã¿Ì¨·þÎñÆ÷Ö»½ÓÊÜ×î¶à10¸öϵ¥ÇëÇó¡£ÔÚ»¹Ã»ÓÐÈËÌá½»¶©µ¥³É¹¦Ö®Ç°£¬Èç¹ûһ̨·þÎñÆ÷ÒѾÓÐÊ®µ¥ÁË£¬¶øÓеÄÒ»µ¥¶¼Ã»´¦Àí£¬¿ÉÄܳöÏÖµÄÓû§ÌåÑé²»¼ÑµÄ³¡¾°ÊÇÓû§µÚÒ»´Îµã»÷¹ºÂò°´Å¥½øÈëÒѽáÊøÒ³Ãæ£¬ÔÙË¢ÐÂÒ»ÏÂÒ³Ãæ£¬ÓпÉÄܱ»Ò»µ¥¶¼Ã»Óд¦ÀíµÄ·þÎñÆ÷´¦Àí£¬½øÈëÁËÌîд¶©µ¥µÄÒ³Ãæ£¬¿ÉÒÔ¿¼ÂÇͨ¹ýcookieµÄ·½Ê½À´Ó¦¶Ô£¬·ûºÏÒ»ÖÂÐÔÔÔò¡£µ±È»¿ÉÒÔ²ÉÓÃ×îÉÙÁ¬½ÓµÄ¸ºÔؾùºâËã·¨£¬³öÏÖÉÏÊöÇé¿öµÄ¸ÅÂÊ´ó´ó½µµÍ¡£
7.ÈçºÎ½øÐÐϵ¥Ç°Öüì²é
ϵ¥·þÎñÆ÷¼ì²é±¾»úÒÑ´¦ÀíµÄϵ¥ÇëÇóÊýÄ¿£º
Èç¹û³¬¹ý10Ìõ£¬Ö±½Ó·µ»ØÒѽáÊøÒ³Ãæ¸øÓû§£»
Èç¹û䳬¹ý10Ìõ£¬ÔòÓû§¿É½øÈëÌîд¶©µ¥¼°È·ÈÏÒ³Ãæ£»
¼ì²éÈ«¾ÖÒÑÌá½»¶©µ¥ÊýÄ¿£º
Òѳ¬¹ýÃëɱÉÌÆ·×ÜÊý£¬·µ»ØÒѽáÊøÒ³Ãæ¸øÓû§£»
䳬¹ýÃëɱÉÌÆ·×ÜÊý£¬Ìá½»µ½×Ó¶©µ¥ÏµÍ³£»
8.Ãëɱһ°ãÊǶ¨Ê±Éϼܸù¦ÄÜʵÏÖ·½Ê½ºÜ¶à¡£²»¹ýĿǰ±È½ÏºÃµÄ·½Ê½ÊÇ£ºÌáǰÉ趨ºÃÉÌÆ·µÄÉϼÜʱ¼ä£¬Óû§¿ÉÒÔÔÚǰ̨¿´µ½¸ÃÉÌÆ·£¬µ«ÊÇÎÞ·¨µã»÷¡°Á¢¼´¹ºÂò¡±µÄ°´Å¥¡£µ«ÊÇÐèÒª¿¼ÂǵÄÊÇ£¬ÓÐÈË¿ÉÒÔÈÆ¹ýǰ¶ËµÄÏÞÖÆ£¬Ö±½Óͨ¹ýURLµÄ·½Ê½·¢Æð¹ºÂò£¬Õâ¾ÍÐèÒªÔÚǰ̨ÉÌÆ·Ò³Ã棬ÒÔ¼°bugÒ³Ãæµ½ºó¶ËµÄÊý¾Ý¿â£¬¶¼Òª½øÐÐʱÖÓͬ²½¡£Ô½ÔÚºó¶Ë¿ØÖÆ£¬°²È«ÐÔÔ½¸ß¡£¶¨Ê±ÃëɱµÄ»°£¬¾ÍÒª±ÜÃâÂô¼ÒÔÚÃëɱǰ¶ÔÉÌÆ·×ö±à¼´øÀ´µÄ²»¿ÉÔ¤ÆÚµÄÓ°Ïì¡£ÕâÖÖÌØÊâµÄ±ä¸üÐèÒª¶à·½ÃæÆÀ¹À¡£Ò»°ã½ûÖ¹±à¼£¬ÈçÐè±ä¸ü£¬¿ÉÒÔ×ßÊý¾Ý¶©Õý¶àµÄÁ÷³Ì¡£
9.¼õ¿â´æµÄ²Ù×÷ÓÐÁ½ÖÖÑ¡Ôñ£¬Ò»ÖÖÊÇÅÄϼõ¿â´æ ÁíÍâÒ»ÖÖÊǸ¶¿î¼õ¿â´æ£»Ä¿Ç°²ÉÓõġ°ÅÄϼõ¿â´æ¡±µÄ·½Ê½£¬ÅÄϾÍÊÇһ˲¼äµÄÊ£¬¶ÔÓû§ÌåÑé»áºÃЩ¡£
10.¿â´æ»á´øÀ´¡°³¬Âô¡±µÄÎÊÌ⣺ÊÛ³öÊýÁ¿¶àÓÚ¿â´æÊýÁ¿ÓÉÓÚ¿â´æ²¢·¢¸üеÄÎÊÌ⣬µ¼ÖÂÔÚʵ¼Ê¿â´æÒѾ²»×ãµÄÇé¿öÏ£¬¿â´æÒÀÈ»ÔÚ¼õ£¬µ¼ÖÂÂô¼ÒµÄÉÌÆ·ÂôµÃ¼þÊý³¬¹ýÃëɱµÄÔ¤ÆÚ¡£·½°¸£º²ÉÓÃÀÖ¹ÛËø
update auction_auctions set quantity = #inQuantity# where auction_id = #itemId# and quantity = #dbQuantity# |
11.ÃëɱÆ÷µÄÓ¦¶ÔÃëɱÆ÷Ò»°ãϵ¥¸ö¹ºÂò¼°ÆäѸËÙ£¬¸ù¾Ý¹ºÂò¼Ç¼¿ÉÒÔÕç±ð³öÒ»²¿·Ö¡£¿ÉÒÔͨ¹ýУÑéÂë´ïµ½Ò»¶¨µÄ·½·¨£¬Õâ¾ÍÒªÇóУÑéÂë×ã¹»°²È«£¬²»±»ÆÆ½â£¬²ÉÓõķ½Ê½ÓУºÃëɱרÓÃÑéÖ¤Â룬µçÊÓ¹«²¼ÑéÖ¤Â룬Ãëɱ´ðÌâ¡£
3 Ãëɱ¼Ü¹¹ÔÔò
¾¡Á¿½«ÇëÇóÀ¹½ØÔÚϵͳÉÏÓδ«Í³Ãëɱϵͳ֮ËùÒÔ¹Ò£¬ÇëÇó¶¼Ñ¹µ¹Á˺ó¶ËÊý¾Ý²ã£¬Êý¾Ý¶ÁÐ´Ëø³åÍ»ÑÏÖØ£¬²¢·¢¸ßÏìÓ¦Âý£¬¼¸ºõËùÓÐÇëÇó¶¼³¬Ê±£¬Á÷Á¿Ëä´ó£¬Ïµ¥³É¹¦µÄÓÐЧÁ÷Á¿ÉõС¡¾Ò»ÌË»ð³µÆäʵֻÓÐ2000ÕÅÆ±£¬200w¸öÈËÀ´Âò£¬»ù±¾Ã»ÓÐÈËÄÜÂò³É¹¦£¬ÇëÇóÓÐЧÂÊΪ0¡¿¡£
¶Á¶àдÉٵij£ÓöàʹÓûº´æÕâÊÇÒ»¸öµäÐ͵ĶÁ¶àдÉÙµÄÓ¦Óó¡¾°¡¾Ò»ÌË»ð³µÆäʵֻÓÐ2000ÕÅÆ±£¬200w¸öÈËÀ´Âò£¬×î¶à2000¸öÈËϵ¥³É¹¦£¬ÆäËûÈ˶¼ÊDzéѯ¿â´æ£¬Ð´±ÈÀýÖ»ÓÐ0.1%£¬¶Á±ÈÀýÕ¼99.9%¡¿£¬·Ç³£ÊʺÏʹÓûº´æ¡£
4 Ãëɱ¼Ü¹¹Éè¼Æ
ÃëɱϵͳΪÃëɱ¶øÉè¼Æ£¬²»Í¬ÓÚÒ»°ãµÄÍø¹ºÐÐΪ£¬²ÎÓëÃëɱ»î¶¯µÄÓû§¸ü¹ØÐĵÄÊÇÈçºÎÄÜ¿ìËÙË¢ÐÂÉÌÆ·Ò³Ã棬ÔÚÃëɱ¿ªÊ¼µÄʱºòÇÀÏȽøÈëϵ¥Ò³Ã棬¶ø²»ÊÇÉÌÆ·ÏêÇéµÈÓû§ÌåÑéϸ½Ú£¬Òò´ËÃëɱϵͳµÄÒ³ÃæÉè¼ÆÓ¦¾¡¿ÉÄܼòµ¥¡£
ÉÌÆ·Ò³ÃæÖеĹºÂò°´Å¥Ö»ÓÐÔÚÃëɱ»î¶¯¿ªÊ¼µÄʱºò²Å±äÁÁ£¬ÔÚ´Ë֮ǰ¼°ÃëɱÉÌÆ·Âô³öºó£¬¸Ã°´Å¥¶¼ÊÇ»ÒÉ«µÄ£¬²»¿ÉÒÔµã»÷¡£
ϵ¥±íµ¥Ò²¾¡¿ÉÄܼòµ¥£¬¹ºÂòÊýÁ¿Ö»ÄÜÊÇÒ»¸öÇÒ²»¿ÉÒÔÐ޸ģ¬ËÍ»õµØÖ·ºÍ¸¶¿î·½Ê½¶¼Ê¹ÓÃÓû§Ä¬ÈÏÉèÖã¬Ã»ÓÐĬÈÏÒ²¿ÉÒÔ²»ÌÔÊÐíµÈ¶©µ¥Ìá½»ºóÐ޸ģ»Ö»ÓеÚÒ»¸öÌá½»µÄ¶©µ¥·¢Ë͸øÍøÕ¾µÄ¶©µ¥×Óϵͳ£¬ÆäÓàÓû§Ìá½»¶©µ¥ºóÖ»ÄÜ¿´µ½Ãëɱ½áÊøÒ³Ãæ¡£
Òª×öÒ»¸öÕâÑùµÄÃëɱϵͳ£¬ÒµÎñ»á·ÖΪÁ½¸ö½×¶Î£¬µÚÒ»¸ö½×¶ÎÊÇÃëɱ¿ªÊ¼Ç°Ä³¸öʱ¼äµ½Ãëɱ¿ªÊ¼£¬
Õâ¸ö½×¶Î¿ÉÒÔ³ÆÖ®Îª×¼±¸½×¶Î£¬Óû§ÔÚ×¼±¸½×¶ÎµÈ´ýÃëɱ£» µÚ¶þ¸ö½×¶Î¾ÍÊÇÃëɱ¿ªÊ¼µ½ËùÓвÎÓëÃëɱµÄÓû§»ñµÃÃëɱ½á¹û£¬
Õâ¸ö¾Í³ÆÎªÃëɱ½×¶Î°É¡£
4.1 ǰ¶Ë²ãÉè¼Æ
Ê×ÏÈÒªÓÐÒ»¸öչʾÃëɱÉÌÆ·µÄÒ³Ãæ£¬ ÔÚÕâ¸öÒ³ÃæÉÏ×öÒ»¸öÃëɱ»î¶¯¿ªÊ¼µÄµ¹¼ÆÊ±£¬
ÔÚ×¼±¸½×¶ÎÄÚÓû§»áÂ½Ðø´ò¿ªÕâ¸öÃëɱµÄÒ³Ãæ£¬ ²¢ÇÒ¿ÉÄܲ»Í£µÄË¢ÐÂÒ³Ãæ¡£ÕâÀïÐèÒª¿¼ÂÇÁ½¸öÎÊÌ⣺
1.µÚÒ»¸öÊÇÃëÉ±Ò³ÃæµÄչʾÎÒÃÇÖªµÀÒ»¸öhtmlÒ³Ãæ»¹ÊDZȽϴóµÄ£¬¼´Ê¹×öÁËѹËõ£¬httpÍ·ºÍÄÚÈݵĴóСҲ¿ÉÄܸߴïÊýÊ®K£¬¼ÓÉÏÆäËûµÄcss£¬
js£¬Í¼Æ¬µÈ×ÊÔ´£¬Èç¹ûͬʱÓм¸Ç§ÍòÈ˲ÎÓëÒ»¸öÉÌÆ·µÄÇÀ¹º£¬Ò»°ã»ú·¿´ø¿íÒ²¾ÍÖ»ÓÐ1G~10G£¬ÍøÂç´ø¿í¾Í¼«ÓпÉÄܳÉΪƿ¾±£¬ËùÒÔÕâ¸öÒ³ÃæÉϸ÷Àྲ̬×ÊÔ´Ê×ÏÈÓ¦·Ö¿ª´æ·Å£¬È»ºó·Åµ½cdn½ÚµãÉÏ·ÖɢѹÁ¦£¬ÓÉÓÚCDN½Úµã±é²¼È«¹ú¸÷µØ£¬ÄÜ»º³åµô¾ø´ó²¿·ÖµÄѹÁ¦£¬¶øÇÒ»¹±È»ú·¿´ø¿í±ãÒË~
2.µÚ¶þ¸öÊǵ¹¼ÆÊ±³öÓÚÐÔÄÜÔÒòÕâ¸öÒ»°ãÓÉjsµ÷Óÿͻ§¶Ë±¾µØÊ±¼ä£¬¾ÍÓпÉÄܳöÏÖ¿Í»§¶ËʱÖÓÓë·þÎñÆ÷ʱÖÓ²»Ò»Ö£¬ÁíÍâ·þÎñÆ÷Ö®¼äÒ²ÊÇÓпÉÄܳöÏÖʱÖÓ²»Ò»Ö¡£¿Í»§¶ËÓë·þÎñÆ÷ʱÖÓ²»Ò»Ö¿ÉÒÔ²ÉÓÿͻ§¶Ë¶¨Ê±ºÍ·þÎñÆ÷ͬ²½Ê±¼ä£¬ÕâÀÂÇÒ»ÏÂÐÔÄÜÎÊÌ⣬ÓÃÓÚͬ²½Ê±¼äµÄ½Ó¿ÚÓÉÓÚ²»Éæ¼°µ½ºó¶ËÂß¼£¬Ö»ÐèÒª½«µ±Ç°web·þÎñÆ÷µÄʱ¼ä·¢Ë͸ø¿Í»§¶Ë¾Í¿ÉÒÔÁË£¬Òò´ËËٶȺܿ죬¾ÍÎÒÒÔǰ²âÊԵĽá¹ûÀ´¿´£¬Ò»Ì¨±ê×¼µÄweb·þÎñÆ÷2W+QPS²»»áÓÐÎÊÌ⣬Èç¹û100WÈËͬʱˢ£¬100W
QPSÒ²Ö»ÐèÒª50̨web£¬Ò»Ì¨Ó²¼þLB¾Í¿ÉÒÔÁË~£¬²¢ÇÒweb·þÎñÆ÷ȺÊÇ¿ÉÒÔºÜÈÝÒ׵ĺáÏòÀ©Õ¹µÄ(LB+DNSÂÖѯ)£¬Õâ¸ö½Ó¿Ú¿ÉÒÔÖ»·µ»ØÒ»Ð¡¶Îjson¸ñʽµÄÊý¾Ý£¬¶øÇÒ¿ÉÒÔÓÅ»¯Ò»Ï¼õÉÙ²»±ØÒªcookieºÍÆäËûhttpÍ·µÄÐÅÏ¢£¬ËùÒÔÊý¾ÝÁ¿²»»áºÜ´ó£¬Ò»°ãÀ´ËµÍøÂç²»»á³ÉΪƿ¾±£¬¼´Ê¹³ÉΪƿ¾±Ò²¿ÉÒÔ¿¼ÂǶà»ú·¿×¨ÏßÁ¬Í¨£¬¼ÓÖÇÄÜDNSµÄ½â¾ö·½°¸£»web·þÎñÆ÷Ö®¼äʱ¼ä²»Í¬²½¿ÉÒÔ²ÉÓÃͳһʱ¼ä·þÎñÆ÷µÄ·½Ê½£¬±ÈÈçÿ¸ô1·ÖÖÓËùÓвÎÓëÃëɱ»î¶¯µÄweb·þÎñÆ÷¾ÍÓëʱ¼ä·þÎñÆ÷×öÒ»´Îʱ¼äͬ²½¡£
3.ä¯ÀÀÆ÷²ãÇëÇóÀ¹½Ø£¨1£©²úÆ·²ãÃæ£¬Óû§µã»÷¡°²éѯ¡±»òÕß¡°¹ºÆ±¡±ºó£¬°´Å¥Öûң¬½ûÖ¹Óû§Öظ´Ìá½»ÇëÇó;£¨2£©JS²ãÃæ£¬ÏÞÖÆÓû§ÔÚxÃëÖ®ÄÚÖ»ÄÜÌá½»Ò»´ÎÇëÇó;
4.2 Õ¾µã²ãÉè¼Æ
ǰ¶Ë²ãµÄÇëÇóÀ¹½Ø£¬Ö»ÄÜÀ¹×¡Ð¡°×Óû§£¨²»¹ýÕâÊÇ99%µÄÓû§Ó´£©£¬¸ß¶ËµÄ³ÌÐòÔ±¸ù±¾²»³ÔÕâÒ»Ì×£¬Ð´¸öforÑ»·£¬Ö±½Óµ÷ÓÃÄãºó¶ËµÄhttpÇëÇó£¬ÔõôÕû£¿
£¨1£©Í¬Ò»¸öuid£¬ÏÞÖÆ·ÃÎÊÆµ¶È£¬×öÒ³Ãæ»º´æ£¬xÃëÄÚµ½´ïÕ¾µã²ãµÄÇëÇ󣬾ù·µ»ØÍ¬Ò»Ò³Ãæ
£¨2£©Í¬Ò»¸öitemµÄ²éѯ£¬ÀýÈçÊÖ»ú³µ´Î£¬×öÒ³Ãæ»º´æ£¬xÃëÄÚµ½´ïÕ¾µã²ãµÄÇëÇ󣬾ù·µ»ØÍ¬Ò»Ò³Ãæ
Èç´ËÏÞÁ÷£¬ÓÖÓÐ99%µÄÁ÷Á¿»á±»À¹½ØÔÚÕ¾µã²ã¡£
4.3 ·þÎñ²ãÉè¼Æ
Õ¾µã²ãµÄÇëÇóÀ¹½Ø£¬Ö»ÄÜÀ¹×¡ÆÕͨ³ÌÐòÔ±£¬¸ß¼¶ºÚ¿Í£¬¼ÙÉèËû¿ØÖÆÁË10w̨È⼦£¨²¢ÇÒ¼ÙÉèÂòƱ²»ÐèҪʵÃûÈÏÖ¤£©£¬ÕâÏÂuidµÄÏÞÖÆ²»ÐÐÁ˰ɣ¿ÔõôÕû£¿
£¨1£©´ó¸ç£¬ÎÒÊÇ·þÎñ²ã£¬ÎÒÇå³þµÄÖªµÀСÃ×Ö»ÓÐ1Íò²¿ÊÖ»ú£¬ÎÒÇå³þµÄÖªµÀÒ»Áлð³µÖ»ÓÐ2000ÕųµÆ±£¬ÎÒ͸10w¸öÇëÇóÈ¥Êý¾Ý¿âÓÐʲôÒâÒåÄØ£¿¶ÔÓÚдÇëÇó£¬×öÇëÇó¶ÓÁУ¬Ã¿´Îֻ͸¹ýÓÐÏÞµÄдÇëÇóÈ¥Êý¾Ý²ã£¬Èç¹û¾ù³É¹¦ÔÙ·ÅÏÂÒ»Åú£¬Èç¹û¿â´æ²»¹»Ôò¶ÓÁÐÀïµÄдÇëÇóÈ«²¿·µ»Ø¡°ÒÑÊÛÍꡱ£»
£¨2£©¶ÔÓÚ¶ÁÇëÇ󣬻¹ÓÃ˵ô£¿cacheÀ´¿¹£¬²»¹ÜÊÇmemcached»¹ÊÇredis£¬µ¥»ú¿¹¸öÿÃë10wÓ¦¸Ã¶¼ÊÇûʲôÎÊÌâµÄ£»
Èç´ËÏÞÁ÷£¬Ö»Óзdz£ÉÙµÄдÇëÇ󣬺ͷdz£ÉٵĶÁ»º´æmisµÄÇëÇó»á͸µ½Êý¾Ý²ãÈ¥£¬ÓÖÓÐ99.9%µÄÇëÇó±»À¹×¡ÁË¡£
1.Óû§ÇëÇó·Ö·¢Ä£¿é£ºÊ¹ÓÃNginx»òApache½«Óû§µÄÇëÇó·Ö·¢µ½²»Í¬µÄ»úÆ÷ÉÏ¡£
2.Óû§ÇëÇóÔ¤´¦ÀíÄ£¿é£ºÅжÏÉÌÆ·ÊDz»ÊÇ»¹ÓÐÊ£ÓàÀ´¾ö¶¨ÊDz»ÊÇÒª´¦Àí¸ÃÇëÇó¡£
3.Óû§ÇëÇó´¦ÀíÄ£¿é£º°Ñͨ¹ýÔ¤´¦ÀíµÄÇëÇó·â×°³ÉÊÂÎñÌá½»¸øÊý¾Ý¿â£¬²¢·µ»ØÊÇ·ñ³É¹¦¡£
4.Êý¾Ý¿â½Ó¿ÚÄ£¿é£º¸ÃÄ£¿éÊÇÊý¾Ý¿âµÄΨһ½Ó¿Ú£¬¸ºÔðÓëÊý¾Ý¿â½»»¥£¬ÌṩRPC½Ó¿Ú¹©²éѯÊÇ·ñÃëɱ½áÊø¡¢Ê£ÓàÊýÁ¿µÈÐÅÏ¢¡£
Óû§ÇëÇóÔ¤´¦ÀíÄ£¿é
¾¹ýHTTP·þÎñÆ÷µÄ·Ö·¢ºó£¬µ¥¸ö·þÎñÆ÷µÄ¸ºÔØÏà¶ÔµÍÁËһЩ£¬µ«×ÜÁ¿ÒÀÈ»¿ÉÄܴܺó£¬Èç¹ûºǫ́ÉÌÆ·ÒѾ±»ÃëɱÍê±Ï£¬ÄÇôֱ½Ó¸øºóÀ´µÄÇëÇó·µ»ØÃëɱʧ°Ü¼´¿É£¬²»±ØÔÙ½øÒ»²½·¢ËÍÊÂÎñÁË£¬Ê¾Àý´úÂë¿ÉÒÔÈçÏÂËùʾ£º
package seckill; import org.apache.http.HttpRequest; /** * Ô¤´¦Àí½×¶Î£¬°Ñ²»±ØÒªµÄÇëÇóÖ±½Ó²µ»Ø£¬±ØÒªµÄÇëÇóÌí¼Óµ½¶ÓÁÐÖнøÈëÏÂÒ»½×¶Î. */ public class PreProcessor { // ÉÌÆ·ÊÇ·ñ»¹ÓÐÊ£Óà private static boolean reminds = true; private static void forbidden() { // Do something. } public static boolean checkReminds() { if (reminds) { // Ô¶³Ì¼ì²âÊÇ·ñ»¹ÓÐÊ£Ó࣬¸ÃRPC½Ó¿ÚÓ¦ÓÉÊý¾Ý¿â·þÎñÆ÷Ìṩ£¬²»±ØÍêÈ«Ñϸñ¼ì²é. if (!RPC.checkReminds()) { reminds = false; } } return reminds; } /** * ÿһ¸öHTTPÇëÇó¶¼Òª¾¹ý¸ÃÔ¤´¦Àí. */ public static void preProcess(HttpRequest request) { if (checkReminds()) { // Ò»¸ö²¢·¢µÄ¶ÓÁÐ RequestQueue.queue.add(request); } else { // Èç¹ûÒѾûÓÐÉÌÆ·ÁË£¬ÔòÖ±½Ó²µ»ØÇëÇó¼´¿É. forbidden(); } } } |
²¢·¢¶ÓÁеÄÑ¡Ôñ
JavaµÄ²¢·¢°üÌṩÁËÈý¸ö³£ÓõIJ¢·¢¶ÓÁÐʵÏÖ£¬·Ö±ðÊÇ£ºConcurrentLinkedQueue
¡¢ LinkedBlockingQueue ºÍ ArrayBlockingQueue¡£
ArrayBlockingQueueÊdzõʼÈÝÁ¿¹Ì¶¨µÄ×èÈû¶ÓÁУ¬ÎÒÃÇ¿ÉÒÔÓÃÀ´×÷ΪÊý¾Ý¿âÄ£¿é³É¹¦¾ºÅĵĶÓÁУ¬±ÈÈçÓÐ10¸öÉÌÆ·£¬ÄÇôÎÒÃǾÍÉ趨һ¸ö10´óСµÄÊý×é¶ÓÁС£
ConcurrentLinkedQueueʹÓõÄÊÇCASÔÓïÎÞËø¶ÓÁÐʵÏÖ£¬ÊÇÒ»¸öÒì²½¶ÓÁУ¬Èë¶ÓµÄËٶȺܿ죬³ö¶Ó½øÐÐÁ˼ÓËø£¬ÐÔÄÜÉÔÂý¡£
LinkedBlockingQueueÒ²ÊÇ×èÈûµÄ¶ÓÁУ¬Èë¶ÓºÍ³ö¶Ó¶¼ÓÃÁ˼ÓËø£¬µ±¶Ó¿ÕµÄʱºòÏ̻߳áÔÝʱ×èÈû¡£
ÓÉÓÚÎÒÃǵÄϵͳÈë¶ÓÐèÇóÒªÔ¶´óÓÚ³ö¶ÓÐèÇó£¬Ò»°ã²»»á³öÏÖ¶Ó¿ÕµÄÇé¿ö£¬ËùÒÔÎÒÃÇ¿ÉÒÔÑ¡ÔñConcurrentLinkedQueueÀ´×÷ΪÎÒÃǵÄÇëÇó¶ÓÁÐʵÏÖ£º
package seckill; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ConcurrentLinkedQueue; import org.apache.http.HttpRequest; public class RequestQueue { public static ConcurrentLinkedQueue<HttpRequest> queue = new ConcurrentLinkedQueue<HttpRequest>(); } |
Óû§ÇëÇóÄ£¿é
package seckill; import org.apache.http.HttpRequest; public class Processor { /** * ·¢ËÍÃëɱÊÂÎñµ½Êý¾Ý¿â¶ÓÁÐ. */ public static void kill(BidInfo info) { DB.bids.add(info); } public static void process() { BidInfo info = new BidInfo(RequestQueue.queue.poll()); if (info != null) { kill(info); } } } class BidInfo { BidInfo(HttpRequest request) { // Do something. } } |
Êý¾Ý¿âÄ£¿é
Êý¾Ý¿âÖ÷ÒªÊÇʹÓÃÒ»¸öArrayBlockingQueueÀ´ÔÝ´æÓпÉÄܳɹ¦µÄÓû§ÇëÇó¡£
package seckill; import java.util.concurrent.ArrayBlockingQueue; /** * DBÓ¦¸ÃÊÇÊý¾Ý¿âµÄΨһ½Ó¿Ú. */ public class DB { public static int count = 10; public static ArrayBlockingQueue<BidInfo> bids = new ArrayBlockingQueue<BidInfo>(10); public static boolean checkReminds() { // TODO return true; } // µ¥Ï̲߳Ù×÷ public static void bid() { BidInfo info = bids.poll(); while (count-- > 0) { // insert into table Bids values(item_id, user_id, bid_date, other) // select count(id) from Bids where item_id = ? // Èç¹ûÊý¾Ý¿âÉÌÆ·ÊýÁ¿´óÔ¼×ÜÊý£¬Ôò±êÖ¾ÃëɱÒÑÍê³É£¬ÉèÖñê־λreminds = false. info = bids.poll(); } } } |
4.4 Êý¾Ý¿âÉè¼Æ
4.4.1 »ù±¾¸ÅÄî
¸ÅÄîÒ»¡°µ¥¿â¡±

¸ÅÄî¶þ¡°·ÖƬ¡±

·ÖƬ½â¾öµÄÊÇ¡°Êý¾ÝÁ¿Ì«´ó¡±µÄÎÊÌ⣬Ҳ¾ÍÊÇͨ³£ËµµÄ¡°Ë®Æ½Çз֡±¡£Ò»µ©ÒýÈë·ÖƬ£¬ÊƱØÓС°Êý¾Ý·ÓÉ¡±µÄ¸ÅÄÄĸöÊý¾Ý·ÃÎÊÄĸö¿â¡£Â·ÓɹæÔòͨ³£ÓÐ3ÖÖ·½·¨£º
·¶Î§£ºrangeÓŵ㣺¼òµ¥£¬ÈÝÒ×À©Õ¹È±µã£º¸÷¿âѹÁ¦²»¾ù£¨ÐºŶθü»îÔ¾£©
¹þÏ££ºhash ¡¾´ó²¿·Ö»¥ÁªÍø¹«Ë¾²ÉÓõķ½°¸¶þ£º¹þÏ£·Ö¿â£¬¹þϣ·ÓÉ¡¿Óŵ㣺¼òµ¥£¬Êý¾Ý¾ùºâ£¬¸ºÔؾùÔÈȱµã£ºÇ¨ÒÆÂé·³£¨2¿âÀ©3¿âÊý¾ÝÒªÇ¨ÒÆ£©
·ÓÉ·þÎñ£ºrouter-config-serverÓŵ㣺Áé»îÐÔÇ¿£¬ÒµÎñÓë·ÓÉËã·¨½âñîȱµã£ºÃ¿´Î·ÃÎÊÊý¾Ý¿âǰ¶àÒ»´Î²éѯ
¸ÅÄîÈý¡°·Ö×顱

·Ö×é½â¾ö¡°¿ÉÓÃÐÔ¡±ÎÊÌ⣬·Ö×éͨ³£Í¨¹ýÖ÷´Ó¸´ÖƵķ½Ê½ÊµÏÖ¡£
»¥ÁªÍø¹«Ë¾Êý¾Ý¿âʵ¼ÊÈí¼þ¼Ü¹¹ÊÇ£ºÓÖ·ÖÆ¬£¬ÓÖ·Ö×飨ÈçÏÂͼ£©

4.4.2 Éè¼ÆË¼Â·
Êý¾Ý¿âÈí¼þ¼Ü¹¹Ê¦Æ½Ê±Éè¼ÆÐ©Ê²Ã´¶«Î÷ÄØ£¿ÖÁÉÙÒª¿¼ÂÇÒÔÏÂËĵ㣺
1.ÈçºÎ±£Ö¤Êý¾Ý¿ÉÓÃÐÔ£»
2.ÈçºÎÌá¸ßÊý¾Ý¿â¶ÁÐÔÄÜ£¨´ó²¿·ÖÓ¦ÓöÁ¶àдÉÙ£¬¶Á»áÏȳÉΪƿ¾±£©£»
3.ÈçºÎ±£Ö¤Ò»ÖÂÐÔ£»
4.ÈçºÎÌá¸ßÀ©Õ¹ÐÔ£»
1. ÈçºÎ±£Ö¤Êý¾ÝµÄ¿ÉÓÃÐÔ£¿
½â¾ö¿ÉÓÃÐÔÎÊÌâµÄ˼·ÊÇ=>ÈßÓàÈçºÎ±£Ö¤Õ¾µãµÄ¿ÉÓÃÐÔ£¿¸´ÖÆÕ¾µã£¬ÈßÓàÕ¾µãÈçºÎ±£Ö¤·þÎñµÄ¿ÉÓÃÐÔ£¿¸´ÖÆ·þÎñ£¬ÈßÓà·þÎñ
ÈçºÎ±£Ö¤Êý¾ÝµÄ¿ÉÓÃÐÔ£¿¸´ÖÆÊý¾Ý£¬ÈßÓàÊý¾Ý
Êý¾ÝµÄÈßÓ࣬»á´øÀ´Ò»¸ö¸±×÷ÓÃ=>Òý·¢Ò»ÖÂÐÔÎÊÌ⣨ÏȲ»ËµÒ»ÖÂÐÔÎÊÌ⣬ÏÈ˵¿ÉÓÃÐÔ£©¡£
2. ÈçºÎ±£Ö¤Êý¾Ý¿â¡°¶Á¡±¸ß¿ÉÓã¿
ÈßÓà¶Á¿â

ÈßÓà¶Á¿â´øÀ´µÄ¸±×÷Óã¿¶ÁдÓÐÑÓʱ£¬¿ÉÄܲ»Ò»ÖÂ
ÉÏÃæÕâ¸öͼÊǺܶ໥ÁªÍø¹«Ë¾mysqlµÄ¼Ü¹¹£¬Ð´ÈÔÈ»Êǵ¥µã£¬²»Äܱ£Ö¤Ð´¸ß¿ÉÓá£
3. ÈçºÎ±£Ö¤Êý¾Ý¿â¡°Ð´¡±¸ß¿ÉÓã¿
ÈßÓàд¿â

²ÉÓÃË«Ö÷»¥±¸µÄ·½Ê½£¬¿ÉÒÔÈßÓàд¿â´øÀ´µÄ¸±×÷Óã¿Ë«Ð´Í¬²½£¬Êý¾Ý¿ÉÄܳåÍ»£¨ÀýÈç¡°×ÔÔöid¡±Í¬²½³åÍ»£©,ÈçºÎ½â¾öͬ²½³åÍ»£¬ÓÐÁ½ÖÖ³£¼û½â¾ö·½°¸£º
1.Á½¸öд¿âʹÓò»Í¬µÄ³õʼֵ£¬ÏàͬµÄ²½³¤À´Ôö¼Óid£º1д¿âµÄidΪ0,2,4,6¡£»2д¿âµÄidΪ1,3,5,7¡£»
2.²»Ê¹ÓÃÊý¾ÝµÄid£¬ÒµÎñ²ã×Ô¼ºÉú³ÉΨһµÄid£¬±£Ö¤Êý¾Ý²»³åÍ»£»
ʵ¼ÊÖÐûÓÐʹÓÃÉÏÊöÁ½Öּܹ¹À´×ö¶ÁдµÄ¡°¸ß¿ÉÓá±£¬²ÉÓõÄÊÇ¡°Ë«Ö÷µ±Ö÷´ÓÓᱵķ½Ê½£º

ÈÔÊÇË«Ö÷£¬µ«Ö»ÓÐÒ»¸öÖ÷Ìṩ·þÎñ£¨¶Á+д£©£¬ÁíÒ»¸öÖ÷ÊÇ¡°shadow-master¡±£¬Ö»ÓÃÀ´±£Ö¤¸ß¿ÉÓã¬Æ½Ê±²»Ìṩ·þÎñ¡£
master¹ÒÁË£¬shadow-master¶¥ÉÏ£¨vipÆ¯ÒÆ£¬¶ÔÒµÎñ²ã͸Ã÷£¬²»ÐèÒªÈ˹¤½éÈ룩¡£ÕâÖÖ·½Ê½µÄºÃ´¦£º
1.¶ÁдûÓÐÑÓʱ£»
2.¶Áд¸ß¿ÉÓã»
²»×㣺
1.²»ÄÜͨ¹ý¼Ó´Ó¿âµÄ·½Ê½À©Õ¹¶ÁÐÔÄÜ£»
2.×ÊÔ´ÀûÓÃÂÊΪ50%£¬Ò»Ì¨ÈßÓàÖ÷ûÓÐÌṩ·þÎñ£»
ÄÇÈçºÎÌá¸ß¶ÁÐÔÄÜÄØ£¿½øÈëµÚ¶þ¸ö»°Ì⣬ÈçºÎÌṩ¶ÁÐÔÄÜ¡£
4. ÈçºÎÀ©Õ¹¶ÁÐÔÄÜ
Ìá¸ß¶ÁÐÔÄܵķ½Ê½´óÖÂÓÐÈýÖÖ£¬µÚÒ»ÖÖÊǽ¨Á¢Ë÷Òý¡£ÕâÖÖ·½Ê½²»Õ¹¿ª£¬ÒªÌáµ½µÄÒ»µãÊÇ£¬²»Í¬µÄ¿â¿ÉÒÔ½¨Á¢²»Í¬µÄË÷Òý¡£

д¿â²»½¨Á¢Ë÷Òý£»
ÏßÉ϶Á¿â½¨Á¢ÏßÉÏ·ÃÎÊË÷Òý£¬ÀýÈçuid£»
Ïß϶Á¿â½¨Á¢ÏßÏ·ÃÎÊË÷Òý£¬ÀýÈçtime£»
µÚ¶þÖÖÀ©³ä¶ÁÐÔÄܵķ½Ê½ÊÇ£¬Ôö¼Ó´Ó¿â£¬ÕâÖÖ·½·¨´ó¼ÒÓõıȽ϶࣬µ«ÊÇ£¬´æÔÚÁ½¸öȱµã£º
1.´Ó¿âÔ½¶à£¬Í¬²½Ô½Âý£»
2.ͬ²½Ô½Âý£¬Êý¾Ý²»Ò»Ö´°¿ÚÔ½´ó£¨²»Ò»ÖºóÃæËµ£¬»¹ÊÇÏÈ˵¶ÁÐÔÄܵÄÌá¸ß£©£»
ʵ¼ÊÖÐûÓвÉÓÃÕâÖÖ·½·¨Ìá¸ßÊý¾Ý¿â¶ÁÐÔÄÜ£¨Ã»Óдӿ⣩£¬²ÉÓõÄÊÇÔö¼Ó»º´æ¡£³£¼ûµÄ»º´æ¼Ü¹¹ÈçÏ£º

ÉÏÓÎÊÇÒµÎñÓ¦Óã¬ÏÂÓÎÊÇÖ÷¿â£¬´Ó¿â£¨¶Áд·ÖÀ룩£¬»º´æ¡£
ʵ¼ÊµÄÍæ·¨£º·þÎñ+Êý¾Ý¿â+»º´æÒ»Ì×

ÒµÎñ²ã²»Ö±½ÓÃæÏòdbºÍcache£¬·þÎñ²ãÆÁ±ÎÁ˵ײãdb¡¢cacheµÄ¸´ÔÓÐÔ¡£ÎªÊ²Ã´ÒªÒýÈë·þÎñ²ã£¬½ñÌì²»Õ¹¿ª£¬²ÉÓÃÁË¡°·þÎñ+Êý¾Ý¿â+»º´æÒ»Ìס±µÄ·½Ê½ÌṩÊý¾Ý·ÃÎÊ£¬ÓÃcacheÌá¸ß¶ÁÐÔÄÜ¡£
²»¹Ü²ÉÓÃÖ÷´ÓµÄ·½Ê½À©Õ¹¶ÁÐÔÄÜ£¬»¹ÊÇ»º´æµÄ·½Ê½À©Õ¹¶ÁÐÔÄÜ£¬Êý¾Ý¶¼Òª¸´Öƶà·Ý£¨Ö÷+´Ó£¬db+cache£©£¬Ò»¶¨»áÒý·¢Ò»ÖÂÐÔÎÊÌâ¡£
5. ÈçºÎ±£Ö¤Ò»ÖÂÐÔ£¿
Ö÷´ÓÊý¾Ý¿âµÄÒ»ÖÂÐÔ£¬Í¨³£ÓÐÁ½ÖÖ½â¾ö·½°¸£º
1. Öмä¼þ

Èç¹ûijһ¸ökeyÓÐд²Ù×÷£¬ÔÚ²»Ò»ÖÂʱ¼ä´°¿ÚÄÚ£¬Öмä¼þ»á½«Õâ¸ökeyµÄ¶Á²Ù×÷Ҳ·Óɵ½Ö÷¿âÉÏ¡£Õâ¸ö·½°¸µÄȱµãÊÇ£¬Êý¾Ý¿âÖмä¼þµÄÃż÷½Ï¸ß£¨°Ù¶È£¬ÌÚѶ£¬°¢À360µÈһЩ¹«Ë¾ÓУ©¡£
2. Ç¿ÖÆ¶ÁÖ÷

ÉÏÃæÊµ¼ÊÓõġ°Ë«Ö÷µ±Ö÷´ÓÓᱵļܹ¹£¬²»´æÔÚÖ÷´Ó²»Ò»ÖµÄÎÊÌâ¡£
µÚ¶þÀ಻һÖ£¬ÊÇdbÓ뻺´æ¼äµÄ²»Ò»Ö£º

³£¼ûµÄ»º´æ¼Ü¹¹ÈçÉÏ£¬´Ëʱд²Ù×÷µÄ˳ÐòÊÇ£º
£¨1£©ÌÔÌcache£»
£¨2£©Ð´Êý¾Ý¿â£»
¶Á²Ù×÷µÄ˳ÐòÊÇ£º
£¨1£©¶Ácache£¬Èç¹ûcache hitÔò·µ»Ø£»
£¨2£©Èç¹ûcache miss£¬Ôò¶Á´Ó¿â£»
£¨3£©¶Á´Ó¿âºó£¬½«Êý¾Ý·Å»Øcache£»
ÔÚһЩÒ쳣ʱÐòÇé¿öÏ£¬ÓпÉÄÜ´Ó¡¾´Ó¿â¶Áµ½¾ÉÊý¾Ý£¨Í¬²½»¹Ã»ÓÐÍê³É£©£¬¾ÉÊý¾ÝÈëcacheºó¡¿£¬Êý¾Ý»á³¤ÆÚ²»Ò»Ö¡£½â¾ö°ì·¨ÊÇ¡°»º´æË«ÌÔÌ¡±£¬Ð´²Ù×÷ʱÐòÉý¼¶Îª£º
£¨1£©ÌÔÌcache£»
£¨2£©Ð´Êý¾Ý¿â£»
£¨3£©ÔÚ¾Ñé¡°Ö÷´Óͬ²½ÑÓʱ´°¿Úʱ¼ä¡±ºó£¬Ôٴη¢ÆðÒ»¸öÒì²½ÌÔÌcacheµÄÇëÇó£»
ÕâÑù£¬¼´Ê¹ÓÐÔàÊý¾ÝÈçcache£¬Ò»¸öСµÄʱ¼ä´°¿ÚÖ®ºó£¬ÔàÊý¾Ý»¹ÊǻᱻÌÔÌ¡£´øÀ´µÄ´ú¼ÛÊÇ£¬¶àÒýÈëÒ»´Î¶Ámiss£¨³É±¾¿ÉÒÔºöÂÔ£©¡£
³ý´ËÖ®Í⣬×î¼Ñʵ¼ùÖ®Ò»ÊÇ£º½¨ÒéΪËùÓÐcacheÖеÄitemÉèÖÃÒ»¸ö³¬Ê±Ê±¼ä¡£
6. ÈçºÎÌá¸ßÊý¾Ý¿âµÄÀ©Õ¹ÐÔ£¿
ÔÀ´ÓÃhashµÄ·½Ê½Â·ÓÉ£¬·ÖΪ2¸ö¿â£¬Êý¾ÝÁ¿»¹ÊÇÌ«´ó£¬Òª·ÖΪ3¸ö¿â£¬ÊƱØÐèÒª½øÐÐÊý¾ÝÇ¨ÒÆ£¬ÓÐÒ»¸öºÜË§ÆøµÄ¡°Êý¾Ý¿âÃë¼¶À©ÈÝ¡±·½°¸¡£ÈçºÎÃë¼¶À©ÈÝ£¿Ê×ÏÈ£¬ÎÒÃDz»×ö2¿â±ä3¿âµÄÀ©ÈÝ£¬ÎÒÃÇ×ö2¿â±ä4¿â£¨¿â¼Ó±¶£©µÄÀ©ÈÝ£¨Î´À´4->8->16£©

·þÎñ+Êý¾Ý¿âÊÇÒ»Ì×£¨Ê¡È¥ÁË»º´æ£©£¬Êý¾Ý¿â²ÉÓá°Ë«Ö÷¡±µÄģʽ¡£
À©Èݲ½Ö裺
µÚÒ»²½£¬½«Ò»¸öÖ÷¿âÌáÉý;
µÚ¶þ²½£¬ÐÞ¸ÄÅäÖã¬2¿â±ä4¿â£¨ÔÀ´MOD2£¬ÏÖÔÚÅäÖÃÐ޸ĺóMOD4£©£¬À©ÈÝÍê³É£»
ÔMOD2ΪżµÄ²¿·Ö£¬ÏÖÔÚ»áMOD4Óà0»òÕß2£»ÔMOD2ÎªÆæµÄ²¿·Ö£¬ÏÖÔÚ»áMOD4Óà1»òÕß3£»Êý¾Ý²»ÐèÒªÇ¨ÒÆ£¬Í¬Ê±£¬Ë«Ö÷»¥Ïàͬ²½£¬Ò»±éÊÇÓà0£¬Ò»±ßÓà2£¬Á½±ßÊý¾Ýͬ²½Ò²²»»á³åÍ»£¬Ãë¼¶Íê³ÉÀ©ÈÝ£¡
×îºó£¬Òª×öһЩÊÕβ¹¤×÷£º
½«¾ÉµÄË«Ö÷ͬ²½½â³ý£»
Ôö¼ÓеÄË«Ö÷£¨Ë«Ö÷ÊDZ£Ö¤¿ÉÓÃÐԵģ¬shadow-masterƽʱ²»Ìṩ·þÎñ£©£»
ɾ³ý¶àÓàµÄÊý¾Ý£¨Óà0µÄÖ÷£¬¿ÉÒÔ½«Óà2µÄÊý¾Ýɾ³ýµô£©£»

ÕâÑù£¬Ãë¼¶±ðÄÚ£¬ÎÒÃǾÍÍê³ÉÁË2¿â±ä4¿âµÄÀ©Õ¹¡£
5 ´ó²¢·¢´øÀ´µÄÌôÕ½
5.1 ÇëÇó½Ó¿ÚµÄºÏÀíÉè¼Æ
Ò»¸öÃëɱ»òÕßÇÀ¹ºÒ³Ã棬ͨ³£·ÖΪ2¸ö²¿·Ö£¬Ò»¸öÊǾ²Ì¬µÄHTMLµÈÄÚÈÝ£¬ÁíÒ»¸ö¾ÍÊDzÎÓëÃëɱµÄWebºǫ́ÇëÇó½Ó¿Ú¡£
ͨ³£¾²Ì¬HTMLµÈÄÚÈÝ£¬ÊÇͨ¹ýCDNµÄ²¿Êð£¬Ò»°ãѹÁ¦²»´ó£¬ºËÐÄÆ¿¾±Êµ¼ÊÉÏÔÚºǫ́ÇëÇó½Ó¿ÚÉÏ¡£Õâ¸öºó¶Ë½Ó¿Ú£¬±ØÐëÄܹ»Ö§³Ö¸ß²¢·¢ÇëÇó£¬Í¬Ê±£¬·Ç³£ÖØÒªµÄÒ»µã£¬±ØÐ뾡¿ÉÄÜ¡°¿ì¡±£¬ÔÚ×î¶ÌµÄʱ¼äÀï·µ»ØÓû§µÄÇëÇó½á¹û¡£ÎªÁËʵÏÖ¾¡¿ÉÄÜ¿ìÕâÒ»µã£¬½Ó¿ÚµÄºó¶Ë´æ´¢Ê¹ÓÃÄÚ´æ¼¶±ðµÄ²Ù×÷»á¸üºÃÒ»µã¡£ÈÔȻֱ½ÓÃæÏòMySQLÖ®ÀàµÄ´æ´¢ÊDz»ºÏÊʵģ¬Èç¹ûÓÐÕâÖÖ¸´ÔÓÒµÎñµÄÐèÇ󣬶¼½¨Òé²ÉÓÃÒ첽дÈë¡£

µ±È»£¬Ò²ÓÐһЩÃëɱºÍÇÀ¹º²ÉÓá°Öͺó·´À¡¡±£¬¾ÍÊÇ˵Ãëɱµ±Ï²»ÖªµÀ½á¹û£¬Ò»¶Îʱ¼äºó²Å¿ÉÒÔ´ÓÒ³ÃæÖп´µ½Óû§ÊÇ·ñÃëɱ³É¹¦¡£µ«ÊÇ£¬ÕâÖÖÊôÓÚ¡°ÍµÀÁ¡±ÐÐΪ£¬Í¬Ê±¸øÓû§µÄÌåÑéÒ²²»ºÃ£¬ÈÝÒ×±»Óû§ÈÏΪÊÇ¡°°µÏä²Ù×÷¡±¡£
5.2 ¸ß²¢·¢µÄÌôÕ½£ºÒ»¶¨Òª¡°¿ì¡±
ÎÒÃÇͨ³£ºâÁ¿Ò»¸öWebϵͳµÄÍÌÍÂÂʵÄÖ¸±êÊÇQPS£¨Query Per Second£¬Ã¿Ãë´¦ÀíÇëÇóÊý£©£¬½â¾öÿÃëÊýÍò´ÎµÄ¸ß²¢·¢³¡¾°£¬Õâ¸öÖ¸±ê·Ç³£¹Ø¼ü¡£¾Ù¸öÀý×Ó£¬ÎÒÃǼÙÉè´¦ÀíÒ»¸öÒµÎñÇëÇ󯽾ùÏìӦʱ¼äΪ100ms£¬Í¬Ê±£¬ÏµÍ³ÄÚÓÐ20̨ApacheµÄWeb·þÎñÆ÷£¬ÅäÖÃMaxClientsΪ500¸ö£¨±íʾApacheµÄ×î´óÁ¬½ÓÊýÄ¿£©¡£
ÄÇô£¬ÎÒÃǵÄWebϵͳµÄÀíÂÛ·åÖµQPSΪ£¨ÀíÏ뻯µÄ¼ÆË㷽ʽ£©£º
20*500/0.1 = 100000 £¨10ÍòQPS£©
ß×£¿ÎÒÃǵÄÏµÍ³ËÆºõºÜÇ¿´ó£¬1ÃëÖÓ¿ÉÒÔ´¦ÀíÍê10ÍòµÄÇëÇó£¬5w/sµÄÃëÉ±ËÆºõÊÇ¡°Ö½ÀÏ»¢¡±¹þ¡£Êµ¼ÊÇé¿ö£¬µ±È»Ã»ÓÐÕâôÀíÏë¡£Ôڸ߲¢·¢µÄʵ¼Ê³¡¾°Ï£¬»úÆ÷¶¼´¦Óڸ߸ºÔصÄ״̬£¬ÔÚÕâ¸öʱºòƽ¾ùÏìӦʱ¼ä»á±»´ó´óÔö¼Ó¡£
¾ÍWeb·þÎñÆ÷¶øÑÔ£¬Apache´ò¿ªÁËÔ½¶àµÄÁ¬½Ó½ø³Ì£¬CPUÐèÒª´¦ÀíµÄÉÏÏÂÎÄÇл»Ò²Ô½¶à£¬¶îÍâÔö¼ÓÁËCPUµÄÏûºÄ£¬È»ºó¾ÍÖ±½Óµ¼ÖÂÆ½¾ùÏìӦʱ¼äÔö¼Ó¡£Òò´ËÉÏÊöµÄMaxClientÊýÄ¿£¬Òª¸ù¾ÝCPU¡¢ÄÚ´æµÈÓ²¼þÒòËØ×ۺϿ¼ÂÇ£¬¾ø¶Ô²»ÊÇÔ½¶àÔ½ºÃ¡£¿ÉÒÔͨ¹ýApache×Ô´øµÄabenchÀ´²âÊÔһϣ¬È¡Ò»¸öºÏÊʵÄÖµ¡£È»ºó£¬ÎÒÃÇÑ¡ÔñÄÚ´æ²Ù×÷¼¶±ðµÄ´æ´¢µÄRedis£¬Ôڸ߲¢·¢µÄ״̬Ï£¬´æ´¢µÄÏìӦʱ¼äÖÁ¹ØÖØÒª¡£ÍøÂç´ø¿íËäȻҲÊÇÒ»¸öÒòËØ£¬²»¹ý£¬ÕâÖÖÇëÇóÊý¾Ý°üÒ»°ã±È½ÏС£¬Ò»°ãºÜÉÙ³ÉΪÇëÇóµÄÆ¿¾±¡£¸ºÔؾùºâ³ÉΪϵͳƿ¾±µÄÇé¿ö±È½ÏÉÙ£¬ÔÚÕâÀï²»×öÌÖÂÛ¹þ¡£
ÄÇôÎÊÌâÀ´ÁË£¬¼ÙÉèÎÒÃǵÄϵͳ£¬ÔÚ5w/sµÄ¸ß²¢·¢×´Ì¬Ï£¬Æ½¾ùÏìӦʱ¼ä´Ó100ms±äΪ250ms£¨Êµ¼ÊÇé¿ö£¬ÉõÖÁ¸ü¶à£©£º
20*500/0.25 = 40000 £¨4ÍòQPS£©
ÓÚÊÇ£¬ÎÒÃǵÄϵͳʣÏÂÁË4wµÄQPS£¬Ãæ¶Ô5wÿÃëµÄÇëÇó£¬ÖмäÏà²îÁË1w¡£
È»ºó£¬Õâ²ÅÊÇÕæÕýµÄ¶ñÃοªÊ¼¡£¾Ù¸öÀý×Ó£¬¸ßËÙ·¿Ú£¬1ÃëÖÓÀ´5²¿³µ£¬Ã¿Ãëͨ¹ý5²¿³µ£¬¸ßËÙ·¿ÚÔË×÷Õý³£¡£Í»È»£¬Õâ¸ö·¿Ú1ÃëÖÓÖ»ÄÜͨ¹ý4²¿³µ£¬³µÁ÷Á¿ÈÔÈ»ÒÀ¾É£¬½á¹û±Ø¶¨³öÏÖ´óÈû³µ¡££¨5Ìõ³µµÀºöÈ»±ä³É4Ìõ³µµÀµÄ¸Ð¾õ£©¡£
ͬÀí£¬Ä³Ò»¸öÃëÄÚ£¬20*500¸ö¿ÉÓÃÁ¬½Ó½ø³Ì¶¼ÔÚÂú¸ººÉ¹¤×÷ÖУ¬È´ÈÔÈ»ÓÐ1Íò¸öÐÂÀ´ÇëÇó£¬Ã»ÓÐÁ¬½Ó½ø³Ì¿ÉÓã¬ÏµÍ³ÏÝÈëµ½Ò쳣״̬ҲÊÇÔ¤ÆÚÖ®ÄÚ¡£

ÆäʵÔÚÕý³£µÄ·Ç¸ß²¢·¢µÄÒµÎñ³¡¾°ÖУ¬Ò²ÓÐÀàËÆµÄÇé¿ö³öÏÖ£¬Ä³¸öÒµÎñÇëÇó½Ó¿Ú³öÏÖÎÊÌ⣬ÏìӦʱ¼ä¼«Âý£¬½«Õû¸öWebÇëÇóÏìӦʱ¼äÀµÃºÜ³¤£¬Öð½¥½«Web·þÎñÆ÷µÄ¿ÉÓÃÁ¬½ÓÊýÕ¼Âú£¬ÆäËûÕý³£µÄÒµÎñÇëÇó£¬ÎÞÁ¬½Ó½ø³Ì¿ÉÓá£
¸ü¿ÉŵÄÎÊÌâÊÇ£¬ÊÇÓû§µÄÐÐÎªÌØµã£¬ÏµÍ³Ô½ÊDz»¿ÉÓã¬Óû§µÄµã»÷ԽƵ·±£¬¶ñÐÔÑ»·×îÖÕµ¼Ö¡°Ñ©±À¡±£¨ÆäÖÐһ̨Web»úÆ÷¹ÒÁË£¬µ¼ÖÂÁ÷Á¿·ÖÉ¢µ½ÆäËûÕý³£¹¤×÷µÄ»úÆ÷ÉÏ£¬ÔÙµ¼ÖÂÕý³£µÄ»úÆ÷Ò²¹Ò£¬È»ºó¶ñÐÔÑ»·£©£¬½«Õû¸öWebϵͳÍϿ塣
5.3 ÖØÆôÓë¹ýÔØ±£»¤
Èç¹ûϵͳ·¢Éú¡°Ñ©±À¡±£¬Ã³È»ÖØÆô·þÎñ£¬ÊÇÎÞ·¨½â¾öÎÊÌâµÄ¡£×î³£¼ûµÄÏÖÏóÊÇ£¬Æô¶¯ÆðÀ´ºó£¬Á¢¿Ì¹Òµô¡£Õâ¸öʱºò£¬×îºÃÔÚÈë¿Ú²ã½«Á÷Á¿¾Ü¾ø£¬È»ºóÔÙ½«ÖØÆô¡£Èç¹ûÊÇredis/memcacheÕâÖÖ·þÎñÒ²¹ÒÁË£¬ÖØÆôµÄʱºòÐèҪעÒâ¡°Ô¤ÈÈ¡±£¬²¢ÇҺܿÉÄÜÐèÒª±È½Ï³¤µÄʱ¼ä¡£
ÃëɱºÍÇÀ¹ºµÄ³¡¾°£¬Á÷Á¿ÍùÍùÊdz¬ºõÎÒÃÇϵͳµÄ×¼±¸ºÍÏëÏóµÄ¡£Õâ¸öʱºò£¬¹ýÔØ±£»¤ÊDZØÒªµÄ¡£Èç¹û¼ì²âµ½ÏµÍ³Âú¸ºÔØ×´Ì¬£¬¾Ü¾øÇëÇóÒ²ÊÇÒ»ÖÖ±£»¤´ëÊ©¡£ÔÚǰ¶ËÉèÖùýÂËÊÇ×î¼òµ¥µÄ·½Ê½£¬µ«ÊÇ£¬ÕâÖÖ×ö·¨ÊDZ»Óû§¡°Ç§·òËùÖ¸¡±µÄÐÐΪ¡£¸üºÏÊÊÒ»µãµÄÊÇ£¬½«¹ýÔØ±£»¤ÉèÖÃÔÚCGIÈë¿Ú²ã£¬¿ìËÙ½«¿Í»§µÄÖ±½ÓÇëÇ󷵻ء£
6 ×÷±×µÄÊֶΣº½ø¹¥Óë·ÀÊØ
ÃëɱºÍÇÀ¹ºÊÕµ½ÁË¡°º£Á¿¡±µÄÇëÇó£¬Êµ¼ÊÉÏÀïÃæµÄË®·ÖÊǺܴóµÄ¡£²»ÉÙÓû§£¬ÎªÁË¡°ÇÀ¡°µ½ÉÌÆ·£¬»áʹÓá°Ë¢Æ±¹¤¾ß¡±µÈÀàÐ͵ĸ¨Öú¹¤¾ß£¬°ïÖúËûÃÇ·¢Ë;¡¿ÉÄܶàµÄÇëÇóµ½·þÎñÆ÷¡£»¹ÓÐÒ»²¿·Ö¸ß¼¶Óû§£¬ÖÆ×÷Ç¿´óµÄ×Ô¶¯ÇëÇó½Å±¾¡£ÕâÖÖ×ö·¨µÄÀíÓÉÒ²ºÜ¼òµ¥£¬¾ÍÊÇÔÚ²ÎÓëÃëɱºÍÇÀ¹ºµÄÇëÇóÖУ¬×Ô¼ºµÄÇëÇóÊýĿռ±ÈÔ½¶à£¬³É¹¦µÄ¸ÅÂÊÔ½¸ß¡£
ÕâЩ¶¼ÊÇÊôÓÚ¡°×÷±×µÄÊֶΡ±£¬²»¹ý£¬ÓС°½ø¹¥¡±¾ÍÓС°·ÀÊØ¡±£¬ÕâÊÇÒ»³¡Ã»ÓÐÏõÑ̵ÄÕ½¶·¹þ¡£
6.1 ͬһ¸öÕ˺ţ¬Ò»´ÎÐÔ·¢³ö¶à¸öÇëÇó
²¿·ÖÓû§Í¨¹ýä¯ÀÀÆ÷µÄ²å¼þ»òÕ߯äËû¹¤¾ß£¬ÔÚÃëɱ¿ªÊ¼µÄʱ¼äÀÒÔ×Ô¼ºµÄÕ˺ţ¬Ò»´Î·¢ËÍÉϰÙÉõÖÁ¸ü¶àµÄÇëÇó¡£Êµ¼ÊÉÏ£¬ÕâÑùµÄÓû§ÆÆ»µÁËÃëɱºÍÇÀ¹ºµÄ¹«Æ½ÐÔ¡£
ÕâÖÖÇëÇóÔÚijЩûÓÐ×öÊý¾Ý°²È«´¦ÀíµÄϵͳÀҲ¿ÉÄÜÔì³ÉÁíÍâÒ»ÖÖÆÆ»µ£¬µ¼ÖÂijЩÅжÏÌõ¼þ±»Èƹý¡£ÀýÈçÒ»¸ö¼òµ¥µÄÁìÈ¡Âß¼£¬ÏÈÅжÏÓû§ÊÇ·ñÓвÎÓë¼Ç¼£¬Èç¹ûûÓÐÔòÁìÈ¡³É¹¦£¬×îºóдÈëµ½²ÎÓë¼Ç¼ÖС£ÕâÊǸö·Ç³£¼òµ¥µÄÂß¼£¬µ«ÊÇ£¬Ôڸ߲¢·¢µÄ³¡¾°Ï£¬´æÔÚÉîÉîµÄ©¶´¡£¶à¸ö²¢·¢ÇëÇóͨ¹ý¸ºÔؾùºâ·þÎñÆ÷£¬·ÖÅäµ½ÄÚÍøµÄ¶ą̀Web·þÎñÆ÷£¬ËüÃÇÊ×ÏÈÏò´æ´¢·¢ËͲéѯÇëÇó£¬È»ºó£¬ÔÚij¸öÇëÇó³É¹¦Ð´Èë²ÎÓë¼Ç¼µÄʱ¼ä²îÄÚ£¬ÆäËûµÄÇëÇó»ñ²éѯµ½µÄ½á¹û¶¼ÊÇ¡°Ã»ÓвÎÓë¼Ç¼¡±¡£ÕâÀ¾Í´æÔÚÂß¼Åжϱ»ÈƹýµÄ·çÏÕ¡£

Ó¦¶Ô·½°¸£º
ÔÚ³ÌÐòÈë¿Ú´¦£¬Ò»¸öÕ˺ÅÖ»ÔÊÐí½ÓÊÜ1¸öÇëÇ󣬯äËûÇëÇó¹ýÂË¡£²»½ö½â¾öÁËͬһ¸öÕ˺ţ¬·¢ËÍN¸öÇëÇóµÄÎÊÌ⣬»¹±£Ö¤Á˺óÐøµÄÂß¼Á÷³ÌµÄ°²È«¡£ÊµÏÖ·½°¸£¬¿ÉÒÔͨ¹ýRedisÕâÖÖÄڴ滺´æ·þÎñ£¬Ð´ÈëÒ»¸ö±ê־λ£¨Ö»ÔÊÐí1¸öÇëÇóд³É¹¦£¬½áºÏwatchµÄÀÖ¹ÛËøµÄÌØÐÔ£©£¬³É¹¦Ð´ÈëµÄÔò¿ÉÒÔ¼ÌÐø²Î¼Ó¡£

»òÕߣ¬×Ô¼ºÊµÏÖÒ»¸ö·þÎñ£¬½«Í¬Ò»¸öÕ˺ŵÄÇëÇó·ÅÈëÒ»¸ö¶ÓÁÐÖУ¬´¦ÀíÍêÒ»¸ö£¬ÔÙ´¦ÀíÏÂÒ»¸ö¡£
6.2 ¶à¸öÕ˺ţ¬Ò»´ÎÐÔ·¢ËͶà¸öÇëÇó
ºÜ¶à¹«Ë¾µÄÕ˺Å×¢²á¹¦ÄÜ£¬ÔÚ·¢Õ¹ÔçÆÚ¼¸ºõÊÇûÓÐÏÞÖÆµÄ£¬ºÜÈÝÒ׾ͿÉÒÔ×¢²áºÜ¶à¸öÕ˺š£Òò´Ë£¬Ò²µ¼ÖÂÁ˳öÏÖÁËÒ»Ð©ÌØÊâµÄ¹¤×÷ÊÒ£¬Í¨¹ý±àд×Ô¶¯×¢²á½Å±¾£¬»ýÀÛÁËÒ»´óÅú¡°½©Ê¬Õ˺𱣬ÊýÁ¿ÅӴ󣬼¸ÍòÉõÖÁ¼¸Ê®ÍòµÄÕ˺Ų»µÈ£¬×¨ÃÅ×ö¸÷ÖÖË¢µÄÐÐΪ£¨Õâ¾ÍÊÇ΢²©Öеġ°½©Ê¬·Û¡°µÄÀ´Ô´£©¡£¾Ù¸öÀý×Ó£¬ÀýÈç΢²©ÖÐÓÐת·¢³é½±µÄ»î¶¯£¬Èç¹ûÎÒÃÇʹÓü¸Íò¸ö¡°½©Ê¬ºÅ¡±È¥»ì½øÈ¥×ª·¢£¬ÕâÑù¾Í¿ÉÒÔ´ó´óÌáÉýÎÒÃÇÖн±µÄ¸ÅÂÊ¡£
ÕâÖÖÕ˺ţ¬Ê¹ÓÃÔÚÃëɱºÍÇÀ¹ºÀҲÊÇͬһ¸öµÀÀí¡£ÀýÈ磬iPhone¹ÙÍøµÄÇÀ¹º£¬»ð³µÆ±»ÆÅ£µ³¡£

Ó¦¶Ô·½°¸£º
ÕâÖÖ³¡¾°£¬¿ÉÒÔͨ¹ý¼ì²âÖ¸¶¨»úÆ÷IPÇëÇóƵÂʾͿÉÒÔ½â¾ö£¬Èç¹û·¢ÏÖij¸öIPÇëÇóƵÂʺܸߣ¬¿ÉÒÔ¸øËüµ¯³öÒ»¸öÑéÖ¤Âë»òÕßÖ±½Ó½ûÖ¹ËüµÄÇëÇó£º
µ¯³öÑéÖ¤Â룬×îºËÐĵÄ×·Ç󣬾ÍÊÇ·Ö±æ³öÕæÊµÓû§¡£Òò´Ë£¬´ó¼Ò¿ÉÄܾ³£·¢ÏÖ£¬ÍøÕ¾µ¯³öµÄÑéÖ¤Â룬ÓÐЩÊÇ¡°¹íÉñÂÒÎ衱µÄÑù×Ó£¬ÓÐʱÈÃÎÒÃǸù±¾ÎÞ·¨¿´Çå¡£ËûÃÇÕâÑù×öµÄÔÒò£¬ÆäʵҲÊÇΪÁËÈÃÑéÖ¤ÂëµÄͼƬ²»±»ÇáÒ×ʶ±ð£¬ÒòΪǿ´óµÄ¡°×Ô¶¯½Å±¾¡±¿ÉÒÔͨ¹ýͼƬʶ±ðÀïÃæµÄ×Ö·û£¬È»ºóÈýű¾×Ô¶¯ÌîдÑéÖ¤Â롣ʵ¼ÊÉÏ£¬ÓÐһЩ·Ç³£´´ÐµÄÑéÖ¤Â룬Ч¹û»á±È½ÏºÃ£¬ÀýÈç¸øÄãÒ»¸ö¼òµ¥ÎÊÌâÈÃÄã»Ø´ð£¬»òÕßÈÃÄãÍê³ÉijЩ¼òµ¥²Ù×÷£¨ÀýÈç°Ù¶ÈÌù°ÉµÄÑéÖ¤Â룩¡£
Ö±½Ó½ûÖ¹IP£¬Êµ¼ÊÉÏÊÇÓÐЩ´Ö±©µÄ£¬ÒòΪÓÐÐ©ÕæÊµÓû§µÄÍøÂ糡¾°Ç¡ºÃÊÇͬһ³ö¿ÚIPµÄ£¬¿ÉÄÜ»áÓС°ÎóÉË¡°¡£µ«ÊÇÕâÒ»¸ö×ö·¨¼òµ¥¸ßЧ£¬¸ù¾Ýʵ¼Ê³¡¾°Ê¹ÓÿÉÒÔ»ñµÃºÜºÃµÄЧ¹û¡£
6.3 ¶à¸öÕ˺ţ¬²»Í¬IP·¢ËͲ»Í¬ÇëÇó
ËùνµÀ¸ßÒ»³ß£¬Ä§¸ßÒ»ÕÉ¡£Óнø¹¥£¬¾Í»áÓзÀÊØ£¬ÓÀ²»ÐÝÖ¹¡£ÕâЩ¡°¹¤×÷ÊÒ¡±£¬·¢ÏÖÄã¶Ôµ¥»úIPÇëÇóƵÂÊÓпØÖÆÖ®ºó£¬ËûÃÇÒ²Õë¶ÔÕâÖÖ³¡¾°£¬Ïë³öÁËËûÃǵġ°Ð½ø¹¥·½°¸¡±£¬¾ÍÊDz»¶Ï¸Ä±äIP¡£

ÓÐͬѧ»áºÃÆæ£¬ÕâÐ©Ëæ»úIP·þÎñÔõôÀ´µÄ¡£ÓÐһЩÊÇijЩ»ú¹¹×Ô¼ºÕ¼¾ÝÒ»Åú¶ÀÁ¢IP£¬È»ºó×ö³ÉÒ»¸öËæ»ú´úÀíIPµÄ·þÎñ£¬Óг¥Ìṩ¸øÕâЩ¡°¹¤×÷ÊÒ¡±Ê¹Ó᣻¹ÓÐһЩ¸üΪºÚ°µÒ»µãµÄ£¬¾ÍÊÇͨ¹ýľÂíºÚµôÆÕͨÓû§µÄµçÄÔ£¬Õâ¸öľÂíÒ²²»ÆÆ»µÓû§µçÄÔµÄÕý³£ÔË×÷£¬Ö»×öÒ»¼þÊÂÇ飬¾ÍÊÇת·¢IP°ü£¬ÆÕͨÓû§µÄµçÄÔ±»±ä³ÉÁËIP´úÀí³ö¿Ú¡£Í¨¹ýÕâÖÖ×ö·¨£¬ºÚ¿Í¾ÍÄõ½ÁË´óÁ¿µÄ¶ÀÁ¢IP£¬È»ºó´î½¨ÎªËæ»úIP·þÎñ£¬¾ÍÊÇΪÁËÕõÇ®¡£
Ó¦¶Ô·½°¸£º
˵ʵ»°£¬ÕâÖÖ³¡¾°ÏµÄÇëÇ󣬺ÍÕæÊµÓû§µÄÐÐΪ£¬ÒѾ»ù±¾ÏàͬÁË£¬Ïë×ö·Ö±æºÜÀ§ÄÑ¡£ÔÙ×ö½øÒ»²½µÄÏÞÖÆºÜÈÝÒס°ÎóÉË¡°ÕæÊµÓû§£¬Õâ¸öʱºò£¬Í¨³£Ö»ÄÜͨ¹ýÉèÖÃÒµÎñÃż÷¸ßÀ´ÏÞÖÆÕâÖÖÇëÇóÁË£¬»òÕßͨ¹ýÕ˺ÅÐÐΪµÄ¡±Êý¾ÝÍÚ¾ò¡°À´ÌáǰÇåÀíµôËüÃÇ¡£
½©Ê¬Õ˺ÅÒ²»¹ÊÇÓÐһЩ¹²Í¬ÌØÕ÷µÄ£¬ÀýÈçÕ˺źܿÉÄÜÊôÓÚͬһ¸öºÅÂë¶ÎÉõÖÁÊÇÁ¬ºÅµÄ£¬»îÔ¾¶È²»¸ß£¬µÈ¼¶µÍ£¬×ÊÁϲ»È«µÈµÈ¡£¸ù¾ÝÕâÐ©ÌØµã£¬Êʵ±ÉèÖòÎÓëÃż÷£¬ÀýÈçÏÞÖÆ²ÎÓëÃëɱµÄÕ˺ŵȼ¶¡£Í¨¹ýÕâЩҵÎñÊֶΣ¬Ò²ÊÇ¿ÉÒÔ¹ýÂ˵ôһЩ½©Ê¬ºÅ¡£
7 ¸ß²¢·¢ÏµÄÊý¾Ý°²È«
ÎÒÃÇÖªµÀÔÚ¶àÏß³ÌдÈëͬһ¸öÎļþµÄʱºò£¬»á´æÏÖ¡°Ḭ̈߳²È«¡±µÄÎÊÌ⣨¶à¸öÏß³ÌͬʱÔËÐÐͬһ¶Î´úÂ룬Èç¹ûÿ´ÎÔËÐнá¹ûºÍµ¥Ïß³ÌÔËÐеĽá¹ûÊÇÒ»ÑùµÄ£¬½á¹ûºÍÔ¤ÆÚÏàͬ£¬¾ÍÊÇḬ̈߳²È«µÄ£©¡£Èç¹ûÊÇMySQLÊý¾Ý¿â£¬¿ÉÒÔʹÓÃËü×Ô´øµÄËø»úÖÆºÜºÃµÄ½â¾öÎÊÌ⣬µ«ÊÇ£¬ÔÚ´ó¹æÄ£²¢·¢µÄ³¡¾°ÖУ¬ÊDz»ÍƼöʹÓÃMySQLµÄ¡£ÃëɱºÍÇÀ¹ºµÄ³¡¾°ÖУ¬»¹ÓÐÁíÍâÒ»¸öÎÊÌ⣬¾ÍÊÇ¡°³¬·¢¡±£¬Èç¹ûÔÚÕâ·½Ãæ¿ØÖƲ»É÷£¬»á²úÉú·¢Ë͹ý¶àµÄÇé¿ö¡£ÎÒÃÇÒ²Ôø¾Ìý˵¹ý£¬Ä³Ð©µçÉ̸ãÇÀ¹º»î¶¯£¬Âò¼Ò³É¹¦ÅÄϺó£¬É̼ÒÈ´²»³ÐÈ϶©µ¥ÓÐЧ£¬¾Ü¾ø·¢»õ¡£ÕâÀïµÄÎÊÌ⣬ҲÐí²¢²»Ò»¶¨ÊÇÉ̼ҼéÕ©£¬¶øÊÇϵͳ¼¼Êõ²ãÃæ´æÔÚ³¬·¢·çÏÕµ¼Öµġ£
7.1 ³¬·¢µÄÔÒò
¼ÙÉèij¸öÇÀ¹º³¡¾°ÖУ¬ÎÒÃÇÒ»¹²Ö»ÓÐ100¸öÉÌÆ·£¬ÔÚ×îºóÒ»¿Ì£¬ÎÒÃÇÒѾÏûºÄÁË99¸öÉÌÆ·£¬½öÊ£×îºóÒ»¸ö¡£Õâ¸öʱºò£¬ÏµÍ³·¢À´¶à¸ö²¢·¢ÇëÇó£¬ÕâÅúÇëÇó¶ÁÈ¡µ½µÄÉÌÆ·ÓàÁ¿¶¼ÊÇ99¸ö£¬È»ºó¶¼Í¨¹ýÁËÕâÒ»¸öÓàÁ¿Åжϣ¬×îÖÕµ¼Ö³¬·¢¡£

ÔÚÉÏÃæµÄÕâ¸öͼÖУ¬¾Íµ¼ÖÂÁ˲¢·¢Óû§BÒ²¡°ÇÀ¹º³É¹¦¡±£¬¶àÈÃÒ»¸öÈË»ñµÃÁËÉÌÆ·¡£ÕâÖÖ³¡¾°£¬Ôڸ߲¢·¢µÄÇé¿öÏ·dz£ÈÝÒ׳öÏÖ¡£
7.2 ±¯¹ÛËøË¼Â·
½â¾öḬ̈߳²È«µÄ˼·ºÜ¶à£¬¿ÉÒÔ´Ó¡°±¯¹ÛËø¡±µÄ·½Ïò¿ªÊ¼ÌÖÂÛ¡£
±¯¹ÛËø£¬Ò²¾ÍÊÇÔÚÐÞ¸ÄÊý¾ÝµÄʱºò£¬²ÉÓÃËø¶¨×´Ì¬£¬ÅųâÍⲿÇëÇóµÄÐ޸ġ£Óöµ½¼ÓËøµÄ״̬£¬¾Í±ØÐëµÈ´ý¡£

ËäÈ»ÉÏÊöµÄ·½°¸µÄÈ·½â¾öÁËḬ̈߳²È«µÄÎÊÌ⣬µ«ÊÇ£¬±ðÍü¼Ç£¬ÎÒÃǵij¡¾°ÊÇ¡°¸ß²¢·¢¡±¡£Ò²¾ÍÊÇ˵£¬»áºÜ¶àÕâÑùµÄÐÞ¸ÄÇëÇó£¬Ã¿¸öÇëÇó¶¼ÐèÒªµÈ´ý¡°Ëø¡±£¬Ä³Ð©Ï߳̿ÉÄÜÓÀÔ¶¶¼Ã»Óлú»áÇÀµ½Õâ¸ö¡°Ëø¡±£¬ÕâÖÖÇëÇó¾Í»áËÀÔÚÄÇÀͬʱ£¬ÕâÖÖÇëÇó»áºÜ¶à£¬Ë²¼äÔö´óϵͳµÄƽ¾ùÏìӦʱ¼ä£¬½á¹ûÊÇ¿ÉÓÃÁ¬½ÓÊý±»ºÄ¾¡£¬ÏµÍ³ÏÝÈëÒì³£¡£
7.3 FIFO¶ÓÁÐ˼·
ÄǺã¬ÄÇôÎÒÃÇÉÔ΢ÐÞ¸ÄÒ»ÏÂÉÏÃæµÄ³¡¾°£¬ÎÒÃÇÖ±½Ó½«ÇëÇó·ÅÈë¶ÓÁÐÖе쬲ÉÓÃFIFO£¨First Input
First Output£¬ÏȽøÏȳö£©£¬ÕâÑùµÄ»°£¬ÎÒÃǾͲ»»áµ¼ÖÂijЩÇëÇóÓÀÔ¶»ñÈ¡²»µ½Ëø¡£¿´µ½ÕâÀÊDz»ÊÇÓеãÇ¿Ðн«¶àÏ̱߳ä³Éµ¥Ï̵߳ĸоõ¹þ¡£

È»ºó£¬ÎÒÃÇÏÖÔÚ½â¾öÁËËøµÄÎÊÌ⣬ȫ²¿ÇëÇó²ÉÓá°ÏȽøÏȳö¡±µÄ¶ÓÁз½Ê½À´´¦Àí¡£ÄÇôеÄÎÊÌâÀ´ÁË£¬¸ß²¢·¢µÄ³¡¾°Ï£¬ÒòΪÇëÇóºÜ¶à£¬ºÜ¿ÉÄÜһ˲¼ä½«¶ÓÁÐÄÚ´æ¡°³Å±¬¡±£¬È»ºóϵͳÓÖÏÝÈëµ½ÁËÒ쳣״̬¡£»òÕßÉè¼ÆÒ»¸ö¼«´óµÄÄÚ´æ¶ÓÁУ¬Ò²ÊÇÒ»ÖÖ·½°¸£¬µ«ÊÇ£¬ÏµÍ³´¦ÀíÍêÒ»¸ö¶ÓÁÐÄÚÇëÇóµÄËٶȸù±¾ÎÞ·¨ºÍ·è¿ñÓ¿Èë¶ÓÁÐÖеÄÊýÄ¿Ïà±È¡£Ò²¾ÍÊÇ˵£¬¶ÓÁÐÄÚµÄÇëÇó»áÔ½»ýÀÛÔ½¶à£¬×îÖÕWebϵͳƽ¾ùÏìӦʱºò»¹ÊÇ»á´ó·ùϽµ£¬ÏµÍ³»¹ÊÇÏÝÈëÒì³£¡£
7.4 ÀÖ¹ÛËøË¼Â·
Õâ¸öʱºò£¬ÎÒÃǾͿÉÒÔÌÖÂÛһϡ°ÀÖ¹ÛËø¡±µÄ˼·ÁË¡£ÀÖ¹ÛËø£¬ÊÇÏà¶ÔÓÚ¡°±¯¹ÛËø¡±²ÉÓøüΪ¿íËɵļÓËø»úÖÆ£¬´ó¶¼ÊDzÉÓôø°æ±¾ºÅ£¨Version£©¸üС£ÊµÏÖ¾ÍÊÇ£¬Õâ¸öÊý¾ÝËùÓÐÇëÇó¶¼ÓÐ×ʸñÈ¥Ð޸쬵«»á»ñµÃÒ»¸ö¸ÃÊý¾ÝµÄ°æ±¾ºÅ£¬Ö»Óа汾ºÅ·ûºÏµÄ²ÅÄܸüгɹ¦£¬ÆäËûµÄ·µ»ØÇÀ¹ºÊ§°Ü¡£ÕâÑùµÄ»°£¬ÎÒÃǾͲ»ÐèÒª¿¼ÂǶÓÁеÄÎÊÌ⣬²»¹ý£¬Ëü»áÔö´óCPUµÄ¼ÆË㿪Ïú¡£µ«ÊÇ£¬×ÛºÏÀ´Ëµ£¬ÕâÊÇÒ»¸ö±È½ÏºÃµÄ½â¾ö·½°¸¡£

ÓкܶàÈí¼þºÍ·þÎñ¶¼¡°ÀÖ¹ÛËø¡±¹¦ÄܵÄÖ§³Ö£¬ÀýÈçRedisÖеÄwatch¾ÍÊÇÆäÖÐÖ®Ò»¡£Í¨¹ýÕâ¸öʵÏÖ£¬ÎÒÃDZ£Ö¤ÁËÊý¾ÝµÄ°²È«¡£
8 ×ܽá
»¥ÁªÍøÕýÔÚ¸ßËÙ·¢Õ¹£¬Ê¹Óû¥ÁªÍø·þÎñµÄÓû§Ô½¶à£¬¸ß²¢·¢µÄ³¡¾°Ò²±äµÃÔ½À´Ô½¶à¡£µçÉÌÃëɱºÍÇÀ¹º£¬ÊÇÁ½¸ö±È½ÏµäÐ͵Ļ¥ÁªÍø¸ß²¢·¢³¡¾°¡£ËäÈ»ÎÒÃǽâ¾öÎÊÌâµÄ¾ßÌå¼¼Êõ·½°¸¿ÉÄÜǧ²îÍò±ð£¬µ«ÊÇÓöµ½µÄÌôսȴÊÇÏàËÆµÄ£¬Òò´Ë½â¾öÎÊÌâµÄ˼·ҲÒìÇúͬ¹¤¡£
|