关于DNS负载均衡技术

关于DNS负载均衡技术在学习负载均衡技术的时候,我们肯定会学到dns负载均衡的相关内容,因为这个是负载均衡的一个代表应用。那么说到应用,到底是如何进行使用,改善网络问题的呢?那么本文就将为大家详细介绍一下其中的原理。为了建立一个高负载的Web站点,必须使用多服务器的分布式结构?上面提到的使用代理服务器和Web服务器相结合,或者两个Web服务器相互协作的方式也属于多服务器的结构,但在这些多服务器的结构中,每个服务器所

大家好,又见面了,我是你们的朋友全栈君。

在学习负载均衡技术的时候,我们肯定会学到dns负载均衡的相关内容,因为这个是负载均衡的一个代表应用。那么说到应用,到底是如何进行使用,改善网络问题的呢?那么本文就将为大家详细介绍一下其中的原理。

为了建立一个高负载的Web站点,必须使用多服务器的分布式结构?上面提到的使用代理服务器和Web服务器相结合,或者两个Web服务器相互协作的方式也属于多服务器的结构,但在这些多服务器的结构中,每个服务器所起到的作用是不同的,属于非对称的体系结构?非对称的服务器结构中每个服务器起到的作用是不同的,例如一个服务器用于提供静态网页,而另一个用于提供动态网页等等,这样就使得网页设计时就需要考虑不同服务器之间的关系,一旦要改变服务器之间的关系,就会使得某些网页出现连接错误,不利于维护,可扩展性也差?

另外一种多服务器的设计结构为对称结构,在对称结构中每台服务器都具备等价的地位,都可以单独对外提供服务而无须其他服务器的辅助?然后,可以通过某种技术,将外部发送来的请求均匀分配到对称结构中的每台服务器上,接收到连接请求的服务器都独立回应客户的请求?在这种结构中,将外部请求均匀分配到服务器上的技术称为负载均衡技术,由于建立内容完全一致的Web服务器并不困难,因此负载均衡技术就成为建立一个高负载Web站点的关键性技术?

基于dns负载均衡

最早的负载均衡技术是通过dns服务中的随机名字解析来实现的?在dns服务器中,可以为多个不同的地址配置同一个名字,这个数据被发送给其他名字服务器,而最终查询这个名字的客户机将在解析这个名字时随机使用其中一个地址?因此,对于同一个名字,不同的客户机会得到不同的地址,因此不同的客户访问的也就是不同地址的Web服务器,从而达到负载均衡的目的?

关于DNS负载均衡技术

例如如果希望使用三个Web服务器来回应对www.exampleorg.org.cn的HTTP请求,就可以设置该域的dns服务器中关于该域的数据包括与下面例子类似的结果: www1 IN A 192.168.1.1

www2 IN A 192.168.1.2

www3 IN A 192.168.1.3

www IN CNAME www1

www IN CNAME www2

www IN CNAME www3

这里先为每个计算机定义一个真实名字,然后再为它们定义同一个别名?直接针对不同地址设置同一个真实名字(A记录)也是可行的,但使用别名的方法易于管理一些?

由于此时反向解析只能针对一台计算机,那么每个Web服务器都需要使用ServerName重新定义同一个名字,或者设置名字解析的顺序为hosts文件优先,并在hosts文件中定义本身为www,以保证每个服务器的名字设置保持一致?

此后外部的客户机就可能随机的得到对应www的不同地址,那么随后的HTTP请求也就会发送给不同地址了?

当使用dns负载均衡的时候,必须尽量保证不同的客户计算机能均匀获得不同的地址?由于dns数据是具备一个刷新时间的标志的,一旦超过这个时间限制过期,其他dns服务器就需要和这个服务器交谈以重新获得地址数据,就有可能获得不同IP地址?因此为了使得地址能随机分配,就应该使得刷新时间尽量短,不同地方的dns服务器能更新对应的地址,使得地址获得能随机一些?然而将过期时间设置的过低将使得dns流量大增,而造成额外的网络问题?出于折衷的考虑,一般将刷新时间设置为1个小时?

dns负载均衡的一个问题是一旦某个服务器出现故障,即使及时修改了dns设置,还是要等待足够的时间(刷新时间)才能发挥作用,在此期间保存了故障服务器地址的客户计算机将不能正常访问服务器?尽管存在多种问题,然而它还是一种非常有效的做法,当前使用在包括Yahoo在内的很多Web站点上?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159062.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • BZOJ 1022 SHOI2008 小约翰的游戏John 博弈论

    BZOJ 1022 SHOI2008 小约翰的游戏John 博弈论

    2022年2月3日
  • virt虚拟机_kvm创建虚拟机

    virt虚拟机_kvm创建虚拟机1.查看cpu是否支持虚拟化和Xen不同,KVM需要有CPU的支持(IntelVT或AMDSVM),在安装KVM之前检查一下CPU是否提供了虚拟技术的支持2.安装工具包3.查看kvm是否安装成功4.关闭防火墙5.修改qemu.conf配置,把下面几个地方的注释去掉,然后把dynamic_ownership的值改成0,禁止libvirtd动态修改文件的…

    2022年8月12日
  • Latex 公式换行问题(换行,等号对齐)

    Latex 公式换行问题(换行,等号对齐)Latex公式换行问题(换行,等号对齐)作为一个研究生肯定避免不了写论文,在这个过程中latex使用就尤为重要,他会帮助你们实现期刊格式要求的排版。今天就简单说一下我在写论文过程中遇到的问题之一,公示太长需要换行的问题,并且是连等公示,每个等号在还行之后都需要对齐。方法是使用:\begin{equation}\begin{aligned}……\end{aligned}\end{

    2022年5月15日
  • Murmur下载_murmurio

    Murmur下载_murmurioMurmurHash1MurmurHash简介Murmur英文(multiplyandrotate)and(multiplyandrotate),MurmurHash是一种非加密型哈希函数,适用于一般的哈希检索操作。由AustinAppleby在2008年发明,并出现了多个变种,都已经发布到了公有领域(publicdomain)。与其它流行的哈希函数相比,对于规律性较强的key,…

    2022年10月19日
  • goland2021.8激活码[免费获取]

    (goland2021.8激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlBI7JCUH1TG-eyJsa…

    2022年3月22日
  • 内核态与用户态的区别是什么_linux用户态和内核态

    内核态与用户态的区别是什么_linux用户态和内核态原文链接:https://www.cnblogs.com/gizing/p/10925286.html1.操作系统需要两种CPU状态内核态(KernelMode):运行操作系统程序,操作硬件用户态(UserMode):运行用户程序2.指令划分特权指令:只能由操作系统使用、用户程序不能使用的指令。举例:启动I/O内存清零修改程序状态字设置时钟允许/禁止终端停机非特权指令:用户程序可以使用的指令。举例:控制转移算数运算取数指令访管指令(使用户程序从用户态陷入内核态.

    2022年9月17日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号