| ±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚ¼òÊ飬±¾ÆªÎÄÕÂÉî¶ÈÆÊÎöÁ˽â¾ö¸ßÐÔÄÜ£¬µ¥µã¹ÊÕÏ£¨¸ß¿ÉÓã©£¬À©Õ¹ÐÔ£¨Ë®Æ½ÉìËõ£©µÄÖÕ¼«½â¾ö·½°¸¡£
|
|
ǰÑÔ
Ãæ¶Ô´óÁ¿Óû§·ÃÎÊ¡¢¸ß²¢·¢ÇëÇ󣬺£Á¿Êý¾Ý£¬¿ÉÒÔʹÓøßÐÔÄܵķþÎñÆ÷¡¢´óÐÍÊý¾Ý¿â£¬´æ´¢É豸£¬¸ßÐÔÄÜWeb·þÎñÆ÷£¬²ÉÓøßЧÂʵıà³ÌÓïÑÔ±ÈÈç(Go,Scala)µÈ£¬µ±µ¥»úÈÝÁ¿´ïµ½¼«ÏÞʱ£¬ÎÒÃÇÐèÒª¿¼ÂÇÒµÎñ²ð·ÖºÍ·Ö²¼Ê½²¿Êð£¬À´½â¾ö´óÐÍÍøÕ¾·ÃÎÊÁ¿´ó£¬²¢·¢Á¿¸ß£¬º£Á¿Êý¾ÝµÄÎÊÌâ¡£
´Óµ¥»úÍøÕ¾µ½·Ö²¼Ê½ÍøÕ¾£¬ºÜÖØÒªµÄÇø±ðÊÇÒµÎñ²ð·ÖºÍ·Ö²¼Ê½²¿Ê𣬽«Ó¦Óòð·Öºó£¬²¿Êðµ½²»Í¬µÄ»úÆ÷ÉÏ£¬ÊµÏÖ´ó¹æÄ£·Ö²¼Ê½ÏµÍ³¡£·Ö²¼Ê½ºÍÒµÎñ²ð·Ö½â¾öÁË£¬´Ó¼¯Öе½·Ö²¼µÄÎÊÌ⣬µ«ÊÇÿ¸ö²¿ÊðµÄ¶ÀÁ¢ÒµÎñ»¹´æÔÚµ¥µãµÄÎÊÌâºÍ·ÃÎÊͳһÈë¿ÚÎÊÌ⣬Ϊ½â¾öµ¥µã¹ÊÕÏ£¬ÎÒÃÇ¿ÉÒÔ²ÉÈ¡ÈßÓàµÄ·½Ê½¡£½«ÏàͬµÄÓ¦Óò¿Êðµ½¶ą̀»úÆ÷ÉÏ¡£½â¾ö·ÃÎÊͳһÈë¿ÚÎÊÌ⣬ÎÒÃÇ¿ÉÒÔÔÚ¼¯ÈºÇ°ÃæÔö¼Ó¸ºÔؾùºâÉ豸£¬ÊµÏÖÁ÷Á¿·Ö·¢¡£
¸ºÔؾùºâ£¨Load Balance£©£¬Òâ˼Êǽ«¸ºÔØ£¨¹¤×÷ÈÎÎñ£¬·ÃÎÊÇëÇ󣩽øÐÐÆ½ºâ¡¢·Ö̯µ½¶à¸ö²Ù×÷µ¥Ôª£¨·þÎñÆ÷£¬×é¼þ£©ÉϽøÐÐÖ´ÐС£Êǽâ¾ö¸ßÐÔÄÜ£¬µ¥µã¹ÊÕÏ£¨¸ß¿ÉÓã©£¬À©Õ¹ÐÔ£¨Ë®Æ½ÉìËõ£©µÄÖÕ¼«½â¾ö·½°¸¡£
Ò»¡¢¸ºÔؾùºâÔÀí
ϵͳµÄÀ©Õ¹¿É·ÖΪ×ÝÏò£¨´¹Ö±£©À©Õ¹ºÍºáÏò£¨Ë®Æ½£©À©Õ¹¡£×ÝÏòÀ©Õ¹£¬ÊÇ´Óµ¥»úµÄ½Ç¶Èͨ¹ýÔö¼ÓÓ²¼þ´¦ÀíÄÜÁ¦£¬±ÈÈçCPU´¦ÀíÄÜÁ¦£¬ÄÚ´æÈÝÁ¿£¬´ÅÅ̵ȷ½Ã棬ʵÏÖ·þÎñÆ÷´¦ÀíÄÜÁ¦µÄÌáÉý£¬²»ÄÜÂú×ã´óÐÍ·Ö²¼Ê½ÏµÍ³£¨ÍøÕ¾£©£¬´óÁ÷Á¿£¬¸ß²¢·¢£¬º£Á¿Êý¾ÝµÄÎÊÌâ¡£Òò´ËÐèÒª²ÉÓúáÏòÀ©Õ¹µÄ·½Ê½£¬Í¨¹ýÌí¼Ó»úÆ÷À´Âú×ã´óÐÍÍøÕ¾·þÎñµÄ´¦ÀíÄÜÁ¦¡£±ÈÈ磺һ̨»úÆ÷²»ÄÜÂú×㣬ÔòÔö¼ÓÁ½Ì¨»òÕß¶ą̀»úÆ÷£¬¹²Í¬³Ðµ£·ÃÎÊѹÁ¦¡£Õâ¾ÍÊǵäÐ͵ļ¯ÈººÍ¸ºÔؾùºâ¼Ü¹¹¸ºÔؾùºâ¼Ü¹¹

