1.大型网站特点:
前期:应用程序、数据库、文件等所有资源都在一台服务器上。LAMP架构,免费开源。
发展 :用户访问量增加,数据空间不足,独立出数据库服务器,访问延迟,添加缓存,二八原则,缓存解决。 数据库压力缓解,但瓶颈出现在了应用服务器。
解决:负载均衡。
2.什么是负载均衡?
先来简单了解一下什么是负载均衡,台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
两种负载均衡方式:硬件均衡和软件均衡
硬件均衡比较简单,通常接入一个设备即可,之后的均衡和故障检测等等都由硬件自动完成。成本较高。
软件均衡则是通过软件来转发各种请求,更加容易的定义转发规则,有较多的开源产品选择如使用Nginx作为反向代理服务器。
在 没有部署负载均衡设备之前,用户直接访问服务器地址(中间或许有在防火墙上将服务器地址映射成别的地址,但本质上还是一对一的访问)。当单台服务器由于性 能不足无法处理众多用户的访问时,就要考虑用多台服务器来提供服务,实现的方式就是负载均衡。
3.为什么用负载均衡?
(1) 负载均衡优化了访问请求在服务器组之间的分配,消除了服务器之间的负载不平衡,从而提高了系统的反应速度与总体性能;
(2) 负载均衡可以将运行异常的服务器的访问请求转移到其它可以正常工作的服务器上,从而提高服务器组的可靠性。
4.LAMP,LNMP与LNAMP的负载能力比较
LAMP方式的优缺点: 动态解析PHP能力强与Nginx, Apache加载静态页面速度没有Nginx快, 并发一般在2000左右,最高并发数5000 。
LNMP方式的优点:占用VPS资源较少,Nginx配置起来也比较简单,利用fast-cgi的方式动态解析PHP脚本。加载静态页面并发数至少是Apache的十倍,并发轻松达5W。
LNMP方式的缺点:php-fpm组件的负载能力有限,在访问量巨大的时候,php-fpm进程容易僵死,容易发生502 bad gateway错误。
LNAMP是Linux+Nginx+Apache+Mysql+PHP的组合方式,其特点是利用Nginx来作为静态脚本的解析,而利用 Nginx的转发特性,将动态脚本的解析转交给Apache来处理,这样,能充分利用两种Web服务器的特点,对于访问量需求较大的站点来说,是一个很不 错的选择。
LNAMP方式的优点:由于Apache本身处理PHP的能力比起php-fpm要强,所以不容易出现类似502 bad gateway的错误。适合访问量较大的站点使用。