今天,闲来无事,复习一波nginx——负载均衡。

    负载均衡,一般包含两方面的含义。一方面是,将单一的重负载分担到多个网络节点上做并行处理,每个节点处理结束后将结果汇总返回给用户,这样可以大幅提高网络系统的处理能力;第二个方面的含义是,将大量的前端并发访问或数据流量分担到多个后端网络节点上分别处理,这样可以有效减少前端用户等待响应的时间。(说白了就是请求分发、转发)

    Nginx服务器的负载均衡策略可以划分为两大类:即内置策略和扩展策略。内置策略主要包含轮询、加权轮询和IP hash三种;扩展策略主要通过第三方模块实现,种类比较丰富,常见的有url hash、fair等。

    废话不多说,直接开搞:

    为了模拟负载均衡,
    首先,我在本地先安装两个tomcat:
    image.png
    接下来修改以下tomcat 配置文件中的端口号:
    image.png
    image.png
    image.png

    **另外一个tomcat 中的配置也要在同样位置,将端口改18080、18005

    接下来,需要修改nginx配置文件:
    与server块同级别,加入upstream块,注意upstream 后面的名称需要与location 块里面的 proxy_pass 名称一致。
    image.png

    接下来,执行一波命令:
    去到nginx的安装根目录,执行nignx -t, 检查以下配置文件语法是否有问题,然后 nginx -s reload重新加载一下配置文件。

    然后,为了区分,我修改了tomcat的默认页面,分别动两个tomcat 服务:
    访问:http://localhost:28080/,效果:
    image.png
    访问:http://localhost:18080/,效果:
    image.png
    好了,接下来我们访问以下localhost:80这个地址:
    image.png
    image.png
    因为权重(weight)的原因,nginx 将请求分发到我们的tomcat2 的几率比tomcat大。

    好了,下次有空再看看其他有趣的吧。。。