当前位置首页 > Nginx知识

Nginx作为负载均衡服务

阅读次数:271 次  来源:admin  发布时间:

1、示意图

Nginx作为负载均衡服务

2、好处

均摊请求,让服务端整体吞吐率提高,满足不断增长的业务需求。

相比于单点服务,当其中一台服务器挂掉后,还可以继续让剩下的服务器继续服务,提高了容灾性。

二、负载均衡的分类 1、GSLB(全局负载均衡)

一般是以国家或省为单位进行全局负载的。

示意图如下:

Nginx作为负载均衡服务

2、SLB 示意图:

Nginx作为负载均衡服务

三、基于LVS的中间件架构

LVS(Linux Virtual Server )Linux 虚拟服务器

1、四层负载均衡

即在OSI七层模型中的传输层。因为第四层支持TCP/IP协议。四层负载均衡只需要对客户端的请求进行TCP/IP协议的包转发就能实现负载均衡。

优势

非常快,只需要最底层进行应用处理,不需要进行一些复杂的逻辑,值需要负责包的转发即可。

示意图

Nginx作为负载均衡服务

2、七层负载均衡

因为是在应用层,因此可以完成很多应用方面的协议请求,比如HTTP协议的负载均衡可以实现HTTP信息的改写,头信息的改写,安全应用规则的控制,转发,rewrite等等方面的规则控制。因此在七层负载均衡里面可以做的事情就更多一些,Nginx就是一个典型的七层负载均衡的SLB。

SLB(Server Load Balancing)服务器负载均衡。

示意图

Nginx作为负载均衡服务

Nginx负载均衡实现原理

通过 proxy_pass 转发到后端的服务器上,只是不是转发到一台,而是一组虚拟的服务池(即 upstream server)。在upstream 组里面实现了对于多台服务器请求的不断轮询。

当用户的请求过来后,就会通过 upstream_module 这个模块将用户的请求分发到不同的服务上,从而实现负载均衡。

故 proxy_pass 和 upstream 是两个核心的配置。

示意图

Nginx作为负载均衡服务

配置语法

gx_http_upstream_module官方文档 : http://nginx.org/en/docs/http/ngx_http_upstream_module.html

Syntax:    upstream name { ... }
Default:    —
Context:    http

示例: a、用一台服务器来实现负载均衡,配置如下:

upstream chrdai {
    server 192.168.0.133:8001;
    server 192.168.0.133:8002;
    server 192.168.0.133:8003;
}

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    access_log  /var/log/nginx/proxy_cache_access.log  main;

    location / {
        proxy_pass http://chrdai;

        include proxy_params;
    }
}

上一篇:IIS上虚拟站点的web.config与主站点的web.config冲突解决方法分类:ASP.NET2015-06-1514:0
下一篇:InstallingandConfiguringFedoraKVMVirtualization