网关集群说明

概念介绍

动态网关与服务、注册中心、配置中心的关系,网关作为外部访问的唯一入口,若挂掉了,那全部的服务就无法访问了,为了防止这种情况出现,网关也应该和服务一样做集群。然而网关作为唯一入口,总不能让用户记住多个域名吧,所以在网关之上,我们加一层nginx做反向代理。这样做有什么好处呢?首先,如果我们使用nginx作为网关,则权限验证、日志管理等原来网关做的需要在nginx上实现,nginx不支持java开发,这会增加开发难度,所以nginx仅用做反向代理(负载均衡也可以),网关仍维持原功能。这样形成了下图的关系
网关集群说明_第1张图片

直接体现

$ vim $NGINX_HOME/conf/nginx.conf
worker_processes  auto;
events {
    use  epoll;
    worker_connections  65535;
}
http {
    upstream aidan.org{
        server 127.0.0.1:8881 weight=3;
        server 127.0.0.1:8882 weight=2;
        server 127.0.0.1:8883 weight=1;
    }
    server {
        listen       80;
        server_name  aidan.org;
        location / {
            proxy_pass  http://aidan.org;
            proxy_set_header  Host  $host;
            proxy_set_header  X-Real-IP  $remote_addr;
        }
    }
}
$ nginx -s reload

测试

[root@localhost ~]# curl aidan.org/a/a
hello nginx,I'm 8881 Server.nginx host is aidan.org,your realIp is 127.0.0.1
[root@localhost ~]# curl aidan.org/a/a
hello nginx,I'm 8882 Server.nginx host is aidan.org,your realIp is 127.0.0.1
[root@localhost ~]# curl aidan.org/a/a
hello nginx,I'm 8881 Server.nginx host is aidan.org,your realIp is 127.0.0.1
[root@localhost ~]# curl aidan.org/a/a
hello nginx,I'm 8883 Server.nginx host is aidan.org,your realIp is 127.0.0.1
[root@localhost ~]# curl aidan.org/a/a
hello nginx,I'm 8882 Server.nginx host is aidan.org,your realIp is 127.0.0.1
[root@localhost ~]# curl aidan.org/a/a
hello nginx,I'm 8881 Server.nginx host is aidan.org,your realIp is 127.0.0.1

发现8881出现了3次,8882出现2次,8883出现1次,权重比为3:2:1
权重越高 访问的占比也最高

这里可以根据不同的服务器优劣进行分配

你可能感兴趣的:(nginx,云服务器,nginx,服务器,运维)