`

基于DNS的负载均衡

 
阅读更多
1.通过CNAME方式实现负载均衡
 CNAME记录是描述一个域名或主机名的别名,域名服务器获得CNAME记录后,就会用记录中的别名来替换查找的域名或主机名.后面会查询这个别名的A记录来获得相应的IP地址,如:
 先将GSLB的主机名定义为所查询域名的权威DNS服务器的别名,然后将GSLB主机名添加多条A记录,分别对应多个服务器的IP地址.
 这样本地服务器会向客户端返回多个IP地址作为域名的查询结果,并且这些IP地址的排列顺序是轮换的.客户端一般会选择首个IP地址进行访问.
 因为不需要更改公共DNS系统的配置,所以通过CNAME方式实现负载均衡是目前业界使用最多的方式.

2.负载均衡器作为权威DNS服务器
 这种方式是把负载均衡器作为一个域名空间的权威DNS服务器,这样负载均衡器就会接收所有对这个域的DNS请求,从而能够根据预先设置的一些策略来提供对域名的智能DNS解析.
 此时,负载均衡器已经接管了权威DNS服务器的所有解析工作,无论用户访问的网站是否是进行解析的域名,其DNS请求都会被发送到负载均衡器上,所以整个域的DNS解析能力或多或少都会受到影响,影响的程度取决于负载均衡器的实现的DNS功能的程序,因产品而异.

3.负载均衡器作为代理DNS服务器
 在这种方式下,负载均衡器被注册为一个域名空间的权威DNS服务器,而真正的权威域名服务器则部署在负载均衡器后面.所有的DNS请求都会先到达负载均衡器,由负载均衡器转发至真正的权威DNS服务器,然后修改权威DNS服务器返回的响应信息,从而实现负载均衡功能.
 为实现这一过程,首先要将对外公布的权威DNS服务器的地址注册成负载均衡器上的VIP地址.真正的权威DNS服务器正常响应浏览器的DNS请求,返回域名解析结果列表,这个响应会先发送到负载均衡器,而负载均衡器会根据自己的策略选择一个性能最好的服务器IP并修改DNS服务器的应答信息,然后将应答信息转发给客户.负载均衡器只修改需要实现GSLB的域名的DNS查询响应,对其他请求透明转发,这样就不会影响整个域名空间的解析性能.
 在代理方式下,如果权威DNS服务器负载均衡器相隔很远,那么负载均衡器向权威DNS服务器转发DNS请求时就会产生额外的延时.解决这个问题的办法是,在负载均衡器上对DNS响应进行缓存,在缓存失效时间之前,对于之前已经从权威DNS服务器上获得过DNS响应的同一域名,就可以直接进行GSLB计算,响应用户DNS请求,不用去访问远程的权威DNS服务器了
 需要注意的是,在基于DNS方式下无论采用何种工作方式,都会有一些请求不会到达GSLB,这是DNS系统本身的缓存机制在起作用.当用户请求的域名在本地DNS或本机就得到了解析结果,这些请求就不会到达GSLB.Cache更新时间越短,用户请求到达GSLB的几率越大.由于DNS的缓存机制屏蔽掉相当一部分用户请求,从而大大减轻了GSLB处理压力,使得系统抗流量冲击能力显著提升,这也是很多商业CDN选择DNS机制做全局负载均衡的原因之一.但弊端在于,如果在DNS缓存刷新间隔之内系统发生影响用户服务的变化,比如某个节点故障,某个链路拥塞等,用户依然会被调度到故障部位去.
分享到:
评论

相关推荐

    dns轮回负载均衡器

    基于dns 的负载均衡器 采用轮回调度算反 可以在服务器群进行负载分流(不同的ip之间) 也可以在不同域名之间 负载均衡 负载均衡器就是 在客户面前一个服务器界面 多台服务器支撑(不同ip 相同域名 )在域名商架构...

    Linux配置DNS服务器及实现简单的负载均衡

    1.了解与认识Linux网络环境的配置,包括网卡、IP、网关、DNS等。 2.掌握Linux系统DNS服务器的配置和测试。 3.理解Linux系统DNS服务器配置的相关文件和字段的含义。...4.掌握基于DNS实现简单的负载均衡的方法。

    负载均衡软件、硬件实现方案

    软件负载均衡方案,负载均衡软件实现方式之一 - URL重定向方式、负载均衡软件实现方式之二 - 基于DNS、负载均衡软件实现方式之三 - LVS 、负载均衡软件实现方式之四 - 专业负载均衡软件,同时还做了总结,值得你参考

    详解Docker Swarm服务发现和负载均衡原理

    本文将介绍基于 DNS 的负载均衡、基于 VIP 的负载均衡和路由网格(Routing Mesh)。 使用的技术 Docker 使用了 Linux 内核 iptables 和 IPVS 的功能来实现服务发现和负载均衡。 iptables 是 Linux 内核中可用的包...

    tencentyun#qcloud-documents#负载均衡说明1

    负载均衡介绍基于私有域解析 Private DNS 实现的负载均衡,原理是相同主机记录、记录类型下设置不同的记录值,根据权重值随机轮询返回对应记录值。负载均衡示

    dns-clb-go:使用Golang编写的基于DNS的服务发现的客户端负载均衡器

    适用于Go的DNS客户端负载平衡器根据指定的负载均衡器算法选择一个SRV记录答案,然后将其A记录解析为ip,并返回一个Address结构: type Address struct {Address stringPort uint16}例子: // uses dns server ...

    0917Linux_DNS.docx

    (四)基于DNS的负载均衡(轮询) 8 1.原理 8 2.安装 8 3.启动服务 9 4.更改配置文件 9 5.添加解析文件 10 6.启动并测试 11 (五)基于DNS的负载均衡(CDN) 12 1.原理 12 2.安装 12 3.启动服务 13 4.更改配置文件 ...

    Radware WSD负载均衡实现湖南移动BOSS系统的容灾

    Radware WSD-NP在同一硬件平台上实现了本地负载均衡和全局负载均衡的功能,并支持多种全局重定向的方法由于湖南移动目前的BOSS系统采用C—S架构、直接访问IP地址的方式来实现,因此DNS重定向和HTTP重定向协议都无法...

    CDNBoxd:具有地理位置和带宽整形的分布式DNS负载均衡器

    DNS负载平衡器 根据地理位置和性能来分配DNS / HTTP流量。 基于解析器地理位置或EDNS客户端地理位置(如果有)。 通过节点/ CDNBox限制带宽。 基于错误率的警报。 通过rsyslog或Metricbeat登录到Elasticsearch。...

    linux 下的负载均衡器

    一、基于perl的dns服务端。应用简单。 二、自动检测各个服务器的负荷。然后再按结果优先分配DNS解析。 三、DNS解析实时生效。不会被DNS服务器缓存。 四、安装方法简单。。。

    lbManager, 在etcd上,一个简单的Docker 容器负载均衡器状态管理器.zip

    lbManager, 在etcd上,一个简单的Docker 容器负载均衡器状态管理器 lbManager Docker 容器在支持自动负载和基于负载平衡的自动气象站 Route53 dns服务器上,为容器提供一个简单负载均衡器状态管理器。 lbManager是一...

    nacos-coredns-plugin:基于CoreDNS的Nacos DNS-F客户端

    该项目提供了一个基于的DNS-F客户端,该客户端可以帮助将Nacos上的这些注册服务导出为DNS域。 DNS-F客户端是应用程序流程之外的专用代理流程(副车),用于将服务发现DNS域查询请求转发给Nacos。快速启动要构建和...

    基于LVS+Keepalived的高并发大型网站架构设计与实现-kaic.docx

    2.1DNS的负载均衡技术 2.2四层交换技术的负载均衡技术 2.3七层交换技术的负载均衡技术 2.4负载均衡群集的工作模式 3网络需求分析 3.1设计需求分析 3.2技术可行性分析 3.3高可靠性 3.4高安全性 3.5高扩展性和易排除性...

    负载均衡Irules编程宝典

    iRules是基于F5 TMOS操作系统的开放脚本语言,为F5设备提供灵活强大的定制功能,基于TCL语法的iRules可以方便的加入到F5设备内部,处理通过F5设备的网络流量,控制各种协议和应用数据。每个iRules必须包含事件、命令...

    论文研究-基于DHT-P2P新型的ONS解析机制.pdf

    针对基于DNS技术的EPCglobal ONS系统存在负载不均衡,查询时延较大等缺点,提出基于改进DHT机制的层次化ONS解析系统,运用OverSim网络仿真平台进行仿真实验。实验结果表明基于DHT机制的ONS解析系统能够有效地应对单...

    docker-serf-haproxy-loadbalancing:Serf haproxy 负载均衡设置

    还有许多其他方法可以进行发现,我发现/尝试过: SkyDNS - 基于 DNS 的非常好的解决方案,但我需要通过推送/事件机制收到有关更改的通知,而不是拉取 dns 记录来查看是否发生了更改。 DockerGen - 使用 Docker ...

    基于最大网络收益的DNS内容路由算法 (2004年)

    为了使用户请求导向能提供所请求业务的最佳网络服务器,同时又考虑网络的负载均衡性,提出了一种综合网络性能和用户位置信息的域名服务系统(DNS)内容路由算法。采用名字解析服务器与网关处分别获取的内容服务器负载...

    Artica Load-balancer Appliance:5分钟内达到负载均衡器设备-开源

    Artica负载均衡器可实现负载均衡,并为基于TCP的服务进行故障转移设备。 它可用于HTTP(S),SSH,SMTP,DNS等。此设备通常位于网络客户端和服务器场之间。 它旨在将客户端请求分派到服务器场中的服务器,以便分配...

    智能DNS系统设备技术参数.doc

    实现DNS负载均衡,支持泛域名解析,可有" " "效防止网站地址输入错误导致无法打开网页的错误 " " "支持IPv4/IPv6双栈解析 " " "支持域名纠错,将不存在的域名重定向到指定IP或域名 " " " " " "支持inbound服务不间断...

    FreeBSD使用大全

    第1章 引言 FreeBSD的起源 Unix的历史发展 FreeBSD的起源和发展 当前FreeBSD的版本 FreeBSD的功能特点 FreeBSD的特点和应用范围 ...基于DNS的负载均衡 反向代理负载均衡 基于NAT的负载均衡技术

Global site tag (gtag.js) - Google Analytics