http重定向DNS负载均衡.PDF

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
http重定向DNS负载均衡.PDF

六大Web负载均衡原理与实现 博客分类 :  分布式 负载均衡httpLVSDNS  开头先理解一下所谓的 “均衡” 不能狭义地理解为分配给所有实际服务器一样多的工作量 ,因为多台服务器的承载能力各不相同 ,这可能体现在硬件配置、 网络带宽的差异 ,也可能因为某台服务器身兼多职 ,我们所说的 “均衡” ,也就是希望所有服务器都不要过载 ,并且能够最 大程序地发挥作用。 一、http重定向 当http代理 (比如浏览器 )向web服务器请求某个URL后 ,web服务器可以通过http响应头信息中的Location标记来返回一 个新的URL。这意味着HTTP代理需要继续请求这个新的URL ,完成自动跳转。 性能缺陷 : 1、吞吐率限制 主站点服务器的吞吐率平均分配到了被转移的服务器。现假设使用RR (Round Robin )调度策略 ,子服务器的最大吞吐率 为1000reqs/s ,那么主服务器的吞吐率要达到3000reqs/s才能完全发挥三台子服务器的作用 ,那么如果有100台子服务 器 ,那么主服务器的吞吐率可想而知得有大 ?相反 ,如果主服务的最大吞吐率为6000reqs/s ,那么平均分配到子服务器的吞 吐率为2000reqs/s ,而现子服务器的最大吞吐率为1000reqs/s ,因此就得增加子服务器的数量 ,增加到6个才能满足。 2、重定向访问深度不同 有的重定向一个静态页面 ,有的重定向相比复杂的动态页面 ,那么实际服务器的负载差异是不可预料的 ,而主站服务器却一 无所知。因此整站使用重定向方法做负载均衡不太好。 我们需要权衡转移请求的开销和处理实际请求的开销 ,前者相对于后者越小 ,那么重定向的意义就越大 ,例如下载。你可以 去很多镜像下载网站试下 ,会发现基本下载都使用了Location做了重定向。 二、DNS负载均衡 DNS负责提供域名解析服务 ,当访问某个站点时 ,实际上首先需要通过该站点域名的DNS服务器来获取域名指向的IP地址 , 在这一过程中 ,DNS服务器完成了域名到IP地址的映射 ,同样 ,这样映射也可以是一对多的 ,这时候 ,DNS服务器便充当了 负载均衡调度器 ,它就像http重定向转换策略一样 ,将用户的请求分散到多台服务器上 ,但是它的实现机制完全不同。 使用dig命令来看下baidu的DNS设置 可见baidu拥有三个A记录 相比http重定向 ,基于DNS的负载均衡完全节省了所谓的主站点 ,或者说DNS服务器已经充当了主站点的职能。但不同的 是 ,作为调度器 ,DNS服务器本身的性能几乎不用担心。因为DNS记录可以被用户浏览器或者互联网接入服务商的各级 DNS服务器缓存 ,只有当缓存过期后才会重新向域名的DNS服务器请求解析。也说是DNS不存在http的吞吐率限制 ,理论 上可以无限增加实际服务器的数量。 特性 1、可以根据用户IP来进行智能解析。DNS服务器可以在所有可用的A记录中寻找离用记最近的一台服务器。 2、动态DNS :在每次IP地址变更时 ,及时更新DNS服务器。当然 ,因为缓存 ,一定的延迟不可避免。 不足 : 1、没有用户能直接看到DNS解析到了哪一台实际服务器 ,加服务器运维人员的调试带来了不便。 2、策略的局限性。例如你无法将HTTP请求的上下文引入到调度策略中 ,而在前面介绍的基于HTTP重定向的负载均衡系统 中 ,调度器工作在HTTP层面 ,它可以充分理解HTTP请求后根据站点的应用逻辑来设计调度策略 ,比如根据请求不同的URL 来进行合理的过滤和转移。 3、如果要根据实际服务器的实时负载差异来调整调度策略 ,这需要DNS服务器在每次解析操作时分析各服务器的健康状 态 ,对于DNS服务器来说 ,这种自定义开发存在较高的门槛 ,更何况大多数站点只是使用第三方DNS服务。 4、DNS记录缓存 ,各级节点的DNS服务器不同程序的缓存会让你晕头转向。 5、基于以上几点 ,DNS服务器并不能很好地完成工作量均衡分配 ,最后 ,是否选择基于DNS的负载均衡方式完全取决于你 的需要。 三、反向代理负载均衡 这个肯定大家都有所接触 ,因为几乎所有主流的Web服务器都热衷于支持基于反向代理的负载均衡。它的核心工作就是转发 HTTP请求。 相比前面的HTTP重定向和DNS解析 ,反向代理的调度器扮演的是用户和实际服务器中间人的角色 : 1、任何对于实际服务器的HTTP请求都必须经过调度器 2、调度器必须等待实际服务器的HTTP响应 ,并将它反馈给用户 (前两种方式不需要经过调度反馈 ,是实际服务器直接发送 给用户 ) 特性 : 1、调度策略丰富。例如可以为不同

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档