Ó¦Óü¯Èº£º½«Í¬Ò»Ó¦Óò¿Êðµ½¶ą̀»úÆ÷ÉÏ£¬×é³É´¦Àí¼¯Èº£¬½ÓÊÕ¸ºÔؾùºâÉ豸·Ö·¢µÄÇëÇ󣬽øÐд¦Àí£¬²¢·µ»ØÏàÓ¦Êý¾Ý¡£
¸ºÔؾùºâµÄ×÷Ó㨽â¾öµÄÎÊÌ⣩£º
1.½â¾ö²¢·¢Ñ¹Á¦£¬Ìá¸ßÓ¦Óô¦ÀíÐÔÄÜ£¨Ôö¼ÓÍÌÍÂÁ¿£¬¼ÓÇ¿ÍøÂç´¦ÀíÄÜÁ¦£©£»
2.Ìṩ¹ÊÕÏ×ªÒÆ£¬ÊµÏָ߿ÉÓã»
3.ͨ¹ýÌí¼Ó»ò¼õÉÙ·þÎñÆ÷ÊýÁ¿£¬Ìá¹©ÍøÕ¾ÉìËõÐÔ£¨À©Õ¹ÐÔ£©£»
4.°²È«·À»¤£»£¨¸ºÔؾùºâÉ豸ÉÏ×öһЩ¹ýÂË£¬ºÚ°×Ãûµ¥µÈ´¦Àí£©
¶þ¡¢¸ºÔؾùºâ·ÖÀà
¸ù¾ÝʵÏÖ¼¼Êõ²»Í¬£¬¿É·ÖΪDNS¸ºÔؾùºâ£¬HTTP¸ºÔؾùºâ£¬IP¸ºÔؾùºâ£¬Á´Â·²ã¸ºÔؾùºâµÈ¡£
DNS¸ºÔؾùºâ
×îÔçµÄ¸ºÔؾùºâ¼¼Êõ£¬ÀûÓÃÓòÃû½âÎöʵÏÖ¸ºÔؾùºâ£¬ÔÚDNS·þÎñÆ÷£¬ÅäÖöà¸öA¼Ç¼£¬ÕâЩA¼Ç¼¶ÔÓ¦µÄ·þÎñÆ÷¹¹³É¼¯Èº¡£´óÐÍÍøÕ¾×ÜÊDz¿·ÖʹÓÃDNS½âÎö£¬×÷ΪµÚÒ»¼¶¸ºÔؾùºâ¡£

Óŵã
ʹÓüòµ¥£º¸ºÔؾùºâ¹¤×÷£¬½»¸øDNS·þÎñÆ÷´¦Àí£¬Ê¡µôÁ˸ºÔؾùºâ·þÎñÆ÷ά»¤µÄÂé·³
Ìá¸ßÐÔÄÜ£º¿ÉÒÔÖ§³Ö»ùÓÚµØÖ·µÄÓòÃû½âÎö£¬½âÎö³É¾àÀëÓû§×î½üµÄ·þÎñÆ÷µØÖ·£¬¿ÉÒÔ¼Ó¿ì·ÃÎÊËÙ¶È£¬¸ÄÉÆÐÔÄÜ£»
ȱµã
¿ÉÓÃÐԲDNS½âÎöÊǶ༶½âÎö£¬ÐÂÔö/ÐÞ¸ÄDNSºó£¬½âÎöʱ¼ä½Ï³¤£»½âÎö¹ý³ÌÖУ¬Óû§·ÃÎÊÍøÕ¾½«Ê§°Ü£»
À©Õ¹ÐԵͣºDNS¸ºÔؾùºâµÄ¿ØÖÆÈ¨ÔÚÓòÃûÉÌÄÇÀÎÞ·¨¶ÔÆä×ö¸ü¶àµÄ¸ÄÉÆºÍÀ©Õ¹£»
ά»¤ÐԲҲ²»ÄÜ·´Ó³·þÎñÆ÷µÄµ±Ç°ÔËÐÐ״̬£»Ö§³ÖµÄËã·¨ÉÙ£»²»ÄÜÇø·Ö·þÎñÆ÷µÄ²îÒ죨²»Äܸù¾ÝϵͳÓë·þÎñµÄ״̬À´ÅжϸºÔØ£©
ʵ¼ù½¨Òé
½«DNS×÷ΪµÚÒ»¼¶¸ºÔؾùºâ£¬A¼Ç¼¶ÔÓ¦×ÅÄÚ²¿¸ºÔؾùºâµÄIPµØÖ·£¬Í¨¹ýÄÚ²¿¸ºÔؾùºâ½«ÇëÇó·Ö·¢µ½ÕæÊµµÄWeb·þÎñÆ÷ÉÏ¡£Ò»°ãÓÃÓÚ»¥ÁªÍø¹«Ë¾£¬¸´ÔÓµÄÒµÎñϵͳ²»ºÏÊÊʹÓá£

