web服务器-------负载均衡

为什么要实现服务器集群?

实现服务器集群主要就是为了负载均衡(Load Balance——有两台或者以上的服务器或者站点提供服务,服务将来自客户端的请求,靠某种算法,去尽量平分请求到集群的机器中,从而避免一台服务器因为负载太高而出现故障,而即使其中某个机器出现故障,负载均衡会自动规避选择,使得用户也能正常访问服务。


一、几个基本概念

1、pv 值

pv 值(page views):页面的浏览量

概念:一个网站的所有页面,在一天内,被浏览的总次数。(大型网站通常是上千万的级别)

2、uv值

uv值(unique visitor)独立访客

概念:一个网站,在一天内的用户访问数。(大型网站通常达10万以上)

3、独立IP

概念:一个网站,在一天内,有多少个独立的ip地址来访问。

鉴于一个局域网对外访问时都是共用同一个公网IP的,因此UV值一般要略大于独立ip值

十分钟让你学会LNMP架构负载均衡

可以通过爱站网 来查询这些参数值

十分钟让你学会LNMP架构负载均衡

二、解决高并发思路

如果一个网站的uv,pv,独立ip变大,则会导致高的并发,这时要对网站分层布局架构,采用负载均衡。

负载均衡

硬件:立竿见影,效果非常好,价格非常昂贵,比如F5-BIGIP

软件:lvs(linux virtual server) ,nginx(web服务器,负载均衡)

负载均衡实现策略

(1)轮询,

负载均衡器把请求轮流转发给后面的web服务器。

(2)ip哈希,

同一个地址的客户端,始终请求同一台主机。

优点:能较好地把同一个客户端的多次请求分配到同一台服务器处理,避免了加权轮询无法适用会话保持的需求。
缺点:当某个时刻来自某个IP地址的请求特别多,那么将导致某台后端服务器的压力可能非常大,而其他后端服务器却空闲的不均衡情况。

(3)最少连接

负载均衡器把请求给负载最小的哪台服务器。

架构图如下:

十分钟让你学会LNMP架构负载均衡

如果并发数继续增大,还可以借助CDN来架构



十分钟让你学会LNMP架构负载均衡

(4)fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。


upstream resinserver{
server server1;
server server2;
fair;
}


三、nginx的介绍

1、常用web服务器

apache:功能完善,历史悠久,模块支持非常丰富,属于重量级产品,比较耗费内存。

缺点:处理每一个php比较费资源,导致如果高并发时会耗费服务器资源无法处理更多请求。

lighttpd:内存开销低,cpu占用率低,效能好,模块丰富等特点,轻量级web服务器。

nginx:省资源,省cpu,所以在高并发时能够处理更多的请求,高端能达到3万到5万的并发量。

IIS windows自带的web服务器软件

Nginx的两大应用:

(1) http的服务器

(2)代理服务器

正向代理

十分钟让你学会LNMP架构负载均衡

反向代理

十分钟让你学会LNMP架构负载均衡

2、选择nginx理由

(1)它可以高并发连接,官方测试能够支撑5万并发连接,在实际生产环境中可以支撑2到4万并发连接。

(2)内存消耗少

Nginx+php(FastCGI)服务器在3万并发连接下,开启的10个Nginx进程消耗150MB内存(15MB*10=150MB)开启的64个php-cgi进程消耗1280MB内存(20MB*64=1280MB)

(3)成本低廉

购买F5 BIG-IP ,NetScaler等硬件负载均衡交换机需要10多万甚至几十万人民币。而Nginx为开源软件,可以免费试用,并且可用于商业用途。

十分钟让你学会LNMP架构负载均衡

(4)配置文件非常简单:通俗易懂,即使非专业管理员也能看懂。

(5)支持 rewrite重写规则:能根据域名、URL的不同,将HTTP请求分到不同的后端服务器群组。

(6)内置的健康检查功能:如果nginx proxy后端的某台服务器宕机了,不会影响前端访问。

(7)节省带宽,支持gzip压缩。

(8)稳定性高:用于反向代理,宕机的概率微乎其微。

(9)支持热部署。在不间断服务的情况下,对软件版本升级。

十分钟让你学会LNMP架构负载均衡

nginx在反向代理,rewrite规则,稳定性,静态化文件处理,内存消耗等方面,表现出了很强的优势,选用nginx取代传统的apache 服务器,将会获得多方面的性能提升。

(8)支持的操作系统

FreeBSD 3.x,4.x,5.x,6.x i386; FreeBSD 5.x,6.x amd64;Linux 2.2,2.4,2.6 i386; Linux 2.6 amd64;Solaris 8 i386; Solaris 9 i386 and sun4u; Solaris 10 i386;MacOS X (10.4) PPC;

负载均衡 == 分身的能力   负载均衡还得保持通话   负载均衡还要懂得修理他






发布了18 篇原创文章 · 获赞 8 · 访问量 4万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览