使用nginx负载均衡器提高并发量

为什么要负载均衡

我们使用的socketfd本质上是文件描述符,默认大小是1024个,我们通过一个进程,使用limit调大,一台服务器在我们的32位的linux下并发量:2万左右的并发量,如果要支持3万,4万用户同时在线聊天就不可以了。

如果我们要提高聊天服务器的并发能力,让更多的用户可以同时在线聊天,我们要进行集群部署。在水平方向上扩展多台主机,每一台主机运行着独立的chatserver,我们在下图中,引入了3台主机,每一台主机运行着独立的chatserver服务器,可以给用户提供聊天服务,但是,我们在用QQ客户端登录的时候,人家有没有问你想连哪个服务器?不能把选择服务器的决定扔给客户,客户又不知道哪个服务器空闲哪个服务器繁忙。所以,我们在集群聊天服务器,要引入nginx负载均衡器,也叫做反向代理设备,帮我们统一接收客户端的请求,然后根据配置的既定的负载均衡算法,来把客户端的这些请分发到业务服务器chatserver上。

在这里插入图片描述
首先,用户在使用客户端的时候,不用去选择连接哪个服务器,客户端软件默认的连接负载均衡器。负载均衡器的角色相当于一个中间的桥梁,连接了客户端和服务器,client1先发送请求到负载均衡器,负载均衡器根据配置的既定的负载算法,比如说轮询,按权重,按ip哈希等等,负载均衡器给client1的请求分发到了chatserver1上,相当于client1就登录到了chatserver1上。client2现在登录,通过负载算法,轮询,登录到了chatserver2上。再来client3登录的话,就登录到了chatserver3上。如下图所示:
在这里插入图片描述

聊天服务器是长连接的业务,聊天的链路一直保持着。客户端的请求和服务器的响应都是要经过负载均衡器

如果要再扩展一台设备。我们把这个设备的信息添加到负载均衡器上,然后再把负载均衡器重启一下,肯定是不行的,因为此时用户就不能使用了。但是nginx支持平滑启动,可以在不中断服务的前提下去加载配置文件,动态的识别新添加的服务信息。

nginx的设置

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值