IP¸ºÔؾùºâ
ÔÚÍøÂç²ãͨ¹ýÐÞ¸ÄÇëÇóÄ¿±êµØÖ·½øÐиºÔؾùºâ¡£
Óû§ÇëÇóÊý¾Ý°ü£¬µ½´ï¸ºÔؾùºâ·þÎñÆ÷ºó£¬¸ºÔؾùºâ·þÎñÆ÷ÔÚ²Ù×÷ϵͳÄں˽ø³Ì»ñÈ¡ÍøÂçÊý¾Ý°ü£¬¸ù¾Ý¸ºÔؾùºâËã·¨µÃµ½Ò»Ì¨ÕæÊµ·þÎñÆ÷µØÖ·£¬È»ºó½«ÇëÇóÄ¿µÄµØÖ·ÐÞ¸ÄΪ£¬»ñµÃµÄÕæÊµipµØÖ·£¬²»ÐèÒª¾¹ýÓû§½ø³Ì´¦Àí¡£
ÕæÊµ·þÎñÆ÷´¦ÀíÍê³Éºó£¬ÏìÓ¦Êý¾Ý°ü»Øµ½¸ºÔؾùºâ·þÎñÆ÷£¬¸ºÔؾùºâ·þÎñÆ÷£¬ÔÙ½«Êý¾Ý°üÔ´µØÖ·ÐÞ¸ÄΪ×ÔÉíµÄipµØÖ·£¬·¢Ë͸øÓû§ä¯ÀÀÆ÷ 
IP¸ºÔؾùºâ
IP¸ºÔؾùºâ£¬ÕæÊµÎïÀí·þÎñÆ÷·µ»Ø¸ø¸ºÔؾùºâ·þÎñÆ÷£¬´æÔÚÁ½ÖÖ·½Ê½£º
£¨1£©¸ºÔؾùºâ·þÎñÆ÷ÔÚÐÞ¸ÄÄ¿µÄipµØÖ·µÄͬʱÐÞ¸ÄÔ´µØÖ·¡£½«Êý¾Ý°üÔ´µØÖ·ÉèΪ×ÔÉíÅÌ£¬¼´Ô´µØÖ·×ª»»£¨snat£©¡£
£¨2£©½«¸ºÔؾùºâ·þÎñÆ÷ͬʱ×÷ÎªÕæÊµÎïÀí·þÎñÆ÷¼¯ÈºµÄÍø¹Ø·þÎñÆ÷¡£
Óŵ㣺
£¨1£©ÔÚÄں˽ø³ÌÍê³ÉÊý¾Ý·Ö·¢£¬±ÈÔÚÓ¦Óòã·Ö·¢ÐÔÄܸüºÃ£»
ȱµã£º
£¨2£©ËùÓÐÇëÇóÏìÓ¦¶¼ÐèÒª¾¹ý¸ºÔؾùºâ·þÎñÆ÷£¬¼¯Èº×î´óÍÌÍÂÁ¿ÊÜÏÞÓÚ¸ºÔؾùºâ·þÎñÆ÷Íø¿¨´ø¿í£»
Á´Â·²ã¸ºÔؾùºâ
ÔÚͨÐÅÐÒéµÄÊý¾ÝÁ´Â·²ãÐÞ¸ÄmacµØÖ·£¬½øÐиºÔؾùºâ¡£
Êý¾Ý·Ö·¢Ê±£¬²»ÐÞ¸ÄipµØÖ·£¬Ö¸ÐÞ¸ÄÄ¿±êmacµØÖ·£¬ÅäÖÃÕæÊµÎïÀí·þÎñÆ÷¼¯ÈºËùÓлúÆ÷ÐéÄâipºÍ¸ºÔؾùºâ·þÎñÆ÷ipµØÖ·Ò»Ö£¬´ïµ½²»ÐÞ¸ÄÊý¾Ý°üµÄÔ´µØÖ·ºÍÄ¿±êµØÖ·£¬½øÐÐÊý¾Ý·Ö·¢µÄÄ¿µÄ¡£
ʵ¼Ê´¦Àí·þÎñÆ÷ipºÍÊý¾ÝÇëÇóÄ¿µÄipÒ»Ö£¬²»ÐèÒª¾¹ý¸ºÔؾùºâ·þÎñÆ÷½øÐеØÖ·×ª»»£¬¿É½«ÏìÓ¦Êý¾Ý°üÖ±½Ó·µ»Ø¸øÓû§ä¯ÀÀÆ÷£¬±ÜÃâ¸ºÔØ¾ùºâ·þÎñÆ÷Íø¿¨´ø¿í³ÉΪƿ¾±¡£Ò²³ÆÎªÖ±½Ó·ÓÉģʽ£¨DRģʽ£©¡£

¸ºÔؾùºâ-DRģʽ
Óŵ㣺ÐÔÄܺã»
ȱµã£ºÅäÖø´ÔÓ£»
ʵ¼ù½¨Ò飺DRģʽÊÇĿǰʹÓÃ×î¹ã·ºµÄÒ»ÖÖ¸ºÔؾùºâ·½Ê½¡£
»ìºÏÐ͸ºÔؾùºâ
ÓÉÓÚ¶à¸ö·þÎñÆ÷ȺÄÚÓ²¼þÉ豸¡¢¸÷×ԵĹæÄ£¡¢ÌṩµÄ·þÎñµÈµÄ²îÒ죬¿ÉÒÔ¿¼ÂǸøÃ¿¸ö·þÎñÆ÷Ⱥ²ÉÓÃ×îºÏÊʵĸºÔؾùºâ·½Ê½£¬È»ºóÓÖÔÚÕâ¶à¸ö·þÎñÆ÷Ⱥ¼äÔÙÒ»´Î¸ºÔؾùºâ»òȺ¼¯ÆðÀ´ÒÔÒ»¸öÕûÌåÏòÍâ½çÌṩ·þÎñ£¨¼´°ÑÕâ¶à¸ö·þÎñÆ÷Ⱥµ±×öÒ»¸öеķþÎñÆ÷Ⱥ£©£¬´Ó¶ø´ïµ½×î¼ÑµÄÐÔÄÜ¡£½«ÕâÖÖ·½Ê½³ÆÖ®Îª»ìºÏÐ͸ºÔؾùºâ¡£
´ËÖÖ·½Ê½ÓÐʱҲÓÃÓÚµ¥Ì¨¾ùºâÉ豸µÄÐÔÄܲ»ÄÜÂú×ã´óÁ¿Á¬½ÓÇëÇóµÄÇé¿öÏ¡£ÊÇĿǰ´óÐÍ»¥ÁªÍø¹«Ë¾£¬ÆÕ±éʹÓõķ½Ê½¡£
·½Ê½Ò»

¸ºÔؾùºâ_»ìºÏģʽһ
ÒÔÉÏģʽÊʺÏÓж¯¾²·ÖÀëµÄ³¡¾°£¬·´Ïò´úÀí·þÎñÆ÷£¨¼¯Èº£©¿ÉÒÔÆðµ½»º´æºÍ¶¯Ì¬ÇëÇó·Ö·¢µÄ×÷Ó㬵±Ê±¾²Ì¬×ÊÔ´»º´æÔÚ´úÀí·þÎñÆ÷ʱ£¬ÔòÖ±½Ó·µ»Øµ½ä¯ÀÀÆ÷¡£Èç¹û¶¯Ì¬Ò³ÃæÔòÇëÇóºóÃæµÄÓ¦ÓøºÔؾùºâ£¨Ó¦Óü¯Èº£©¡£
·½Ê½¶þ

