[集群聊天服务器]----(十)Nginx的tcp负载均衡配置--附带截图

接着上文,我们剖析了服务端和客户端的代码,但是单台服务器的并发量是有限的,面对并发量的要求,我们就需要引入Nginx来实现并发量的要求,将用户请求分发到不同的服务器上分担压力,这就是负载均衡。
在这里插入图片描述

选择负载均衡模块要完成的任务:

  1. 把client的请求按照轮询的负载算法分发到具体的业务服务器ChatServer上;
  2. 需要和ChantServer保持心跳机制,及时检测ChatServer故障,避免分发到故障机上;
  3. 需要及时发现新添加的ChatServer设备,方便扩展服务器数量,不需要停止服务端

在Linux系统下安装配置nginx—附带每一步截图,在Linux系统下安装配置nginx—附带每一步截图中我们讲解了下载Nginx的详细步骤,这里我们来看如何对Nginx的tcp负载均衡配置。

配置步骤

  • 首先,一定要在nginx编译加入--with-stream参数激活tcp负载均衡模块,即./configure --with-stream
  • 可执行文件在sbin目录中,配置文件在conf
    在这里插入图片描述
  • 打开配置文件 vim nginx.conf
  • 在events和http之间插入以下信息(http是外部服务器的负载均衡)
#nginx tcp loadbalance config
stream{
        upstream MyServer{
                server 127.0.0.1:6000 weight=1 max_fails=3 fail_timeout=30s;
                server 127.0.0.1:6002 weight=1 max_fails=3 fail_timeout=30s;
        }

        server{
                proxy_connect_timeout 1s;
                #proxy_timeout 3s;
                listen 8000;  #nginx监听的端口号
                proxy_pass MyServer;
                tcp_nodelay on;
        }
}
  1. upstream MyServer为负载均衡模块,里面存放包含的机器,如果要添加新的服务器,只需要在里面添加即可
  2. 127.0.0.1:6000 ip和端口号
  3. weght权重,都为1表示轮询,可以把不同配置的服务器放在集群中,改变他的权重,充分利用它。
  4. max_fails=3 fail_timeout=30s;心跳检测
  • ./nginx -s reload 平滑重启
  • 查看netstat -tnap
    在这里插入图片描述
    注意:如果要停止nginx,不要使用kill杀死进程,因为nginx有进程容错机制,会自动重启。需要使用nginx -s stop

使用

  • 在使用的时候,服务器端 使用MyServer配置的两个端口登录
    在这里插入图片描述
    在这里插入图片描述
  • 客户端直接连 l 8000; 即nginx监听的端口号
    在这里插入图片描述
    在这里插入图片描述
  • 会平均分配给两个服务器(轮询算法)
    在这里插入图片描述
    在这里插入图片描述
  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值