欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

详解负载均衡实现一个域名对应多个IP地址

程序员文章站 2023-11-16 08:08:58
详解负载均衡实现一个域名对应多个ip地址 使用负载均衡实现,传统和常规做法,其他方式需要特殊处理。(dns轮询,或者自己做解析) 1、一个域名设定多个dns服务或者...

详解负载均衡实现一个域名对应多个ip地址

使用负载均衡实现,传统和常规做法,其他方式需要特殊处理。(dns轮询,或者自己做解析)

1、一个域名设定多个dns服务或者服务器进行解析,同一个域名的每个解析都指向不同的ip地址,这样应答快的dns优先进行解析,这样就能保证最快定向到指定的网站空间去。如果空间也存在不同地点的相同内容镜像,那么这种方式最适合,例如sohu全国都有服务器,就是这么干的,除非你指定要访问某个地方的服务器,否则默认转向最快的空间,因为内容是镜像自动同步的,内容上不存在差别,用户是不知道的。一般域名管理机构只允许设定2到3个域名解析服务,所以再多就不支持了。

2、自己公司建立服务器,给自己进行dns解析服务,这样容易实现以上功能的操做。且数量不受限制,例如给客户提供移动、联通、网通、电信、东方宽带、长城宽带等等多个dns,那么使用对应宽带的用户都能自动定向到适合自己的网站去,企业可以分别在不同运营商那里建立网站,保证不同带宽的用户都能高速访问,很多游戏运营商都是这么干的。

 dns负载均衡技术是在dns服务器中为同一个主机名配置多个ip地址,在应答dns查询时,dns服务器对每个查询将以dns文件中主机记录的ip地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。 

  dns负载均衡的优点是经济简单易行,并且服务器可以位于internet上任意的位置。但它也存在不少缺点:   

为了使本dns服务器和其他dns服务器及时交互,保证dns数据及时更新,使地址能随机分配,一般都要将dns的刷新时间设置的较小,但太小将会使dns流量大增造成额外的网络问题。   

一旦某个服务器出现故障,即使及时修改了dns设置,还是要等待足够的时间(刷新时间)才能发挥作用,在此期间,保存了故障服务器地址的客户计算机将不能正常访问服务器。   

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

要给每台服务器分配一个internet上的ip地址,这势必会占用过多的ip地址。    

  判断一个站点是否采用了dns负载均衡的最简单方式就是连续的ping这个域名,如果多次解析返回的ip地址不相同的话,那么这个站点就很可能采用的就是较为普遍的dns负载均衡。但也不一定,因为如果采用的是dns响应均衡,多次解析返回的ip地址也可能会不相同。不妨试试ping一下www.yesky.com,www.sohu.com,www.yahoo.com。 

  现假设有三台服务器来应对www.test.com的请求。 

在nt下的实现也很简单,下面详细介绍在win2000   server下实现dns负载均衡的过程,nt4.0类似: 

打开“管理工具”下的“dns”,进入dns服务配置控制台。   

打开相应dns   服务器的“属性”,在“高级”选项卡的“服务器选项”中,选中“启用循环”复选框。此步相当于在注册表记录hkey_local_machine\system\currentcontrolset\services\dns\parameters中添加一个双字节制值(dword值)roundrobin,值为1。   

打开正向搜索区域的相应区域(如test.com),新建主机添加主机   (a)   资源记录,记录如下:   

www   in   a   192.1.1.1    
www   in   a   192.1.1.2    
www   in   a   192.1.1.3   

在这里可以看到的区别是在nt下一个主机名对应多个ip地址记录,但在unix下,是先添加多个不同的主机名分别对应个自的ip地址,然后再把这些主机赋同一个别名(cname)来实现的。   

在此需要注意的是,nt下本地子网优先级会取代多宿主名称的循环复用,所以在测试时,如果做测试用的客户机ip地址与主机资源记录的ip在同一有类掩码范围内,就需要清除在“高级”选项卡“服务器选项”中的“启用netmask排序”。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!