¸ºÔؾùºâ_»ìºÏģʽ¶þ
ÒÔÉÏģʽ£¬Êʺ϶¯Ì¬ÇëÇ󳡾°¡£
Òò»ìºÏģʽ£¬¿ÉÒÔ¸ù¾Ý¾ßÌ峡¾°£¬Áé»î´îÅä¸÷ÖÖ·½Ê½£¬ÒÔÉÏÁ½ÖÖ·½Ê½½ö¹©²Î¿¼¡£
·ÖÏíÊÇ¿ìÀֵģ¬Ò²ÊǸöÈ˳ɳ¤µÄ¹ý³Ì¡£
Èý¡¢¸ºÔؾùºâËã·¨
³£ÓõĸºÔؾùºâËã·¨ÓУ¬ÂÖѯ£¬Ëæ»ú£¬×îÉÙÁ´½Ó£¬Ô´µØÖ·É¢ÁУ¬¼ÓȨµÈ·½Ê½£»
ÂÖѯ
½«ËùÓÐÇëÇó£¬ÒÀ´Î·Ö·¢µ½Ã¿Ì¨·þÎñÆ÷ÉÏ£¬ÊʺϷþÎñÆ÷Ó²¼þͬÏàͬµÄ³¡¾°¡£
Óŵ㣺·þÎñÆ÷ÇëÇóÊýÄ¿Ïàͬ£»
ȱµã£º·þÎñÆ÷ѹÁ¦²»Ò»Ñù£¬²»ÊʺϷþÎñÆ÷ÅäÖò»Í¬µÄÇé¿ö£»
Ëæ»ú
ÇëÇóËæ»ú·ÖÅäµ½¸÷¸ö·þÎñÆ÷¡£
Óŵ㣺ʹÓüòµ¥£»
ȱµã£º²»ÊʺϻúÆ÷ÅäÖò»Í¬µÄ³¡¾°£»
×îÉÙÁ´½Ó
½«ÇëÇó·ÖÅäµ½Á¬½ÓÊý×îÉٵķþÎñÆ÷£¨Ä¿Ç°´¦ÀíÇëÇó×îÉٵķþÎñÆ÷£©¡£
Óŵ㣺¸ù¾Ý·þÎñÆ÷µ±Ç°µÄÇëÇó´¦ÀíÇé¿ö£¬¶¯Ì¬·ÖÅ䣻
ȱµã£ºË㷨ʵÏÖÏà¶Ô¸´ÔÓ£¬ÐèÒª¼à¿Ø·þÎñÆ÷ÇëÇóÁ¬½ÓÊý£»
Hash£¨Ô´µØÖ·É¢ÁУ©
¸ù¾ÝIPµØÖ·½øÐÐHash¼ÆË㣬µÃµ½IPµØÖ·¡£
Óŵ㣺½«À´×ÔͬһIPµØÖ·µÄÇëÇó£¬Í¬Ò»»á»°ÆÚÄÚ£¬×ª·¢µ½ÏàͬµÄ·þÎñÆ÷£»ÊµÏֻỰճÖÍ¡£
ȱµã£ºÄ¿±ê·þÎñÆ÷å´»úºó£¬»á»°»á¶ªÊ§£»
¼ÓȨ
ÔÚÂÖѯ£¬Ëæ»ú£¬×îÉÙÁ´½Ó£¬Hash¡¯µÈËã·¨µÄ»ù´¡ÉÏ£¬Í¨¹ý¼ÓȨµÄ·½Ê½£¬½øÐиºÔØ·þÎñÆ÷·ÖÅä¡£
Óŵ㣺¸ù¾ÝÈ¨ÖØ£¬µ÷½Úת·¢·þÎñÆ÷µÄÇëÇóÊýÄ¿£»
ȱµã£ºÊ¹ÓÃÏà¶Ô¸´ÔÓ£»
ËÄ¡¢Ó²¼þ¸ºÔؾùºâ
²ÉÓÃÓ²¼þµÄ·½Ê½ÊµÏÖ¸ºÔؾùºâ£¬Ò»°ãÊǵ¥¶ÀµÄ¸ºÔؾùºâ·þÎñÆ÷£¬¼Û¸ñ°º¹ó£¬Ò»°ãÍÁºÀ¼¶¹«Ë¾¿ÉÒÔ¿¼ÂÇ£¬Òµ½çÁìÏȵÄÓÐÁ½¿î£¬F5ºÍA10¡£
ʹÓÃÓ²¼þ¸ºÔؾùºâ£¬Ö÷Òª¿¼ÂÇһϼ¸¸ö·½Ã棺
£¨1£©¹¦ÄÜ¿¼ÂÇ£º¹¦ÄÜÈ«ÃæÖ§³Ö¸÷²ã¼¶µÄ¸ºÔؾùºâ£¬Ö§³ÖÈ«ÃæµÄ¸ºÔؾùºâËã·¨£¬Ö§³ÖÈ«¾Ö¸ºÔؾùºâ£»
£¨2£©ÐÔÄÜ¿¼ÂÇ£ºÒ»°ãÈí¼þ¸ºÔؾùºâÖ§³Öµ½5Íò¼¶²¢·¢ÒѾºÜÀ§ÄÑÁË£¬Ó²¼þ¸ºÔؾùºâ¿ÉÒÔÖ§³Ö
£¨3£©Îȶ¨ÐÔ£ºÉÌÓÃÓ²¼þ¸ºÔؾùºâ£¬¾¹ýÁËÁ¼ºÃµÄÑϸñµÄ²âÊÔ£¬´Ó¾¹ý´ó¹æÄ£Ê¹Óã¬ÔÚÎȶ¨ÐÔ·½Ãæ¸ß£»
£¨4£©°²È«·À»¤£ºÓ²¼þ¾ùºâÉ豸³ý¾ß±¸¸ºÔؾùºâ¹¦ÄÜÍ⣬»¹¾ß±¸·À»ðǽ£¬·ÀDDOS¹¥»÷µÈ°²È«¹¦ÄÜ£»
£¨5£©Î¬»¤½Ç¶È£ºÌṩÁ¼ºÃµÄά»¤¹ÜÀí½çÃæ£¬ÊÛºó·þÎñºÍ¼¼ÊõÖ§³Ö£»
£¨6£©ÍÁºÀ¹«Ë¾£ºF5 Big Ip ¼Û¸ñ£º15w~55w²»µÈ£»A10 ¼Û¸ñ£º55w-100w²»µÈ£»
ȱµã
1£©¼Û¸ñ°º¹ó£»
2£©À©Õ¹ÄÜÁ¦²î£»
С½á
ÒÔÉÏÖ÷Òª´Ó¸ºÔؾùºâÔÀí£¬·ÖÀ࣬Ëã·¨£¬Ó²¼þ¸ºÔؾùºâ½øÐÐÁ˽éÉÜ¡£Ï´ηÖÏí£¬¸ºÔؾùºâÏê½â£¨Èý£©£¬Ö÷Òª½éÉÜ£ºÈí¼þ¸ºÔؾùºâ£¨LVS,Nginx£¬Haproxy£¬ApacheÌØµã£¬¼Ü¹¹£©£¬¸ºÔؾùºâÈí¼þ¼¼ÊõÑ¡ÐͱȽϣ¬Ó¦ÓøºÔؾùºâµÄÎÊÌâºÍ½â¾ö·½°¸µÈ·½Ãæ¡£
Î娼Ngnix¸ºÔؾùºâ
NgnixÊÇÒ»¿îÇáÁ¿¼¶µÄWeb·þÎñÆ÷/·´Ïò´úÀí·þÎñÆ÷£¬¹¤×÷ÔÚÆß²ãHttpÐÒéµÄ¸ºÔؾùºâϵͳ¡£¾ßÓиßÐÔÄÜ¡¢¸ß²¢·¢¡¢µÍÄÚ´æÊ¹ÓõÈÌØµã¡£ÊÇÒ»¸öÇáÁ¿¼¶µÄHttpºÍ·´Ïò´úÀí·þÎñÆ÷¡£NginxʹÓÃepoll
and kqueue×÷Ϊ¿ª·¢Ä£ÐÍ¡£Äܹ»Ö§³Ö¸ß´ï 50,000 ¸ö²¢·¢Á¬½ÓÊýµÄÏìÓ¦¡£
²Ù×÷ϵͳ£ºLiunx£¬Windows£¨Linux¡¢FreeBSD¡¢Solaris¡¢Mac OS X¡¢AIXÒÔ¼°Microsoft
Windows£©
¿ª·¢ÓïÑÔ£ºC
²¢·¢ÐÔÄÜ£º¹Ù·½Ö§³ÖÿÃë5Íò²¢·¢£¬Êµ¼Ê¹úÄÚÒ»°ãµ½Ã¿Ãë2Íò²¢·¢£¬ÓÐÓÅ»¯µ½Ã¿Ãë10Íò²¢·¢µÄ¡£¾ßÌåÐÔÄÜ¿´Ó¦Óó¡¾°¡£
ÌØµã
1.Ä£¿é»¯Éè¼Æ£ºÁ¼ºÃµÄÀ©Õ¹ÐÔ£¬¿ÉÒÔͨ¹ýÄ£¿é·½Ê½½øÐй¦ÄÜÀ©Õ¹¡£
2.¸ß¿É¿¿ÐÔ£ºÖ÷¿Ø½ø³ÌºÍworkerÊÇͬ²½ÊµÏֵģ¬Ò»¸öworker³öÏÖÎÊÌ⣬»áÁ¢¿ÌÆô¶¯ÁíÒ»¸öworker¡£
3.ÄÚ´æÏûºÄµÍ£ºÒ»Íò¸ö³¤Á¬½Ó£¨keep-alive£©,½öÏûºÄ2.5MBÄÚ´æ¡£
4.Ö§³ÖÈȲ¿Ê𣺲»ÓÃÍ£Ö¹·þÎñÆ÷£¬ÊµÏÖ¸üÐÂÅäÖÃÎļþ£¬¸ü»»ÈÕÖ¾Îļþ¡¢¸üзþÎñÆ÷³ÌÐò°æ±¾¡£
5.²¢·¢ÄÜÁ¦Ç¿£º¹Ù·½Êý¾ÝÿÃëÖ§³Ö5Íò²¢·¢£»
6.¹¦Äܷḻ£ºÓÅÐãµÄ·´Ïò´úÀí¹¦ÄܺÍÁé»îµÄ¸ºÔؾùºâ²ßÂÔ
¹¦ÄÜ
»ù±¾¹¦ÄÜ
Ö§³Ö¾²Ì¬×ÊÔ´µÄweb·þÎñÆ÷¡£
http,smtp,pop3ÐÒéµÄ·´Ïò´úÀí·þÎñÆ÷¡¢»º´æ¡¢¸ºÔؾùºâ£»
Ö§³ÖFASTCGI£¨fpm£©
Ö§³ÖÄ£¿é»¯£¬¹ýÂËÆ÷£¨ÈÃÎı¾¿ÉÒÔʵÏÖѹËõ£¬½ÚÔ¼´ø¿í£©,ssl¼°Í¼Ïñ´óСµ÷Õû¡£
ÄÚÖõĽ¡¿µ¼ì²é¹¦ÄÜ
»ùÓÚÃû³ÆºÍipµÄÐéÄâÖ÷»ú
¶¨ÖÆ·ÃÎÊÈÕÖ¾
Ö§³Öƽ»¬Éý¼¶
Ö§³ÖKEEPALIVE
Ö§³Öurl rewrite
Ö§³Ö·¾¶±ðÃû
Ö§³Ö»ùÓÚIPºÍÓû§ÃûµÄ·ÃÎÊ¿ØÖÆ¡£
Ö§³Ö´«ÊäËÙÂÊÏÞÖÆ£¬Ö§³Ö²¢·¢ÊýÏÞÖÆ¡£
À©Õ¹¹¦ÄÜ
ÐÔÄÜ
NginxµÄ¸ß²¢·¢£¬¹Ù·½²âÊÔÖ§³Ö5Íò²¢·¢Á¬½Ó¡£Êµ¼ÊÉú²ú»·¾³Äܵ½2-3Íò²¢·¢Á¬½ÓÊý¡£10000¸ö·Ç»îÔ¾µÄHTTP
keep-alive Á¬½Ó½öÕ¼ÓÃÔ¼2.5MBÄÚ´æ¡£ÈýÍò²¢·¢Á¬½ÓÏ£¬10¸öNginx½ø³Ì£¬ÏûºÄÄÚ´æ150M¡£ÌÔ±¦tengineÍŶӲâÊÔ½á¹ûÊÇ¡°24GÄÚ´æ»úÆ÷ÉÏ£¬´¦Àí²¢·¢ÇëÇó¿É´ï200Íò¡±¡£
¼Ü¹¹
NginxµÄ»ù±¾¹¤×÷ģʽ

