巅云智能建站平台搭建版(创业门户版)火爆上线,终身授权!新增:文章智能采集+全站真静态打包+城市分站+智能小程序+非法词过滤+H5自适应+智能链词等功能功能详情
建站专提News

在 Linux 上用 DNS 实现简单的负载均衡的方法

一佰互联网站开发设计(www.yinxi.net) 发布日期 2019-04-22 10:28:32 浏览数: 193

DNS 轮询将多个服务器映射到同一个主机名,并没有为这里展示的魔法做更多的工作。

如果你的后端服务器是由多台服务器构成的,比如集群化或者镜像的 Web 或者文件服务器,通过负载均衡器提供了单一的入口点。业务繁忙的大型电商在高端负载均衡器上花费了大量的资金,用它来执行各种各样的任务:代理、缓存、状况检查、SSL 处理、可配置的优先级、流量整形等很多任务。

但是你并不需要做那么多工作的负载均衡器。你需要的是一个跨服务器分发负载的简单方法,它能够提供故障切换,并且不太在意它是否高效和完美。DNS 轮询和使用轮询的子域委派是实现这个目标的两种简单方法。

DNS 轮询是将多台服务器映射到同一个主机名上,当用户访问 foo.example.com 时多台服务器都可用于处理它们的请求,使用的就是这种方式。

当你有多个子域或者你的服务器在地理上比较分散时,使用轮询的子域委派就比较有用。你有一个主域名服务器,而子域有它们自己的域名服务器。你的主域名服务器将所有的到子域的请求指向到它们自己的域名服务器上。这将提升响应时间,因为 DNS 协议会自动查找最快的链路。

DNS 轮询

轮询和旅鸫鸟robins没有任何关系,据我相熟的图书管理员说,它最初是一个法语短语,ruban rond、或者 round ribbon。很久以前,法国政府官员以不分级的圆形、波浪线、或者直线形状来在请愿书上签字,以盖住原来的发起人。

DNS 轮询也是不分级的,简单配置一个服务器列表,然后将请求转到每个服务器上。它并不做真正的负载均衡,因为它根本就不测量负载,也没有状况检查,因此如果一个服务器宕机,请求仍然会发送到那个宕机的服务器上。它的优点就是简单。如果你有一个小的文件或者 Web 服务器集群,想通过一个简单的方法在它们之间分散负载,那么 DNS 轮询很适合你。

你所做的全部配置就是创建多条 A 或者 AAAA 记录,映射多台服务器到单个的主机名。这个 BIND 示例同时使用了 IPv4 和 IPv6 私有地址类:

fileserv.example.com. IN A 172.16.10.10fileserv.example.com. IN A 172.16.10.11fileserv.example.com. IN A 172.16.10.12fileserv.example.com. IN AAAA fd02:faea:f561:8fa0:1::10fileserv.example.com. IN AAAA fd02:faea:f561:8fa0:1::11fileserv.example.com. IN AAAA fd02:faea:f561:8fa0:1::12

Dnsmasq 在 /etc/hosts 文件中保存 A 和 AAAA 记录:

172.16.1.10 fileserv fileserv.example.com172.16.1.11 fileserv fileserv.example.com172.16.1.12 fileserv fileserv.example.comfd02:faea:f561:8fa0:1::10 fileserv fileserv.example.comfd02:faea:f561:8fa0:1::11 fileserv fileserv.example.comfd02:faea:f561:8fa0:1::12 fileserv fileserv.example.com

请注意这些示例都是很简化的,解析完全合格域名有多种方法,因此,关于如何配置 DNS 请自行学习。

使用 dig 命令去检查你的配置能否按预期工作。将 ns.example.com 替换为你的域名服务器:

$ dig @ns.example.com fileserv A fileserv AAA

它将同时显示出 IPv4 和 IPv6 的轮询记录。

子域委派和轮询

子域委派结合轮询要做的配置会更多,但是这样有一些好处。当你有多个子域或者地理位置比较分散的服务器时,就应该去使用它。它的响应时间更快,并且宕机的服务器不会去响应,因此客户端不会因为等待回复而被挂住。一个短的 TTL,比如 60 秒,就能帮你做到。

这种方法需要多台域名服务器。在最简化的场景中,你需要一台主域名服务器和两个子域,每个子域都有它们自己的域名服务器。在子域服务器上配置你的轮询记录,然后在你的主域名服务器上配置委派。

在主域名服务器上的 BIND 中,你至少需要两个额外的配置,一个区声明以及在区数据文件中的 A/AAAA 记录。主域名服务器中的委派应该像如下的内容:

