如何实现负载均衡

当大家提起高并发的时候,必然会提到 负载均衡 ,什么是负载均衡呢?这样做又有什么好处呢?我们继续往下看:

一、什么是负载均衡

1.这是没有用负载均衡的情况,用户都是直接请求到一台服务器上,并发量不大的时候不建议采用负载均衡,毕竟需要多台服务器来支撑,成本也是非常高昂的;但是用户量大的时候,服务器承载压力就会变大,如果出现宕机的情况,那就直接GG了;

2.采用负载均衡的话,用户请求的时候,服务器A会根据不同的策略(具体策略下面详细剖解),分配到服务器(B、C、D)其中一台;这样的话,每台服务器都可以承担压力,就算其中一台服务器宕机的时候,还有其他服务器来支持,也不会导致系统停运,请求地址在用户看来都是一样的,只是后台请求的是不同服务器,用户无感知变化;

二、nginx配置负载均衡

大家需要需要准备三台安装上nginx的服务器,配置过程不会太复杂;

 

1.打开nginx的配置文件(nginx.conf),修改以下配置

2.重启nginx服务器,输入service nginx restart 即可!

 

 

三、负载均衡的策略机制
1.轮询(默认)

请求依次轮流往每个应用服务器上进行分配,分配策略比较简单。 

缺点:不均匀,可能会出现,某些服务器接受的请求较重,负载压力重,有些负荷小,不可控。另外服务器之间需要进行session同步。

2.权重轮询(权重越高,进入的几率越大)

优点:可以根据情况进行调整。可控,仍然需要进行session同步。

3.IP-Hash

优点:无需进行session同步,固定IP会固定访问一台服务器。 

缺点:恶意攻击,会造成某台服务器压垮。提供的服务不同,面向的地区不同,IP可能会出现集中,造成不均匀,不可控。

4.Fair

这种相当于自适应,会根据服务器处理请求的速度进行负载均衡分配。处理请求最早结束的,拿到下一个请求。看上去是不是很好。但是一般都不使用,说是考虑到网络不稳定因素。还有待研究。这种也需要进行session同步。

5.URL-Hash 

这种是根据URL进行hash,这样某些请求永远打某台服务器。利于利用服务器的缓存,但是可能由于URL的哈希值分布不均匀,以及业务侧重造成某些服务器压力大,某些负荷低。这种也需要进行session同步。
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值