Ò»¸ömaster½ø³Ì£¬Éú³ÉÒ»¸ö»òÕß¶à¸öworker½ø³Ì¡£µ«ÊÇÕâÀïmasterÊÇʹÓÃrootÉí·ÝÆô¶¯µÄ£¬ÒòΪnginxÒª¹¤×÷ÔÚ80¶Ë¿Ú¡£¶øÖ»ÓйÜÀíÔ±²ÅÓÐȨÏÞÆô¶¯Ð¡ÓÚµÍÓÚ1023µÄ¶Ë¿Ú¡£masterÖ÷ÒªÊǸºÔðµÄ×÷ÓÃÖ»ÊÇÆô¶¯worker£¬¼ÓÔØÅäÖÃÎļþ£¬¸ºÔðϵͳµÄƽ»¬Éý¼¶¡£ÆäËüµÄ¹¤×÷Êǽ»¸øworker¡£ÄÇôµ±worker±»Æô¶¯Ö®ºó£¬Ò²Ö»ÊǸºÔðһЩweb×î¼òµ¥µÄ¹¤×÷£¬¶øÆäËûµÄ¹¤×÷¶¼ÊÇÓÐworkerÖе÷ÓõÄÄ£¿éÀ´ÊµÏֵġ£
Ä£¿éÖ®¼äÊÇÒÔÁ÷Ë®Ïߵķ½Ê½ÊµÏÖ¹¦Äܵġ£Á÷Ë®Ïߣ¬Ö¸µÄÊÇÒ»¸öÓû§ÇëÇó£¬Óɶà¸öÄ£¿é×éºÏ¸÷×ԵŦÄÜÒÀ´ÎʵÏÖÍê³ÉµÄ¡£±ÈÈ磺µÚÒ»¸öÄ£¿éÖ»¸ºÔð·ÖÎöÇëÇóÊײ¿£¬µÚ¶þ¸öÄ£¿éÖ»¸ºÔð²éÕÒÊý¾Ý£¬µÚÈý¸öÄ£¿éÖ»¸ºÔðѹËõÊý¾Ý£¬ÒÀ´ÎÍê³É¸÷×Ô¹¤×÷¡£À´ÊµÏÖÕû¸ö¹¤×÷µÄÍê³É¡£
ËûÃÇÊÇÈçºÎʵÏÖÈȲ¿ÊðµÄÄØ£¿ÆäʵÊÇÕâÑùµÄ£¬ÎÒÃÇÇ°ÃæËµmaster²»¸ºÔð¾ßÌåµÄ¹¤×÷£¬¶øÊǵ÷ÓÃworker¹¤×÷£¬ËûÖ»ÊǸºÔð¶ÁÈ¡ÅäÖÃÎļþ£¬Òò´Ëµ±Ò»¸öÄ£¿éÐ޸ĻòÕßÅäÖÃÎļþ·¢Éú±ä»¯£¬ÊÇÓÉmaster½øÐжÁÈ¡£¬Òò´Ë´Ëʱ²»»áÓ°Ïìµ½worker¹¤×÷¡£ÔÚmaster½øÐжÁÈ¡ÅäÖÃÎļþÖ®ºó£¬²»»áÁ¢¼´µÄ°ÑÐ޸ĵÄÅäÖÃÎļþ¸æÖªworker¡£¶øÊÇÈñ»Ð޸ĵÄworker¼ÌÐøÊ¹ÓÃÀϵÄÅäÖÃÎļþ¹¤×÷£¬µ±worker¹¤×÷Íê±ÏÖ®ºó£¬Ö±½Óµ±µôÕâ¸ö×Ó½ø³Ì£¬¸ü»»ÐµÄ×Ó½ø³Ì£¬Ê¹ÓÃÐµĹæÔò¡£
NginxÖ§³ÖµÄsendfile»úÖÆ
Sendfile»úÖÆ£¬Óû§½«ÇëÇ󷢸øÄںˣ¬Äں˸ù¾ÝÓû§µÄÇëÇóµ÷ÓÃÏàÓ¦Óû§½ø³Ì£¬½ø³ÌÔÚ´¦ÀíʱÐèÒª×ÊÔ´¡£´ËʱÔÙ°ÑÇëÇ󷢸øÄںˣ¨½ø³ÌûÓÐÖ±½ÓIOµÄÄÜÁ¦£©£¬ÓÉÄں˼ÓÔØÊý¾Ý¡£Äں˲éÕÒµ½Êý¾ÝÖ®ºó£¬»á°ÑÊý¾Ý¸´ÖƸøÓû§½ø³Ì£¬ÓÉÓû§½ø³Ì¶ÔÊý¾Ý½øÐзâ×°£¬Ö®ºó½»¸øÄںˣ¬ÄÚºËÔÚ½øÐÐtcp/ipÊײ¿µÄ·â×°£¬×îºóÔÙ·¢¸ø¿Í»§¶Ë¡£Õâ¸ö¹¦ÄÜÓû§½ø³ÌÖ»ÊÇ·¢ÉúÁËÒ»¸ö·â×°±¨ÎĵĹý³Ì£¬È´ÒªÈÆÒ»´óȦ¡£Òò´ËnginxÒýÈëÁËsendfile»úÖÆ£¬Ê¹µÃÄÚºËÔÚ½ÓÊܵ½Êý¾ÝÖ®ºó£¬²»ÔÙÒÀ¿¿Óû§½ø³Ì¸øÓè·â×°£¬¶øÊÇ×Ô¼º²éÕÒ×Ô¼º·â×°£¬¼õÉÙÁËÒ»¸öºÜ³¤Ò»¶Îʱ¼äµÄÀË·Ñ£¬ÕâÊÇÒ»¸öÌáÉýÐÔÄܵĺËÐĵ㡣

ÒÔÉÏÄÚÈÝÕª×ÔÍøÓÑ·¢²¼µÄÎÄÕ£¬¼òµ¥Ò»¾ä»°ÊÇ×ÊÔ´µÄ´¦Àí£¬Ö±½Óͨ¹ýÄÚºË²ã½øÐÐÊý¾Ý´«µÝ£¬±ÜÃâÁËÊý¾Ý´«µÝµ½Ó¦Óò㣬ӦÓòãÔÙ´«µÝµ½Äں˲ãµÄ¿ªÏú¡£
Ŀǰ¸ß²¢·¢µÄ´¦Àí£¬Ò»°ã¶¼²ÉÓÃsendfileģʽ¡£Í¨¹ýÖ±½Ó²Ù×÷Äں˲ãÊý¾Ý£¬¼õÉÙÓ¦ÓÃÓëÄں˲ãÊý¾Ý´«µÝ¡£
NginxͨÐÅÄ£ÐÍ£¨I/O¸´ÓûúÖÆ£©
¿ª·¢Ä£ÐÍ£ºepollºÍkqueue¡£
Ö§³ÖµÄʼþ»úÖÆ£ºkqueue¡¢epoll¡¢rt signals¡¢/dev/poll ¡¢event ports¡¢selectÒÔ¼°poll¡£
Ö§³ÖµÄkqueueÌØÐÔ°üÀ¨EV_CLEAR¡¢EV_DISABLE¡¢NOTE_LOWAT¡¢EV_EOF£¬¿ÉÓÃÊý¾ÝµÄÊýÁ¿£¬´íÎó´úÂë.
Ö§³Ösendfile¡¢sendfile64ºÍsendfilev;ÎļþAIO£»DIRECTIO;Ö§³ÖAccept-filtersºÍTCP_DEFER_ACCEP.
ÒÔÉϸÅÄî½Ï¶à£¬´ó¼Ò×ÔÐаٶȻò¹È¸è£¬ÖªÊ¶ÁìÓòÊÇÍøÂçͨÐÅ£¨BIO,NIO,AIO£©ºÍ¶àÏ̷߳½ÃæµÄ֪ʶ¡£
¾ùºâ²ßÂÔ
nginxµÄ¸ºÔؾùºâ²ßÂÔ¿ÉÒÔ»®·ÖΪÁ½´óÀࣺÄÚÖòßÂÔºÍÀ©Õ¹²ßÂÔ¡£ÄÚÖòßÂÔ°üº¬¼ÓȨÂÖѯºÍip hash£¬ÔÚĬÈÏÇé¿öÏÂÕâÁ½ÖÖ²ßÂÔ»á±àÒë½ønginxÄںˣ¬Ö»ÐèÔÚnginxÅäÖÃÖÐÖ¸Ã÷²ÎÊý¼´¿É¡£À©Õ¹²ßÂÔÓкܶ࣬Èçfair¡¢Í¨ÓÃhash¡¢consistent
hashµÈ£¬Ä¬Èϲ»±àÒë½ønginx
Äںˡ£ÓÉÓÚÔÚnginx°æ±¾Éý¼¶ÖиºÔؾùºâµÄ´úÂëûÓб¾ÖÊÐԵı仯£¬Òò´ËÏÂÃæ½«ÒÔnginx1.0.15Îȶ¨°æÎªÀý£¬´ÓÔ´Âë½Ç¶È·ÖÎö¸÷¸ö²ßÂÔ¡£
¼ÓȨÂÖѯ£¨weighted round robin£©
ÂÖѯµÄÔÀíºÜ¼òµ¥£¬Ê×ÏÈÎÒÃǽéÉÜÒ»ÏÂÂÖѯµÄ»ù±¾Á÷³Ì¡£ÈçÏÂÊÇ´¦ÀíÒ»´ÎÇëÇóµÄÁ÷³Ìͼ£º

