我们常说,DNS是互联网服务的“入口”,是网络互连的第一步:当用户在浏览器中输入网址(URL)后,浏览器会委托操作系统向指定Web服务器发送请求,但是浏览器必须告知操作系统Web服务器的IP地址。如下图所示,用户在浏览器中一般输入的是域名信息,因此浏览器要实现用户需求的第一步便是向DNS服务器查询域名对应的IP地址。
有人说DNS功能只是网络标准和协议列表中的一个项目,那是因为他们不够了解DNS。现如今人们无论是开展业务或是个人使用都无法离开互联网,随着全球互联网使用量的增加,人们采用或迁移到新的更好的网络技术,使得DNS不仅仅提供域名到IP的解析服务,还能承担互联网资源调度,流量负载均衡的重任。
本期云学堂分享权威DNS的三种进阶玩法:利用权威DNS实现业务双活调度、结合健康检测的业务智能调度、多出口链路调度。enjoy:
01
METHOD 业务双活调度
许多企业都有自建的数据中心对外提供服务。随着业务数据量越来越大,一个数据中心无法负载全部业务,企业纷纷选择“南北方”部署数据中心,为用户提供就近服务。在这种场景下,就要求在DNS层面实现将“北方”的流量引导进入“北”数据中心,“南方”的流量引导进入“南”数据中心的流量调度功能。如下图所示,北京客户端与深圳客户端请求DNS解析时,DNS服务器根据客户端源IP,返回不同的IP地址结果,将流量引入不同的数据中心。从而实现客户的访问请求定向到响应速度最快的服务器上的功能,提高站点的性能。
下面我们简单做个试验,部署一台DNS服务器,两台客户端,以及两台服务器,作为数据中心应用资源。
在DNS权威服务器上进行如下配置:
ü1.test A 10.3.8.27 (北京数据中心应用地址)
ü2.test A 10.3.8.29(上海数据中心应用地址)
ü智能DNS策略:DNS服务器根据客户端源IP实现静态就近解析功能
规则配置完毕后,我们分别登录客户端A与客户端B,进行解析结果验证。
客户端A解析结果为北京数据中心IP:
客户端B解析结果为上海数据中心IP:
通过上述实验,我们看到DNS可以实现数据中心的双活智能调度。
02
METHOD业务健康检测+DNS
上述实验完成了一次简单的数据中心双活调度。我们考虑如下场景:若某时段上海数据中心断电了,无法提供服务了,DNS解析结果若仍为上海数据中心IP,那么企业业务将会受到严重影响,可能会给企业带来重大损失。业务健康检测+DNS可以有效的解决这样的困境。探测设备探测数据中心服务器实时状态,检测到异常后,通过DNS解析结果的变更,将解析流量实时引入北京数据中,从而保证企业业务不中断。
如下图,我们将上海数据中心应用所在服务区手动设置策略,使得上海数据中心服务器与DNS服务器、深圳客户端B都无法正常通信,用于模拟上海数据中心应用服务器故障状态。
这时,我们可以从DNS服务平台看到上海数据中心应用服务器状态显示为告警:
随后我们使用客户端B进行DNS解析查询,从下图实验可以看到,DNS服务器检测到上海数据中心状态异常后,将所有业务流量自动引入北京数据中心,实现业务流量实时切换。
03
METHOD多出口链路调度
通过DNS也可以实现多线路之间的智能解析调度或者流量负载的功能。当企业同时接入电信、联通、移动三家运营商的线路时,运营商线路之间就会出现跨网访问的现象,跨网访问会带来服务响应速度慢的问题。通过DNS配置可以将网内用户引导至相应的cache节点或网络出口,从而可有效将流量进行引导调度,提高本地化率,提高用户体验。
我们再做一次简单的实验,通过DNS服务器管理界面,分别创建移动、联通和电信视图,并规定来自不同运营商的用户,所属不同的链路出口。下面声明角色、链路出口和IP:
我们再分别以不同客户端身份,向DNS服务器发送dns.test域名解析请求。
联通客户端A请求dns.test域名,返回结果为联通链路出口的IP:
移动客户端B请求dns.test域名,返回结果为移动链路出口的IP:
电信客户端B请求dns.test域名,返回结果为电信链路出口的IP:
从上述小实验我们可以看到,利用DNS是可以做到智能多出口链路调度的。DNS多出口链路调度还有很多形式,例如:基于域名库的调度场景、基于时间调度场景、基于链路状态调度等等,这里就不一一介绍了。如果您想要了解如何把上述数据中心双活调度、基于服务应用健康检测调度与多出口链路调度玩法相结合的方案,可以联系我们的解决方案专家。
领取专属 10元无门槛券
私享最新 技术干货