Keepalived+LVS+nginx搭建nginx高可用集群.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Keepalived+LVS+nginx搭建nginx高可用集群 2021-10-09 ? ? ? ?nginx是一款格外优秀的反向代理工具,支持恳求分发,负载均衡,以及缓存等等格外有用的功能。在恳求处理上,nginx接受的是epoll模型,这是一种基于大事监听的模型,因而其具备格外高效的恳求处理效率,单机并发力量能够达到上百万。nginx接收到的恳求可以通过负载均衡策略分发到其下一级的应用服务器,这些服务器一般是以集群方式部署的,因而在功能不足的情况下,应用服务器可以通过加机器的方式扩展流量。此时,对于一些特大型的网站,功能的瓶颈就来自于nginx了,由于单机的nginx的并发力量是有上限的,而nginx本身是不支持集群模式的,因而此时对nginx的横向扩展就显得尤为重要。 ?????? keepalived是一款服务器形态检测和毛病切换的工具。在其配置文件中,可以配置主备服务器和该服务器的形态检测恳求。也就是说keepalived可以依据配置的恳求,在供应服务期间不断向指定服务器发送恳求,假如该恳求前往的形态码是200,则表示该服务器形态是正常的,假如不正常,那么keepalived就会将该服务器给下线掉,然后将备用服务器设置为上线形态。 ??????? lvs是一款用于四层负载均衡的工具。所谓的四层负载均衡,对应的是网络七层协议,常见的如HTTP协议是建立在七层协议上的,而lvs作用于四层协议上,也即:传输层,网络层,数据链路层和物理层。这里的传输层次要协议有TCP和UDP协议,也就是说lvs次要支持的方式是TCP和UDP。也正是由于lvs是处于四层负载均衡上的,因而其处理恳求的力量比常见的服务器要高格外多,比如nginx的恳求处理就是建立在网络七层上的,lvs的负载均衡力量是nginx的十倍以上。 ???????通过上面的引见,我们可以发觉,在特大型网站中,应用服务器是可以横向扩容的,而nginx是不支持横向扩容的,此时nginx就会成为功能瓶颈。而lvs是一款负载均衡工具,因而假如我们结合lvs和nginx,那么就可以通过部署多台nginx服务器,通过lvs的负载均衡力量,将恳求均衡的分发到各个nginx服务器上,再由nginx服务器分发到各个应用服务器,这样,我们就实现了nginx的横向扩展了。由于nginx本质上也是一款应用服务器,因而其也有可能宕机,因而这里结合keepalived就可以实现nginx的毛病检测和服务切换。也就是说,通过keepalived+lvs+nginx,我们实现了nginx的高可用集群模式。 ???????在上面的引见中,我们会留意到,虽然keepalived+lvs+nginx实现了nginx的集群模式,但是在我们使用nginx的时候,其本身是有一个ip和端口的,默认监听的端口是80和443,那么lvs是如何实现将恳求分发给具有不同ip和端口的nginx服务器的呢?这里就是通过虚拟ip实现的,所谓虚拟ip就是对外供应一个公共的ip,外部客户端恳求的都是这个ip,lvs在接收到虚拟ip的恳求之后,通过配置的调度器和负载均衡策略,选择一个目标nginx服务器,然后将恳求转发给该服务器。这里lvs有两个概念,就是调度器和负载均衡策略,所谓的调度器指的是lvs将会以何种方式处理恳求和响应数据,其次要有三种调度器: Virtual Server via Network Address Translation(VS/NAT):这种方式的次要原理是,用户发送恳求到虚拟ip上后,lvs会依据负载均衡算法选择一个目标处理服务,然后将恳求报文中的目标ip地址修改为计算得到的目标服务器,并且发送给该服务器。对于响应的报文,调度器会将目标服务器前往的响应数据中的源地址修改为虚拟ip地址。通过这种方式,对客户端而言,其方式上面对的是一台服务器。不过这种方式的缺点在于,全部的响应数据都需要通过调度器,假如恳求量比较大的情况下,那么调度器就会成为整个系统的瓶颈。 Virtual Server via IP Tunneling(VS/TUN):这种方式次要处理的就是VS/NAT中,响应数据会经过调度器的问题。同VS/NAT一样 ,调度器还是会接收恳求的数据,并且将报文中的目标ip修改为目标服务的ip,但是在目标服务处理完数据之后,其会直接将响应报文中的源ip修改为虚拟ip,然后将恳求发送给客户端。通过这种方式,响应数据就由各个目标服务进行了处理,而无需通过调度器进行前往,这种方式会大大提高系统的吞吐量,而且由于一般恳求报文比响应报文小很多,调度器也只需要处理恳求报文,那么系统的全体负载将会被均摊到各个服务器上。 Virtual Server via Direct Routing(VS/DR):这种方式相

文档评论(0)

bob157641554 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档