weighted round
robin
ͼÖÐÓÐÁ½µãÐèҪעÒ⣬µÚÒ»£¬Èç¹û¿ÉÒ԰ѼÓȨÂÖѯËã·¨·ÖΪÏÈÉîËÑË÷ºÍÏȹãËÑË÷£¬ÄÇônginx²ÉÓõÄÊÇÏÈÉîËÑË÷Ëã·¨£¬¼´½«Ê×ÏȽ«ÇëÇó¶¼·Ö¸ø¸ßÈ¨ÖØµÄ»úÆ÷£¬Ö±µ½¸Ã»úÆ÷µÄȨֵ½µµ½ÁË±ÈÆäËû»úÆ÷µÍ£¬²Å¿ªÊ¼½«ÇëÇó·Ö¸øÏÂÒ»¸ö¸ßÈ¨ÖØµÄ»úÆ÷£»µÚ¶þ£¬µ±ËùÓкó¶Ë»úÆ÷¶¼downµôʱ£¬nginx»áÁ¢¼´½«ËùÓлúÆ÷µÄ±ê־λÇå³É³õʼ״̬£¬ÒÔ±ÜÃâÔì³ÉËùÓеĻúÆ÷¶¼´¦ÔÚtimeoutµÄ״̬£¬´Ó¶øµ¼ÖÂÕû¸öǰ¶Ë±»º»×¡¡£
ip hash
ip hashÊÇnginxÄÚÖõÄÁíÒ»¸ö¸ºÔؾùºâµÄ²ßÂÔ£¬Á÷³ÌºÍÂÖѯºÜÀàËÆ£¬Ö»ÊÇÆäÖеÄËã·¨ºÍ¾ßÌåµÄ²ßÂÔÓÐЩ±ä»¯£¬ÈçÏÂͼËùʾ£º

