zoukankan      html  css  js  c++  java
  • 使用DNSPod来处理网站的均衡负载(转)

    add by zhj:配置倒是蛮简单的,其实就是把域名与多个IP进行关联,在数据库中实现这个应该也是蛮简单的。

    原文:http://kb.cnblogs.com/page/75571/

    首先介绍下DNSPod。DNSPod 是一款免费智能DNS产品。DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的

    服务器,网通的用户访问网通的服务器,达到互联互通的效果。能够让使用双线路或拥有多镜像的网站站长轻松实现智能DNS解析,让用户仅用单域名即可访问

    到最快速的镜像。

      如上图,我们可以给不同的线路(电信、网通、教育网)设置不同的IP(服务器),除此之外,DNSPod还支持,DNS轮询功能,可帮助网站进行均衡负

    载。如下图:

      接下来需要介绍下什么是DNS轮询。大多域名注册商都支持多条A记录的解析,其实这就是DNS轮询,DNS服务器将解析请求按照A记录的顺序,逐一分配

    到不同的IP上,这样就完成了简单的负载均衡。

      优点

    • 基本上无成本,因为往往域名注册商的这种解析都是免费的;
    • 部署方便,除了网络拓扑的简单扩增,新增的Web服务器只要增加一个公网IP即可。

      缺点

    • 健康检查,如果某台服务器宕机,DNS服务器是无法知晓的,仍旧会将访问分配到此服务器。修改DNS记录全部生效起码要3-4小时,甚至更久;
    • 分配不均,如果几台Web服务器之间的配置不同,能够承受的压力也就不同,但是DNS解析分配的访问却是均匀分配的。其实DNS也是有分配算法的,可以根据当前连接较少的分配、可以设置Rate权重分配等等,只是目前绝大多数的DNS服务器都不支持;
    • 会话保持,如果是需要身份验证的网站,在不修改软件构架的情况下,这点是比较致命的,因为DNS解析无法将验证用户的访问持久分配到同一服务器。虽然有一定的本地DNS缓存,但是很难保证在用户访问期间,本地DNS不过期,而重新查询服务器并指向新的服务器,那么原服务器保存的用户信息是无法被带到新服务器的,而且可能要求被重新认证身份,来回切换时间长了各台服务器都保存有用户不同的信息,对服务器资源也是一种浪费。

      DNS轮询原理:比如你添加了三条记录,分别是1,2,3

    • 第一个用户请求,记录返回1,2,3
    • 第二个用户请求,记录返回2,3,1
    • 第三个用户请求,记录返回3,1,2
    • 第四个用户请求,记录返回1,2,3

      所有的记录都是均匀的返回给每一个请求的用户,但有时候用户可能一打开你的网站就马上退出(比如关掉了浏览器),有些用户可能会一直浏览你的网

    站。因为DNS无法得知还有哪个用户还在访问你哪一台服务器,所以就会造成有些服务器访问的用户多,有些服务器访问的用户少(因为这台服务器访问时间短

    的用户比较多)。最后就会出现访问用户不平均的情况。

          DNS轮询的时候,IP是如何给出的?

          首先,客户机发请求给递归服务器(地方宽带运营商服务器),递归服务器发请求给DNSPod解析服务器; 

          然后,DNSPod解析服务器将域名设置的所有轮询主机服务器IP返回给递归服务器递归服务器将这些IP再返回给客户机; 

          最后,客户机的浏览器会随机访问其中的一个IP进行访问。

    参考:https://support.dnspod.cn/Kb/showarticle/tsid/17/

  • 相关阅读:
    基于动态IP的Internet视频监控解决方案(作者:吴晓晖)
    Avid
    Silverlight 自定义控件的继承问题
    VOD三种VOD视频点播技术的简介和比较
    服务器主流存储:SAS存储知识问答
    获取oracle系统数据的sql
    C#去除字符串空格的几种方法
    利用Windows Media实现IP组播
    两种宽带接入方式HFC与ADSL的比较
    C#中用XMLDocument写文件时,去掉XMLNS属性
  • 原文地址:https://www.cnblogs.com/ajianbeyourself/p/4189292.html
Copyright © 2011-2022 走看看