.net core webapi 接口做使用docker镜像做负载均衡的两种方式
一、一个项目生成多个docker镜像,每个镜像的配置文件不同,比如端口不同
1、

2、

3、打包3个配置不一样的代码包,用这三个代码包生成3个镜像

4、生成3个不一样的镜像文件

5、启动三个容器分别运行这三个镜像

7、新建一个nginx的负载均衡服务器对外开放8006端口,转发8101-8103的请求

8、负载均衡default.conf如下
server { listen 80; server_name 182.92.101.106; #集群站点路由 location / { proxy_pass http://lrgtest; #对应upstream后面的名称加上http:// } }
9、负载均衡nginx.conf如下
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { #集群站点配置 upstream lrgtest{ server 182.92.101.106:8101 weight=1; server 182.92.101.106:8102 weight=1; server 182.92.101.106:8103 weight=1; } include /etc/nginx/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 /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }
10、使用curl访问8106负载均衡服务器,返回值分别是每一个服务器绑定的端口号

11、使用远程windows机器访问负载均衡服务器



二、第二种是一个项目只生成一个代码包,也只生成一个docker镜像,但是使用三个容器分别加载这一个镜像,三个容器使用三个端口
但是这种方式是缺点是配置文件都一样

浙公网安备 33010602011771号