在公司中一般都是搭集群的,要么就是zuul一主一备,因为网关是统一入口如果单击版的话,网关一死直接瘫痪了.下面这个图就是让Nginx作为统一如果使用反向代理实现zuul的集群,其实下面这个图还需要加个Nginx一主一备.或者Nginx集群版就可以了.
搭建过程
(C:\Windows\System32\drivers\etc)编辑下面这个文件,修改里面ip对应的地址,因为要使用域名的不同来实现反向代理.
ip后面的域名随便写
下面这段配置意思就是,当访问www.buba.com的时候,找到backServer,然后找到上面对应的网关地址,然后再访问网关.网关再转发到具体的服务,这就直接配置好了负载均衡了.
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
#配置上游服务器网关端口集群
upstream backServer{
server 127.0.0.1:81 weight=1;
server 127.0.0.1:82 weight=1;
}
server {
listen 80;
server_name www.buba.com;
location / {
### 指定上游服务器负载均衡服务器
proxy_pass http://backServer/;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
在网关服务的Filter中打印一下日志,输入到底执行的哪个网关
然后依次启动eureka服务端,config服务端,member,order服务,zuul网关启动两个,一个端口为81,一个为82
然后启动Nginx
使用火狐进行测试,谷歌的话测不出来,当一直访问这个路径的时候就发现网关控制台已经实现了负载均衡了.