系统综合实践_4

1、Docker-compose实现Tomcat+Nginx负载均衡


  • nginx反向代理原理

????客户端向反向代理发送请求,接着反向代理转发请求至目标服务器,并把获得的内容返回给客户端。
系统综合实践_4

  • nginx代理tomcat集群

    • 项目结构

    系统综合实践_4

    • docker-compose.yml

    系统综合实践_4

    • nginx配置文件default.conf

    系统综合实践_4

    • 执行docker-compose up

    系统综合实践_4

    • 浏览器访问localhost,显示的是自己编写的html

    系统综合实践_4

  • nginx负载均衡策略

    • 负载均衡策略
    • 轮询:最基本的配置方法,上面的例子就是轮询的方式,它是upstream模块默认的负载均衡默认策略。每个请求会按时间顺序逐一分配到不同的后端服务器。
    • weight:在轮询策略的基础上指定轮询的几率。
    • ip_hash:指定负载均衡器按照基于客户端IP的分配方式,这个方法确保了相同的客户端的请求一直发送到相同的服务器,以保证session会话。这样每个访客都固定访问一个后端服务器,可以解决session不能跨服务器的问题。
    • least_conn:把请求转发给连接数较少的后端服务器。轮询算法是把请求平均的转发给各个后端,使它们的负载大致相同;但是,有些请求占用的时间很长,会导致其所在的后端负载较高。这种情况下,least_conn这种方式就可以达到更好的负载均衡效果。
    • 详见:Nginx服务器之负载均衡策略
    • 负载均衡测试

      • 轮询
      • 编写测试代码
        系统综合实践_4

      • 测试结果
        系统综合实践_4

      • weight
      • 修改nginx配置文件default.conf
        系统综合实践_4

      • 重启容器

        sudo docker restart <Container ID>
      • 执行测试程序,100次访问,访问数分别为14,29,57,比例接近1:2:3
        系统综合实践_4

      • ip-hash
      • 修改default.conf
        系统综合实践_4

      • 重启容器并执行测试程序,100次访问都访问同一服务器。
        系统综合实践_4

2、Docker-compose部署javaweb运行环境


3、Docker搭建大数据集群环境


4、问题&解决


5、总结


ul

相关推荐