关于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站点上?

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • hexdump命令_pg_dump命令

    hexdump命令_pg_dump命令有时候需要查看一些二进制文件的内容,比如二进制文件中包含的某些字符串。这个时候可以用hexdump工具看查看。常用参数:hexdump-C-nlength-sskipfile_name-C定义了导出的格式,-sskip指定了从文件头跳过多少字节,或者说是偏移量,默认是十进制。如果是0x开头,则是十六进制。-n指定了导出多少长度如果是寻找文本内容,则经常在后

  • 通讯加密方式?「建议收藏」

    通讯加密方式?「建议收藏」客户端信道处理ProcessMessage1加密通讯 初始唯一标识和加密提供程序 向服务器请求密钥并根据响应的密钥初始化加密提供程序(服务端需验证IP合法性) 根据加密提供程序加密请求消息 向服务器发起请求 根据加密提供程序解密响应流。 返回。2非加密通讯 初始唯一标识和加密提供程序 向服务器请求密钥并根据响应的密钥初始化加密提供程序(服务端需验证IP合法性) 向服务器发起请求 返回…

  • collection集合结构图,map是否可以为null以及线程是否安全图

    collection集合结构图,map是否可以为null以及线程是否安全图collection集合结构图,map是否可以为null以及线程是否安全图

  • Centos7:修改IP出现Job for network.service failed because the control process exited with error code问题

    Centos7:修改IP出现Job for network.service failed because the control process exited with error code问题centos7克隆之后,发现无ip。因为是克隆的,首先修改一些配置文件。vim /etc/sysconfig/network-scripts/ifcfg-xxxIPADDR=192.168.135.131GATEWAY=192.168.135.2NETMASK=255.255.255.0DNS1=192.168.135.2排查:1、查看mac地址是否冲突2…

  • Eclipse背景颜色修改

    Eclipse背景颜色修改Eclipse背景颜色修改: 操作界面默认颜色为白色。对于我们长期使用电脑编程的人来说,白色很刺激我们的眼睛,所以我经常会改变workspace的背景色,使眼睛舒服一些。设置方法如下: 1、打开window->Preference,弹出Preference面板 2、展开General标签,选中Editors选项,展开。 3、选中TestEditors,右边出现Test

  • 第30件事 定义需求优先级的4种方法

    第30件事 定义需求优先级的4种方法

发表回复

您的电子邮箱地址不会被公开。

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