fair
fair²ßÂÔÊÇÀ©Õ¹²ßÂÔ£¬Ä¬Èϲ»±»±àÒë½ønginxÄںˡ£ÆäÔÀíÊǸù¾Ýºó¶Ë·þÎñÆ÷µÄÏìӦʱ¼äÅжϸºÔØÇé¿ö£¬´ÓÖÐÑ¡³ö¸ºÔØ×îÇáµÄ»úÆ÷½øÐзÖÁ÷¡£ÕâÖÖ²ßÂÔ¾ßÓкÜÇ¿µÄ×ÔÊÊÓ¦ÐÔ£¬µ«ÊÇʵ¼ÊµÄÍøÂç»·¾³ÍùÍù²»ÊÇÄÇô¼òµ¥£¬Òò´ËÒªÉ÷Óá£
ͨÓÃhash¡¢Ò»ÖÂÐÔhash
ÕâÁ½ÖÖÒ²ÊÇÀ©Õ¹²ßÂÔ£¬ÔÚ¾ßÌåµÄʵÏÖÉÏÓÐЩ²î±ð£¬Í¨ÓÃhash±È½Ï¼òµ¥£¬¿ÉÒÔÒÔnginxÄÚÖõıäÁ¿Îªkey½øÐÐhash£¬Ò»ÖÂÐÔhash²ÉÓÃÁËnginxÄÚÖõÄÒ»ÖÂÐÔhash»·£¬¿ÉÒÔÖ§³Ömemcache¡£
Èë¿Ú¸ºÔؾùºâ¼Ü¹¹
Ngnix·þÎñÆ÷ÔÚÓû§·ÃÎʵÄ×îǰ¶Ë¡£¸ù¾ÝÓû§ÇëÇóÔÙת·¢µ½¾ßÌåµÄÓ¦Ó÷þÎñÆ÷»ò¶þ¼¶¸ºÔؾùºâ·þÎñÆ÷£¨LVS£©
ÄÚ²¿¸ºÔؾùºâ¼Ü¹¹

LVS×÷ΪÈë¿Ú¸ºÔؾùºâ£¬½«ÇëÇóת·¢µ½¶þ¼¶Ngnix·þÎñÆ÷£¬NgnixÔÙ¸ù¾ÝÇëÇóת·¢µ½¾ßÌåµÄÓ¦Ó÷þÎñÆ÷¡£
Ngnix¸ß¿ÉÓÃ

·Ö²¼Ê½ÏµÍ³ÖУ¬Ó¦ÓÃÖ»²¿Êðһ̨·þÎñÆ÷»á´æÔÚµ¥µã¹ÊÕÏ£¬¸ºÔؾùºâͬÑùÓÐÀàËÆµÄÎÊÌâ¡£Ò»°ã¿É²ÉÓÃÖ÷±¸»ò¸ºÔؾùºâÉ豸¼¯ÈºµÄ·½Ê½½ÚÔ¼µ¥µã¹ÊÕÏ»ò¸ß²¢·¢ÇëÇó·ÖÁ÷¡£
Ngnix¸ß¿ÉÓã¬ÖÁÉÙ°üº¬Á½¸öNgnix·þÎñÆ÷£¬Ò»Ì¨Ö÷·þÎñÆ÷£¬Ò»Ì¨±¸·þÎñÆ÷£¬Ö®¼äʹÓÃKeepalived×ö½¡¿µ¼à¿ØºÍ¹ÊÕϼì²â¡£¿ª·ÅVIP¶Ë¿Ú£¬Í¨¹ý·À»ðǽ½øÐÐÍⲿӳÉä¡£
×ܽá
µ½ÕâÀ´óÐÍ»¥ÁªÍø¼Ü¹¹¡ªÉîÈëÆÊÎö¸ºÔؾùºâÖÕ¼«½â¾ö·½°¸¾Í½áÊøÁË£¬²»×ãÖ®´¦»¹Íû´ó¼Ò¶à¶à°üº£¡£¡¾õµÃÊÕ»ñµÄ»°¿ÉÒÔµã¸ö¹Ø×¢ÊÕ²Ø×ª·¢Ò»²¨à¸£¬Ð»Ð»´óÀÐÃÇÖ§³Ö¡££¨´µÒ»²¨£¬233~~£©
ÏÂÃæºÍ´ó¼Ò½»Á÷¼¸µã±à³ÌµÄ¾Ñ飺
1¡¢¶àд¶àÇôúÂ룬ºÃµÄ´úÂëÓëÔúʵµÄ»ù´¡ÖªÊ¶Ò»¶¨ÊÇʵ¼ù³öÀ´µÄ
2ؼ ²âÊÔ¡¢²âÊÔÔÙ²âÊÔ£¬Èç¹ûÄã²»³¹µ×²âÊÔ×Ô¼ºµÄ´úÂ룬ÄÇ¿ÖÅÂÄ㿪·¢µÄ¾Í²»Ö»ÊÇ´úÂ룬¿ÉÄÜ»¹»áÉùÃûÀǽ塣
3ؼ ¼ò»¯Ëã·¨£¬´úÂëÈç¶ñħ£¬ÔÚÄãÍê³É±àÂëºó£¬Ó¦»ØÍ·²¢ÇÒÓÅ»¯Ëü¡£´Ó³¤Ô¶À´¿´£¬ÕâÀï»òÄÇÀïһЩµÄ¸Ä½ø£¬»áÈúóÀ´µÄÖ§³ÖÈËÔ±¸ü¼ÓÇáËÉ¡£
|