zoukankan      html  css  js  c++  java
  • Nginx:负载均衡

    准备

    创建两个tomcat容器

    tomcat容器1

    `docker run -d --name tomcat8080 
    -p 8080:8080
    -v /zzyyuse/tomcat/8080/conf:/conf
    -v /zzyyuse/tomcat/8080/logs:/logs
    -v /zzyyuse/tomcat/8080/webapps:/webapps 625b734f984e`

    tomcat容器2

    `docker run -d --name tomcat8081 -p 8081:8080 -v 
    /zzyyuse/tomcat/8081/conf:/conf -v
    /zzyyuse/tomcat/8081/logs:/logs -v
    /zzyyuse/tomcat/8081/webapps:/webapps tomcat:8.5.32`

    tomcat容器创建完毕:在一台linux操作系统上分别占用不同的端口

    `[root@aubin zzyyuse]# docker ps`
    `CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS             PORTS                   NAMES`
    `745f69d6965d       tomcat:8.5.32       "catalina.sh run"   About a minute ago   Up About a minute   0.0.0.0:8081->8080/tcp   tomcat8081`
    `388e6628e16b       625b734f984e       "catalina.sh run"   3 minutes ago       Up 3 minutes       0.0.0.0:8080->8080/tcp   tomcat8080`

    在容器内部的webapps目录下创建页面

    启动容器的交互式运行

    `[root@aubin zzyyuse]# docker exec -it tomcat8081 /bin/bash`
    ·

    分别在两个容器的webapps目录下的zhai目录下创建页面并进行测试

    配置Nginx

    启动一个Nginx容器

    [root@aubin ~]# docker run -d -p 80:80 nginx
    73b5dadf0e425322dd704462b92024a90c6346f2ae5186de15b036091cf927b0
    [root@aubin ~]# docker ps
    CONTAINER ID       IMAGE               COMMAND                 CREATED             STATUS             PORTS                   NAMES
    73b5dadf0e42       nginx               "/docker-entrypoint.猞"   4 seconds ago       Up 3 seconds       0.0.0.0:80->80/tcp       laughing_khayyam
    745f69d6965d       tomcat:8.5.32       "catalina.sh run"       39 minutes ago     Up 39 minutes       0.0.0.0:8081->8080/tcp   tomcat8081
    388e6628e16b       625b734f984e       "catalina.sh run"       41 minutes ago     Up 41 minutes       0.0.0.0:8080->8080/tcp   tomcat8080
    [root@aubin ~]# docker exec -it 73b5dadf0e42 /bin/bash

    配置服务器地址

    配置server

    测试

    每次访问相同的地址,显示的结果是不一样的,也就是说每次请求访问的服务器是不同的,Nginx能够将请求分配到不同的服务器。

    负载均衡总结

    分配策略

    轮询

    默认的策略,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除

    weight

    weight代表权,权重默认为1,权重越高被分配的客户端越多

    ip_hash

     

    每个请求按访问ip的 hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。例如:用户一首次访问到的是端口为8080的服务器,那么以后访问到的依旧是8080端口的服务器,可以解决session共享的问题。

    fair

    按后端服务器的响应时间来分配请求,响应时间短的优先分配。例如:有两个服务器,哪一台服务器的响应时间短就优先分配给它。

     

  • 相关阅读:
    hdu1150&&POJ1325 Machine Schedule---最小点覆盖
    hdu-1068&&POJ1466 Girls and Boys---最大独立集
    hdu-2680 Choose the best route---dijkstra+反向存图或者建立超级源点
    hdu-1317 XYZZY---Floyd判连通+bellman最短路
    hdu-1874 畅通工程续---模板题
    hdu-2112 HDU Today---dijkstra+标号
    hdu-2066 一个人的旅行---模板题
    hdu-3790 最短路径问题---dijkstra两重权值
    hdu-2544 最短路---模板题
    BZOJ3529: [Sdoi2014]数表
  • 原文地址:https://www.cnblogs.com/zhai1997/p/13905912.html
Copyright © 2011-2022 走看看