Nginx¸ºÔØƽºâ¶àÖÖÕ½ÂÔÉèÖã¬ÌáÉýÍøÕ¾ÐÔÄÜ
nginx¸ºÔØƽºâ¶àÖÖÕ½ÂÔÉèÖã¬ÌáÉýÍøÕ¾ÐÔÄÜ
¡¾Ð¡Ðò¡¿
ÔÚµ±½ñ»¥ÁªÍøʱ´ú£¬ÍøÕ¾µÄÐÔÄÜÊÇÖÁ¹ØÖ÷ÒªµÄÒ»¸öÖ¸±ê¡£µ±ÍøÕ¾µÄ»á¼ûÁ¿Öð½¥Ôö¶àʱ£¬ÎªÁË°ü¹ÜÍøÕ¾µÄÎȹÌÐÔºÍÏìÓ¦ËÙÂÊ£¬¸ºÔØƽºâ³ÉΪÁËÒ»¸ö±Ø²»¿ÉÉٵŤ¾ß¡£Nginx×÷Ϊһ¿îÐÔÄÜÓÅÔ½¡¢ÎÞаÒ×ÓõÄWebЧÀÍÆ÷Èí¼þ£¬ÌṩÁ˶àÖÖ¸ºÔØƽºâµÄÕ½ÂÔ£¬±¾ÎĽ«ÏÈÈÝÔõÑùÉèÖÃNginxÒÔÌáÉýÍøÕ¾ÐÔÄÜ¡£
¡¾¸ºÔØƽºâÕ½ÂÔ¼ò½é¡¿
¸ºÔØƽºâ£¨Load Balancing£©ÊÇÖ¸ÔÚ¶ą̀ЧÀÍÆ÷ÉÏ·Ö·¢ºÍ´¦Öóͷ£¿Í»§¶ËÇëÇ󣬽«¸ºÔØÊèÉ¢µ½²î±ðµÄЧÀÍÆ÷ÉÏ£¬ÒÔµÖ´ïÌá¸ßϵͳÐÔÄܺͿÉÓÃÐÔµÄÄ¿µÄ¡£NginxÌṩÁËÒÔϼ¸ÖÖ¸ºÔØƽºâÕ½ÂÔ£º
ÂÖѯ£¨Round Robin£©£ºÆ¾Ö¤ÇëÇó˳ÐòÂÖÁ÷·ÖÅɵ½²î±ðµÄºó¶ËЧÀÍÆ÷£¬ÊµÏÖÇëÇóµÄƽºâ·Ö·¢¡£
IP¹þÏ££¨IP Hash£©£ºÆ¾Ö¤¿Í»§¶ËIPµØµã¾ÙÐйþÏ£ÔËË㣬½«Í³Ò»¸öIPµÄÇëÇó·ÖÅɵ½Í³Ò»Ì¨ºó¶ËЧÀÍÆ÷¡£ÕâÑù¿ÉÒÔ°ü¹Üͳһ¿Í»§¶ËµÄÇëÇ󶼱»·¢Ë͵½Í³Ò»Ì¨Ð§ÀÍÆ÷£¬½â¾öÁËijЩӦÓó¡¾°Ï»Ự״̬ÉúÑĵÄÎÊÌâ¡£
×îСÅþÁ¬£¨Least Connections£©£º½«ÇëÇó·ÖÅɸøÄ¿½ñÅþÁ¬Êý×îÉٵĺó¶ËЧÀÍÆ÷£¬ÒԵִ︺ÔØƽºâµÄЧ¹û¡£
¼ÓȨÂÖѯ£¨Weighted Round Robin£©£ºÆ¾Ö¤È¨ÖؾÞϸ·ÖÅÉÇëÇóµ½²î±ðµÄºó¶ËЧÀÍÆ÷¡£Í¨¹ýºÏÀíÉèÖÃȨÖØ£¬¿ÉÒÔÈÃijЩЧÀÍÆ÷ÏìÓ¦¸ü¶àµÄÇëÇó£¬ÊµÏÖ¸ºÔØƽºâ¡£
¡¾Nginx¸ºÔØƽºâÉèÖÃʾÀý¡¿
£¨1£©ÂÖѯսÂÔÉèÖÃʾÀý£º
http { upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; location / { proxy_pass http://backend; } } }
µÇ¼ºó¸´ÖÆ
£¨2£©IP¹þÏ£Õ½ÂÔÉèÖÃʾÀý£º
http { upstream backend { ip_hash; server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; location / { proxy_pass http://backend; } } }
µÇ¼ºó¸´ÖÆ
£¨3£©×îСÅþÁ¬Õ½ÂÔÉèÖÃʾÀý£º
http { upstream backend { least_conn; server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; location / { proxy_pass http://backend; } } }
µÇ¼ºó¸´ÖÆ
£¨4£©¼ÓȨÂÖѯսÂÔÉèÖÃʾÀý£º
http { upstream backend { server backend1.example.com; server backend2.example.com weight=2; server backend3.example.com; } server { listen 80; location / { proxy_pass http://backend; } } }
µÇ¼ºó¸´ÖÆ
¡¾×ܽ᡿
ÒÔÉÏÊǼ¸ÖÖ³£¼ûµÄNginx¸ºÔØƽºâÕ½ÂÔµÄÉèÖÃʾÀý¡£Í¨¹ýºÏÀíÑ¡ÔñºÍÉèÖøºÔØƽºâÕ½ÂÔ£¬¿ÉÒÔÓÐÓÃÌáÉýÍøÕ¾µÄÐÔÄܺͿɿ¿ÐÔ¡£ÔÚÏÖʵӦÓÃÖУ¬¿ÉÒÔƾ֤ÏêϸµÄ³¡¾°ºÍÐèÇóÑ¡ÔñÊʺϵĸºÔØƽºâÕ½ÂÔ¡£ÁíÍ⣬»¹¿ÉÒÔÍŽáÆäËûÊÖÒÕ£¬È绺´æ¡¢·´ÏòÊðÀíµÈ£¬½øÒ»²½ÓÅ»¯ÍøÕ¾µÄÐÔÄÜ¡£
¸ºÔØƽºâµÄÉèÖò»µ«½öÉæ¼°NginxµÄÏà¹Ø֪ʶ£¬»¹ÐèÒªÏàʶºó¶ËЧÀÍÆ÷µÄÉèÖúÍÐÔÄÜ£¬´Ó¶øʵÏÖÕæÕýµÄ¸ºÔØƽºâЧ¹û¡£Òò´Ë£¬ÔÚÉèÖøºÔØƽºâʱ£¬»¹Ó¦×ÛºÏ˼Á¿¸÷·½ÃæÒòËØ£¬ÒÔÖª×ãÍøÕ¾µÄÐèÇó¡£Ï£Íû±¾ÎÄÄܶԶÁÕßÃ÷È·Nginx¸ºÔØƽºâµÄ¿´·¨ºÍÉèÖÃÓÐËù×ÊÖú£¬²¢ÔÚÏÖʵӦÓÃÖÐÌáÉýÍøÕ¾ÐÔÄÜ¡£
ÒÔÉϾÍÊÇNginx¸ºÔØƽºâ¶àÖÖÕ½ÂÔÉèÖã¬ÌáÉýÍøÕ¾ÐÔÄܵÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