nginx¸ºÔØƽºâÓм¸ÖÖģʽ
nginx µÄ¸ºÔØƽºâģʽ£ºÂÖѯģʽ£º ÒÀ´Î½«ÇëÇó·ÖÅɸøºó¶ËЧÀÍÆ÷£¬Óŵ㣺¼òÆÓÒ×ÉèÖã¬Èõµã£º²»Ë¼Á¿Ð§ÀÍÆ÷¸ºÔØ¡£È¨ÖØÂÖѯģʽ£º ƾ֤ЧÀÍÆ÷ȨÖØ·ÖÅÉÇëÇó£¬Óŵ㣺¿Éƾ֤ЧÀÍÆ÷ÈÝÁ¿·ÖÅÉ£¬Ìá¸ßÐÔÄÜ¡£×îÉÙÅþÁ¬Êýģʽ£º ½«ÇëÇó·ÖÅɸøÄ¿½ñÅþÁ¬Êý×îÉÙµÄЧÀÍÆ÷£¬Óŵ㣺ȷ±£¸ºÔØƽºâ£¬Èõµã£ºÎÞ·¨Ë¼Á¿ÏìӦʱ¼ä¡£ip¹þϣģʽ£º ƾ֤¿Í»§¶Ë ip µØµã·ÖÅÉÇëÇó£¬Óŵ㣺»á»°¼á³Ö£¬Èõµã£ºÐèÒª½Ï´óµÄ¹þÏ£±í¡£url¹þϣģʽ£º ƾ֤ÇëÇó url ·ÖÅÉÇëÇó£¬Óŵ㣺Ìá¸ß»º´æÖÀÖÐÂÊ£¬
Nginx¸ºÔØƽºâģʽ
Nginx×÷Ϊһ¿î¹¦Ð§Ç¿Ê¢µÄWebЧÀÍÆ÷ºÍ·´ÏòÊðÀíÈí¼þ£¬Ìṩ¶àÖÖ¸ºÔØƽºâģʽÀ´Öª×ã²î±ðµÄ³¡¾°ÐèÇó¡£ÒÔÏÂÁгöÁËNginxÖ§³ÖµÄ¸ºÔØƽºâģʽ£º
1. ÂÖѯģʽ (roundrobin)
- ×î¼òÆÓµÄģʽ£¬½«ÇëÇóÒÀ´Î·ÖÅɸøºó¶ËЧÀÍÆ÷¡£
- Óŵ㣺ʵÏÖ¼òÆÓ£¬Ò×ÓÚÉèÖá£
- Èõµã£º²»Ë¼Á¿Ð§ÀÍÆ÷¸ºÔØ£¬¿ÉÄܻᵼÖÂijЩЧÀÍÆ÷¹ýÔØ¡£
2. ȨÖØÂÖѯģʽ (weighted round robin)
- ÓëÂÖѯģʽÀàËÆ£¬µ«ÔÊÐíΪÿ¸öºó¶ËЧÀÍÆ÷·ÖÅÉȨÖØ¡£
- ÇëÇóµÄ·ÖÅɸÅÂÊÓëȨÖسÉÕý±È¡£
- Óŵ㣺¿ÉÒÔƾ֤ЧÀÍÆ÷ÈÝÁ¿¾ÙÐзÖÅÉ£¬Ìá¸ßÐÔÄÜ¡£
3. ×îÉÙÅþÁ¬Êýģʽ (least connections)
- ½«ÇëÇó·ÖÅɸøÄ¿½ñÅþÁ¬Êý×îÉÙµÄЧÀÍÆ÷¡£
- Óŵ㣺ȷ±£Ð§ÀÍÆ÷¸ºÔØƽºâ£¬×èÖ¹¹ýÔØ¡£
- Èõµã£ºÎÞ·¨Ë¼Á¿Ð§ÀÍÆ÷ÏìӦʱ¼ä¡£
4. IP¹þϣģʽ (iphash)
- ƾ֤¿Í»§¶ËIPµØµã¾ÙÐйþÏ£ÅÌË㣬½«ÇëÇó·ÖÅɵ½Ìض¨Ð§ÀÍÆ÷¡£
- Óŵ㣺ȷ±£À´×Ôͳһ¿Í»§¶ËµÄËùÓÐÇëÇ󶼷¢Ë͵½Í³Ò»Ì¨Ð§ÀÍÆ÷£¬Ìṩ»á»°¼á³Ö¡£
- Èõµã£ºÐèÒª½Ï´óµÄ¹þÏ£±íÀ´´æ´¢¿Í»§¶ËIPµØµã¡£
5. URL¹þϣģʽ (urlhash)
- ÀàËÆÓÚIP¹þϣģʽ£¬µ«Æ¾Ö¤ÇëÇóURL¾ÙÐйþÏ£ÅÌËã¡£
- Óŵ㣺¿ÉÒÔ½«ÏàͬURLµÄÇëÇó·ÖÅɵ½Í³Ò»Ì¨Ð§ÀÍÆ÷£¬Ìá¸ß»º´æÖÀÖÐÂÊ¡£
- Èõµã£ºÎÞ·¨°ü¹Ü»á»°¼á³Ö¡£
6. Fair ÐÐÁÐģʽ (fair)
- ͨ¹ýµ÷ÀíËã·¨·ÖÅÉÇëÇó£¬ÒÔÈ·±£ËùÓÐЧÀÍÆ÷¶¼»ñµÃ¹«ÕýµÄʹÓá£
- ˼Á¿Ð§ÀÍÆ÷µÄÏìӦʱ¼äºÍ¸ºÔØ¡£
- Óŵ㣺Ìṩ¸ü¹«ÕýµÄ¸ºÔØƽºâ£¬×èֹЧÀÍÆ÷¹ýÔØ¡£
7. ±¸·Ýģʽ (backup)
- Ö»½«ÇëÇó·ÖÅɸøÖ÷ҪЧÀÍÆ÷¡£µ±Ö÷ҪЧÀÍÆ÷²»¿ÉÓÃʱ£¬ÇëÇó²Å»á±»×ª·¢µ½±¸·ÝЧÀÍÆ÷¡£
- Óŵ㣺Ìá¸ßÖ÷ЧÀÍÆ÷µÄ¿ÉÓÃÐÔ£¬×èÖ¹¹ÊÕÏ¡£
- Èõµã£º±¸·ÝЧÀÍÆ÷ͨ³£´¦ÓÚÏÐÖÃ״̬£¬¿ÉÄÜÔì³É×ÊÔ´ÆÌÕÅ¡£
ÒÔÉϾÍÊÇnginx¸ºÔØƽºâÓм¸ÖÖģʽµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