所在的位置: php >> php发展 >> zutuanxuecomnginx集

zutuanxuecomnginx集

北京青春痘权威医院 http://baidianfeng.39.net/a_bdfys/210117/8598820.html

在前面的课程中我们学习了如何使用LVS实现后端服务器的负载均衡,同时也学习了如何使用keepalived实现lvs分发器的负载均衡,本章我们一起来看一下另外一种可以帮助我们实现负载均衡的软件,这个软件就是nginx

知识点

  传统web的访问模型及缺陷,并行处理解决方案

  nginx集群的原理

  如何使用nginx构建web集群

  nginx的分发算法

  主机头中都包含哪些信息

  nginx的高级分发功能如何使用

  keepalived的介绍及部署

  如何构建nginx+keepalived高可用集群

课程目标

能够知道针对于传统模型的缺陷有哪些解决方案

能够说出nginx是如何实现集群功能的

能够说出nginx集群如何配置,有哪些算法,如何配置

能够说出基于主机头的分发都有哪些类型,如何实现

能够独立完成nginx+keepalived架构的搭建及配置

一介绍

传统web访问模型

(1)传统web访问模型完成一次请求的步骤

1)用户发起请求2)服务器接受请求3)服务器处理请求(压力最大)4)服务器响应请求

(2)传统模型缺点

单点故障;单台服务器资源有限(客户端则是无限的);单台服务器处理耗时长(客户等待时间过长);

(3)传统模型优化——单点故障解决方案

部署一台备份服务器,宕机直接切换该方案可以有效解决服务器故障导致的单点故障,但且服务器利用率低、成本高,切换不及时,且无法解决服务器业务压力问题。

并行处理解决方案

1)DNS轮询解析方案

通过dns服务器中添加多条A记录,将同一个域名分别解析为不同的IP地址,这样就实现了一个简单的负载均衡

优点:成本较低,如果你有多个公网IP的话,只需要在DNS上多添加几条A记录就可以了,公网IP需要收费,这个功能是不收费的;部署方便,只需要增加web服务即可,原架构不需要更改。每台主机的负载都是均衡的。

缺点:无法进行健康检查,如果有web服务器宕机,DNS服务器是无法知晓的,会影响业务,而且会暴露太多的公网IP,实效性不佳,修改DNS记录需要一个生效周期,有的是3-4个小时,有的会更久;分配不均,如果几台Web服务器之间的配置不同,能够承受的压力也就不同,但是DNS解析分配的访问却是均匀分配的。其实DNS也是有分配算法的,可以根据当前连接较少的分配、可以设置Rate权重分配等等,只是目前绝大多数的DNS服务器都不支持;会话保持,如果是需要身份验证的网站,在不修改软件构架的情况下,这点是比较致命的,因为DNS解析无法将验证用户的访问持久分配到同一服务器。虽然有一定的本地DNS缓存,但是很难保证在用户访问期间,本地DNS缓存不过期

2)多机阵列——集群模式

两台负载均衡主机一个为主服务器,另外一个为备用服务器,他们,正常情况下,主服务器会绑定一个虚拟IP(VirtualIP),DNS将域名解析为虚拟IP,客户端的请求到达负载均衡器后,由负载均衡将请求交给后端的web服务器,如果主服务器宕机,则备用服务器会自动绑定这个虚拟IP,继续进行分发工作,这一切对于用户而言是透明的

优点:不需要调整dns服务器,因为是用过相应的软件来实现负载均衡的,并且只需要一个公网IP地址做为虚拟IP就可以了,还能做到随时扩容,如果后端的web服务器宕机,负载均衡器会将其从分发列表里剔除,真正的实现的网站的高度可用,因为负载均衡器有备用服务机,web服务器也有备用机

缺点:软件上和硬件上都可以实现负载均衡,选择的时候要慎重,硬件上的设备需要资金投入,软件上的要根据自己的需求决定,如LVS不能实现动静分离;NGINX适用范围小,只能支持


转载请注明:http://www.aierlanlan.com/tzrz/1382.html

  • 上一篇文章:
  •   
  • 下一篇文章: