域名注册商都支持对统一主机添加多条A记录,这就是DNS轮询,DNS服务器将解析请求按照A记录的顺序,随机分配到不同的IP上,这样就完成了简单的负载均衡。下图的例子是:有3台联通服务器、3台电信服务器,要实现“联通用户流量分摊到3台联通服务器、其他用户流量分摊到电信服务器”这个效果的设置。

DNS由于成本较低,所以一般在小型的网站用的比较多。但是大型的网站一般也会将用它和其他负载均衡的方式结合起来一起使用,DNS轮询方式提供的IP地址,在大型网站中往往是一个集群的地址,可能是均衡交换机也可能是均衡服务器。对于小网站的话,挂接多台服务器也没有问题。

DNS轮询的优点:

零成本:只是在DNS服务器上绑定几个A记录,域名注册商一般都免费提供解析服务;

部署简单:就是在网络拓扑进行设备扩增,然后在DNS服务器上添加记录。

DNS轮询的缺点:

1、可靠性低

假设一个域名DNS轮询多台服务器,如果其中的一台服务器发生故障,那么所有的访问该服务器的请求将不会有所回应,这是任何人都不愿意看到的。即使从DNS中去掉该服务器的IP,但在Internet上,各地区电信、网通等宽带接入商将众多的DNS存放在缓存中,以节省访问时间,DNS记录全部生效需要几个小时,甚至更久。所以,尽管DNS轮询在一定程度上解决了负载均衡问题,但是却存在可靠性不高的缺点。

2、负载分配不均匀

DNS负载均衡采用的是简单的轮询算法,不能区分服务器的差异,不能反映服务器的当前运行状态,不能做到为性能较好的服务器多分配请求,甚至会出现客户请求集中在某一台服务器上的情况。

DNS服务器是按照一定的层次结构组织的,本地DNS服务器会缓存已解析的域名到IP地址的映射,这会导致使用该DNS服务器的用户在一段时间内访问的是同一台Web服务器,导致Web服务器间的负载不均匀。此外,用户本地计算机也会缓存已解析的域名到IP地址的映射。当多个用户计算机都缓存了某个域名到IP地址的映射时,而这些用户又继续访问该域名下的网页,这时也会导致不同Web服务器间的负载分配不均匀。

负载不均匀可能导致的后果有:某几台服务器负荷很低,而另几台服务器负载很高、处理缓慢;配置高的服务器分配到的请求少,而配置低的服务器分配到的请求多。

No related posts.

php管理智能dns,负载均衡之DNS轮询相关推荐

  1. 负载策略_面试官:讲一下什么是负载均衡,什么是轮询策略随机策略哈希策略

    什么是负载均衡? 先举个例子吧.以超市收银为例,假设现在只有一个窗口.一个收银员: 一般情况下,收银员平均 2 分钟服务一位顾客,10 分钟可以服务 5 位顾客:到周末高峰期时,收银员加快收银,平均 ...

  2. js轮询导致服务器瘫痪_面试官:讲一下什么是负载均衡,什么是轮询策略随机策略哈希策略...

    什么是负载均衡? 先举个例子吧.以超市收银为例,假设现在只有一个窗口.一个收银员: 一般情况下,收银员平均 2 分钟服务一位顾客,10 分钟可以服务 5 位顾客:到周末高峰期时,收银员加快收银,平均 ...

  3. 加权轮询算法PHP,PHP实现负载均衡的加权轮询方法分析

    本文实例讲述了PHP实现负载均衡的加权轮询方法.分享给大家供大家参考,具体如下: 1. 负载均衡算法有哪些? 轮询法:将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务 ...

  4. 负载均衡算法--加权轮询法(Weight Round Robin)

    接上一篇博文:负载均衡算法–轮询法(Round Robin),本文讲解加权轮询算法. 加权轮询算法:不同的后端服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不相同.给配置高.负载低 ...

  5. Nginx负载均衡策略之轮询与加权轮询

    轮询 是upstream模块负载均衡默认的策略.每个请求会按时间顺序逐个分配到不同的后端服务器.轮询不需要额外的配置. upstream backend{server 192.168.200.146: ...

  6. 负载均衡之加权轮询算法

    在介绍加权轮询算法(WeightedRound-Robin)之前,首先介绍一下轮询算法(Round-Robin). 一:轮询算法(Round-Robin) 轮询算法是最简单的一种负载均衡算法.它的原理 ...

  7. nginx负载均衡之加权轮询

    当nginx作为代理服务器时,需要将客户端的请求转发给后端服务器进行处理,如果后端服务器有多台,那如何选择合适的后端服务器来处理当前请求,也就是本篇文章要介绍的内容.nginx尽可能的把请求分摊到各个 ...

  8. 负载均衡算法-权重轮询均衡

    ②权重轮询均衡(Weighted Round Robin):根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求.

  9. Python 负载均衡,数据轮询 hash字符串 hashlib

    在做数据分发轮询的时候遇到一个问题,我们并不只是想把数据依次分发到每台机器上,而是想根据每条数据的id来判断,同一个id的数据只放到同一个机器上,而不是可能随机出现在任何一台机器上. 1.使用pyth ...

最新文章

  1. Redis知识点汇总
  2. 这是最新的人工发射wifi信号技术吗?
  3. TCL基础篇---基本语法(持续更新)
  4. 如何在Flutter(2021)中创建过滤器搜索列表视图
  5. php获取网页js中的json,从php获取json数据使用js读取显示到网页笔记
  6. asa清空配置_Cisco ASA 管理配置文件
  7. sdk开发包怎么使用_怎么使用 Buildroot 构建根文件系统?
  8. 第四季-专题6-Linux内核子系统
  9. Java并发编程实践-this溢出
  10. 微小区客户成功服务流程
  11. while循环CPU占用率高问题深入分析与解决方案
  12. 解决windows防火墙拦截FTP连接
  13. 目标端的trail文件损坏或误删除,如何重新进行抽取
  14. 【文智背后的奥秘】系列篇——结构化抽取平台
  15. 美狐美颜SDK开源代码浅析
  16. 嵌入式菜单LCD简单版
  17. 《编外知识》之“幸存者偏差”
  18. C# LINQ的Select与SelectMany函数
  19. 几种背包问题(java实现)
  20. Java薪资对应技能列表

热门文章

  1. guava和commons_使用Guava CharMatcher和Apache Commons Lang StringUtils确定字符串中字符或整数的存在...
  2. Spring框架–应用程序上下文–到达应用程序上下文的三种方法
  3. 使用Arquillian和LocalStack脱机测试AWS云堆栈
  4. java 对象复活_Java对象复活
  5. java 生成器 设计模式_Java中的生成器设计模式
  6. 带有Gluon Ignite和Dagger的JavaFX中的依赖注入
  7. Java的5个古怪问题
  8. WildFly管理控制台已更新–请求反馈
  9. 用Java创建自己的AOP
  10. 为什么要保持软件包依赖项自由循环的五个原因