前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DNS轮询

DNS轮询

原创
作者头像
呆呆
修改2021-05-17 15:24:02
1.7K0
修改2021-05-17 15:24:02
举报
文章被收录于专栏:centosDai

DNS负载均衡的优点是简单易行,而且实现代价小。它在DNS服务器中为同一个域名配置多个IP地址(即为一个主机名设置多条A资源记录),在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的计算机上去,从而达到负载均衡的目的。

下面是一个实现邮件服务器负载平衡的配置片段(在区域数据文件中)。

www IN A 192.168.0.4

IN A 192.168.0.5

IN A 192.168.0.6

在以上配置中,当客户端查询www服务器IP地址时,Bind将根据rrset-order语句定义的次序把配置中设定的3条A记录都发送给客户端,客户端可以使用自己规定的算法从3条记录中挑选一条。rrset-order语句是主配置文件中options主语句的一条子语句,可以定义固定、随机和轮询的次序。

order_spec定义:

[ class class_name ][ type type_name ][ name "domain_name"] order ordering

如果没有设定类,默认值为ANY。如果没有设定类型,默认值为ANY。如果没有设定

名称,默认值为"*"。

合法的排序值是:

fixed:记录以它们在域文件中的顺序

random:记录以随机顺序被返回

cyclic:记录以环顺序被返回

例如:

rrset-order {

class IN type A name "host.example.com" order random;

order cyclic;

};

将会使得任何处于IN类中的A类记录的响应以随机顺序返回,IN 类以"host.example.com"为后缀。其他的记录以循环记录被返回。如果多重rrset-order语句出现,它们并不组合在一起,只适用于最后一个条。但是rrset-order语句不被BIND9支持,BIND9目前只支持"random-cyclic"排序,服务器随机选择RRset集中的开始点,有顺序返回在那个点开始的记录。

可以通过配置全局配置

dns 轮询配置options来实现轮询。

options {

rrset-order { order cyclic; };

.....

};

fixed在默认编译的时候是关闭的,需要在编译的时候打开:

Allow 'fixed' rrset-order (--enable-fixed-rrset)

./configure --enable-largefile --enable-threads --disable-openssl-version-check --enable-fixed-rrset --prefix=/home/slim/bind9.9.7 --with-libtool

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档