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

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

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Keepalived+LVS+nginx搭建nginx高可用集群 java扛砖大哥 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,但是在目标服务处理完数据之后,其会直接将响应报

文档评论(0)

136****9268 + 关注
实名认证
文档贡献者

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

认证主体章**

1亿VIP精品文档

相关文档

相关课程推荐