nginx搭载负载均衡集群

11 篇文章 0 订阅

nginx搭载负载均衡集群(load balance cluster)

序言

  1. 单点故障
    定义:系统中某个服务以节点形式部署,在某一时刻出现这个服务不可用这种情况称之为单点故障。
  2. 单点并发压力问题
    定义:系统在某一时刻出现大量请求,导致当前服务无法处理大量请求而出现突然宕机 称之为单点压力问题
  3. 集群 cluster
    定义:同一种产品的多个服务组合在一起同时为一个系统提供服务的过程,称之为集群。
  4. 分布式系统
    定义:由不同产品集群组成服务 共同为一个系统提供服务过程 称之为分布式。
  5. 应用服务器集群

    扩展:
    由于Nginx是基于C语言开发的,而要想在Linux系统中使用,必须把下载下来的文件编译成Linux可以运行的文件,我们需要安装相关依赖

一、Nginx实现负载均衡

  1. 安装Nginx

  2. 准备多台tomcat应用服务器
    将安装好的tomcat复制多个,再进行配置文件的修改
    三台:tom1 tom2 tom3

  3. 三个tomcat的config下的server.xml文件中,三个端口都需要修改,shutdown、http、Ajp,防止重复

vi tom/conf/server.xml
  1. 启动多个tomcat服务器
tom/bin/startup.sh  
  1. 将多个应用服务器交给nginx管理
    vim /usr/nginx/nginx.conf
    ①#gzip on; 在这下面加入以下内容
    upstream tomcat-servers{
        server 192.168.0.105:9001;
        server 192.168.0.105:9002;
        server 192.168.0.105:9003;
}

②将location修改为下面的内容即可

location / {
                proxy_pass http://tomcat-servers;
                proxy_redirect off;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real_IP $remote_addr;
        }
  1. 接下来,将每个tomcat的首页修改一下,改成易于区分的内容。
  2. 然后在自己的windows电脑访问:LinuxIP:80,80端口是默认的可以省略。
    然后不停刷新网页,可以看出nginx将用户的请求均衡的分发给每个Tomcat进行处理:默认轮循的方式进行负载均衡,这样就实现了负载均衡。
    在这里插入图片描述

二、Nginx负载均衡策略(重要)

  1. 轮循
    说明:默认策略,每个请求会按时间顺序逐一分配到不同的后端服务器。
  2. weight 权重
    说明:weight参数用于指定轮循几率,weight的默认值为1,weight的数值与访问比率成正比。
 upstream tomcat-servers{
        server 192.168.0.105:9001 weight=2;
        server 192.168.0.105:9002 weight=1;
        server 192.168.0.105:9003 weight=10;
}

注意:
①权重越高分配到需要处理的请求越多
②此策略可以与least_conn和ip_hash结合使用,主要用于后端服务器性能不均

  1. ip_hash
    说明:指定负载均衡器按照基于客户端IP的分配方式,这个方法确保了相同的客户端的请求一直发送到相同的服务器,以保证session会话。这样每个访客都固定访问一个后端服务器,可以解决session不能跨服务器的问题
 upstream tomcat-servers{
 		ip_hash;
        server 192.168.0.105:9001;
        server 192.168.0.105:9002;
        server 192.168.0.105:9003;
}
  1. least_conn
    说明:把请求转发给连接数较少的后端服务器。轮循算法是把请求均发给各个后端,使它们的负载大致相同;但是,有些请求占用的时间很长,会导致其所在的后端负载较高,这种情况下,least_conn这种方式就可以达到更好的均衡效果。
 upstream tomcat-servers{
 		least_conn;
        server 192.168.0.105:9001;
        server 192.168.0.105:9002;
        server 192.168.0.105:9003;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值