ns1.sub.example.com. IN A 172.16.1.20ns1.sub.example.com. IN AAAA fd02:faea:f561:8fa0:1::20ns2.sub.example.com. IN A 172.16.1.21ns2.sub.example.com. IN AAA fd02:faea:f561:8fa0:1::21sub.example.com. IN NS ns1.sub.example.com.sub.example.com. IN NS ns2.sub.example.com.

接下来的每台子域服务器上有它们自己的区文件。在这里它的关键点是每个服务器去返回它自己的 IP 地址。在 named.conf 中的区声明,所有的服务上都是一样的:

zone "sub.example.com" {  type master;  file "db.sub.example.com";};

然后数据文件也是相同的,除了那个 A/AAAA 记录使用的是各个服务器自己的 IP 地址。SOA 记录都指向到主域名服务器:

; first subdomain name server$ORIGIN sub.example.com.$TTL 60sub.example.com IN SOA ns1.example.com. admin.example.com. (    2018123456   ; serial    3H       ; refresh    15       ; retry    3600000     ; expire)sub.example.com. IN NS ns1.sub.example.com.sub.example.com. IN A 172.16.1.20ns1.sub.example.com. IN AAAA fd02:faea:f561:8fa0:1::20; second subdomain name server$ORIGIN sub.example.com.$TTL 60sub.example.com IN SOA ns1.example.com. admin.example.com. (    2018234567   ; serial    3H       ; refresh    15       ; retry    3600000     ; expire)sub.example.com. IN NS ns1.sub.example.com.sub.example.com. IN A 172.16.1.21ns2.sub.example.com. IN AAAA fd02:faea:f561:8fa0:1::21

接下来生成子域服务器上的轮询记录,方法和前面一样。现在你已经有了多个域名服务器来处理到你的子域的请求。再说一次,BIND 是很复杂的,做同一件事情它有多种方法,因此,给你留的家庭作业是找出适合你使用的最佳配置方法。

在 Dnsmasq 中做子域委派很容易。在你的主域名服务器上的 dnsmasq.conf 文件中添加如下的行,去指向到子域的域名服务器:

server=/sub.example.com/172.16.1.20server=/sub.example.com/172.16.1.21server=/sub.example.com/fd02:faea:f561:8fa0:1::20server=/sub.example.com/fd02:faea:f561:8fa0:1::21

然后在子域的域名服务器上的 /etc/hosts 中配置轮询。

获取配置方法的详细内容和帮助,请参考这些资源:

  • Dnsmasq
  • DNS and BIND, 5th Edition

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持网页设计。

TAG标签:    Linux   上用   DNS   实现简单的负载均衡的方法  
一佰互联是全国知名建站品牌服务商,我们有九年网站建设、网站制作、网页设计、php开发和域名注册及虚拟主机服务经验,提供的自助建站服务更是全国有名。近年来还整合团队优势自主开发了可视化多用户”巅云建站系统“3.0平台版,拖拽排版网站制作设计,轻松实现pc站、手机微网站、小程序、APP一体化全网营销网站建设 ,已成功的为全国上百家网络公司提供自助建站平台搭建服务。

相关新闻more

22
04月
如何制作百度死链文件的方法介绍

百度官方所定义的死链接格式一共有两种方式:一:xml格式死链接文件我们知道xml格式常见于网站的地图,特别是google的地图(如sitem... >>详情

11
04月
一佰互联揭秘免费建站的真实性

一次注册:PC+手机+微网站 精美模板3000套永久免费 注册空间送网站享免费建站系统 一键生成网站 如果你想做个正式的网站而不是做着好玩的... >>详情

26
03月
百度竞价人群定向绑定

简介:百度竞价人群定向绑定百度竞价人群定向绑定有的朋友反映效果很好,有的朋友反映效果很差,但是我绑定了之后,有转化的后面都会显示是来自绑定的... >>详情

19
04月
Mozilla产品被指照抄某家Web设计公司

设计抄袭是一个经典的话题,毕加索说过,好的艺术家复制,伟大的艺术家剽窃,Web 或 UI 设计这种会随着时间改变的东西,抄袭更是不在话下,国... >>详情

高端网站建设

美工兼顾SEO,为企业电子商务营销助力!

电话:

023-85725751
建站

产品

域名注册 虚拟主机 云服务器 企业邮局
智能建站 APP打包 微站/小程序 创业平台
网站推广 媒体营销 智能采集 AI机器人
400电话 短信营销 店销机器人
私人定制 门户网站