nginx(3、负载均衡)

当业务系统需要配置集群时,会用到nginx的负载均衡功能。nginx提供如下几种:

1、轮询(默认):将不同的请求随机分配给配置的服务器,若出现宕机,则自动切换;轮询可配置weight值,即权重,权重越高被选中的几率越大,通常与服务器本身的性能成比例;

2、ip_hash: 根据IP值进行hash,此方式保证同一个ip的请求发送到同一台服务器,这样可以不考虑session共享问题;

3、fair:根据后端服务器的相应时间来选择,该方式需要下载nginx upstream faire插件;

4、url_hash:根据URL来hash到不同的服务器,同一个URL分配到同一个服务器,该方式也需要下载hash插件;

下面给出一个最简单的轮询配置:

    upstream fredric.net {
      server localhost:3000;
      server localhost:2000;
    }

    server {
        listen       800;
        server_name  localhost;        
        location / {
            proxy_pass  http://fredric.net;
        }

upstream还提供一系列的参数,包括:

1、down: 该服务器不参与负载均衡;

2、backup: 当其他服务器都忙或故障时,才启用该服务器;

3、max_fails:允许的最大错误次数;

4、fail_timeout:当max_fails超过时,暂停服务的时间;

原文地址:https://www.cnblogs.com/Fredric-2013/p/4522609.html