循环复用DNS实现多服务器的负载均衡

Linux下使用bind搭建DNS主从服务器 假设公司A在万网a.org上注册了一个域名net.cn, 现在不想使用万网的DNS服务器,而是自己要建立两个DNS服务器,一个是主服务器,一个是从服务器 ,现有两台机器: ns1.a.org  ,   ns2.a.org   我们如何配置这两台主机成为DNS服务器? 阅读详情
  http://forum.eviloctal.com/archiver/tid-19804.html

文章作者:王琦  孟昭勇

[b]摘  要[/b]  分析了目前常用的负载均衡技术,并以四台服务器的负载均衡为例,介绍了利用循环复用DNS实现负载均衡的方法。
[b]关键词[/b]  负载均衡      DNS      循环复用         

1  概述
      企业知名度增加,网站访问量逐渐上升,是每一个网管所盼望的。但同时应用服务器的数据流量和访问量将成倍增加,服务器将不堪重负。
    这时,可采用两种方式解决此问题,一是进行硬件升级,购买配置更高、性能更好的服务器,这种方法的优点是简单易行,缺点是投资大, 会造成现有资源的浪费,且下一次业务量的提升还会面临同样问题。另一种方法是采用集群技术,利用两台以上的服务器进行协同工作,在
集群系统中运行的服务器并不一定是高档产品(可以是企业现有的服务器),但服务器的集群却可以提供相当高性能的不停机服务;另外,随着业务量的增大,可随时增加集群系统中运行的服务器数量。集群技术的优点是高可靠性和强大灵活的系统扩充能力。
     两台以上的服务器进行协同工作必然涉及到负载均衡问题,目前常用的负载均衡技术主要有:NAT负载均衡、反向代理负载均衡及DNS负载。
    NAT负载均衡将一个外部IP地址映射为多个内部IP地址,对每次连接请求动态地转换为一个内部服务器的地址,将外部连接请求引到转换得到地址的那个服务器上[1]。反向代理负载均衡使用代理服务器将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的[2]。DNS负载均衡在DNS中为多个地址配置同一个名字,从而使得不同的客户访问不同的服务器来实现负载均衡。本文将详细介绍DNS负载均衡原理和技术实现。
2  DNS负载均衡原理
    DNS负载均衡是通过循环复用实现的,如果发现主机名的多个地址资源记录,则可用它循环使用包含在查询应答中的主机资源记录。在默认情况下,DNS 服务器的服务使用循环复用对资源记录进行排序,这些资源记录是在解析为多个映射的主机名应答中返回的。该功能提供了一种非常简便的方法,用于对客户机使用 Web 服务器和其他频繁查询的多宿主计算机的负载平衡。
     要使循环复用正常工作,必须首先在该区域中注册所查询名称的多个主机资源纪录,并启用DNS服务器循环复用。如果DNS服务器禁止循环复用,那么这些查询的响应顺序以应答列表中资源记录在区域中存储时的静态排序为基础。
3  四台服务器的负载均衡实例
可提供的服务:Web、Ftp系统实现的目的:做一个较完善的负载均衡系统,以共享和高效地利用资源设备状况:五台服务器,其中四台服务器组成集群系统,IP地址分别为172.28.20.1、172.28.20.2、172.28.20.3、172.28.20.4;
一台服务器作为控制管理服务器,提供DNS服务,设企业域名为[url]www.example.com.cn[/url]。
服务器配置:集群系统服务器安装Windows 2000 sever ,须安装Internet信息服务组件;
DNS服务器安装Windows 2000 sever ,须安装DNS组件。
⑴    分别设置各台服务器IP地址、子网掩码、网关及DNS服务器地址,调通网络。
⑵    设置DNS服务器
①在DNS中创建正向搜索的标准主要区域,实现域名
DNS服务器上单击开始/程序/管理工具/DNS,打开DNS控制台。
在控制台树中,右键单击 “正向搜索区域”,单击新建区域/新建区域向导/下一步,选择区域类型为“标准主要区域”。如果不是在活动目录的域控制器上创建DNS区域,则区域类型中的“与活动目录集成的区域”选项按钮不可用;单击“下一步”。
输入要创建的区域名称example.com.cn,选择创建新的区域文件,文件名为example.com.cn.dns,单击下一步/完成,区域example.com.cn出现在控制台树中的“正向搜索区域”下。
②在区域example.com.cn中注册查询名称www. example.com.cn的多个主机资源记录。
在DNS控制台树中右键单击区域example.com.cn,单击新建主机,弹出“新建主机”窗口。在“名称”栏输入主机名www,在“IP地址”栏输入对应的IP地址172.28.20.1,单击“添加主机”、“确定”按钮;重复此过程,主机名仍为www, IP地址依次为172.28.20.2、172.28.20.3、172.28.20.4。单击“完成”。
  四条名为www的主机记录出现在正向搜索区域“example.com.cn”中,指针依次为172.28.20.1、172.28.20.2、172.28.20.3、172.28.20.4
③启用多宿主名称的循环复用
单击开始/程序/管理工具/DNS/DNS服务器名/属性/高级,在“服务器选项”中,选择“启用循环”复选框,然后单击“确定”。
至此,正向搜索型查询用于IP 地址分别为172.20.20.1、172.28.20.2、172.28.20.3和172.28.20.4的多宿主主机 (www. example.com.cn)配置完成,具体如图1所示。
[img]http://www.ahcit.com/back/editor/UploadFile/20061251702664.gif[/img]
                        
  图1  DNS服务器配置图
当客户请求访问[url]www.example.com.cn[/url]时,DNS服务器将循环调度IP地址的次序,将按172.28.20.1、 172.28.20.2、172.28.20.3和172.28.20.4的顺序应答第一个客户的要求,下一个客户对同样信息的请求将用旋转后的 172.28.20.2、172.28.20.3、172.28.20.4和172.20.20.1这样的顺序应答,旋转过程将持续下去,成功实现DNS 负载均衡。
按以上步骤设置好后,有时会有疑问,为什么ping [url]www.example.com.cn[/url],返回的都是同一个IP?原因很简单,这是因为只用1台电脑做
测试,ping了第一次后,电脑就会做一个缓存。用多台电脑来ping,或在一台电脑上ping完每一次后,均运行ipconfig/flnshdns,就可测试
出系统实现目的已达到。
4  需注意的两点问题
⑴ 本地子网优先级
当集群中的服务器不在同一网段时,默认情况下,当客户机查询解析映射到多个 IP 地址的主机名时,DNS 服务使用本地子网优先排序作为
给出同一网络上首选 IP 地址的方法。此功能要求客户应用程序尝试使用连接可用的最近(一般是最快的)IP 地址连接至主机。
DNS 服务按以下方式使用本地子网优先级:
①DNS 服务确定是否需要本地子网的优先级排序查询响应。
如果有多个地址资源记录与要查询的主机名匹配,则 DNS 服务可按其子网位置重新对记录进行排序。如果查询的主机名只与一个 地址资源
记录匹配,或者客户机的 IP 网络地址与多重资源记录响应列表上的任何映射地址的 IP 网络地址匹配,则不需要进行优先排列。
②对于匹配响应列表中的每一个资源纪录,DNS 服务决定了哪些记录(如果有)与查询客户机的子网位置匹配。
③DNS 服务重新对响应列表进行排序,以便将与发出请求的客户机的本地子网匹配的 主机地址资源记录排在响应列表中的第一位。
④按子网的顺序进行优先级排序后,响应列表将返回给发出请求的客户机。
⑵ 不足之处
虽然循环复用 DNS 是一个普遍使用的在 Web 服务器上负载平衡的解决方案,但是,该方式有它自身的缺陷。循环复用 DNS 使用 DNS
将传入的 IP 请求映射到定义的一系列循环形式的服务器。一旦发生服务器故障,循环复用 DNS 继续把请求发送到这个故障服务器,一直
到把该服务器从 DNS 中移走为止。这样许多用户必须等到 DNS 连接超时以后才能成功地访问目标网站。
5  结束语
   集群负载均衡被认为是目前十大热门技术之一,它也是一个高端应用,Internet/Intranet中负载均衡方案应用十分广泛,许多大中型网
站都难脱离这种技术。NAT负载均衡、反向代理均衡及DNS负载均衡,将视需要而被采用。利用循环复用DNS实现负载均衡是一种经济又实用的方法,不需要添加昂贵的负载均衡设备,并且服务器可以位于互联网的任意位置,该技术当前使用在包括Yahoo在内的一些Web站点上[2]。
参考文献
[1]:鲁定龙. NAT负载均衡配置示例. [url]http://www.ipgw.net[/url] .2004
[2]:王波. 负载均衡构建高负载网站的利器.中国计算机报. 1999-12-16,总期号:884,本年期号:9

linux-运维进阶-19 bind提供域名解析服务 linux-运维进阶-19 bind提供域名解析服务 概念解析 DNS域名解析服务 很早很早之前,人们通过ip地址来上网,后来,人们觉得,相较于由数字构成的IP地址,域名更容易被理解和记忆,所以我们通常更习惯通过域名的方式来访问网络中的资源。但是,网络中的计算机之间只能基于IP地址来相互识别对方的身份,而且要想在互联网中传输数据,也必须基于外网的IP地址来完成。 为了降低用户访问网络资源的门槛,D... 阅读详情

相关推荐

【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 02 分布式多服务器管理算法

类别子类数量算法总数主要功能领域1. 负载均衡​12个子类150+算法请求分发、会话保持、健康检查2. 资源分配​15个子类180+算法CPU/内存/存储/网络分配3. 缓存管理​10个子类120+算法内容放置、替换、预取、一致性4. 队列管理​8个子类100+算法消息队列、任务队列、优先级队列5. 路由调度​12个子类150+算法路径选择、流量工程、拥塞控制6. 服务治理​10个子类120+算法服务发现、熔断、限流、降级7. 服务质量​8个子类90+算法SLA保障、QoE优化、准入控制8. 安全管控​12

weixin_49199313的博客 766

DNS循环复用

DNS循环复用 DNS负载均衡是通过循环复用实现的,如果发现主机名的多个地址资源记录,则可用它循环使用包含在查询应答中的主机资源记录。默认情况下,DNS服务器的服务使用循环复用对资源记录进行排序,这些资源记录是在解析为多个映射的主机名应答中返回的。该功能用于对客户机使用 Web 服务器和其他频繁查询的多宿主计算机的负载平衡。要使循环复用正常工作,必须首先在该区域中注册

闲云野鹤专栏 695

【信息科学与工程学】【安全领域】第七十篇 负载均衡设备的主要算法01

每个服务器有一个对槽位的偏好排序, 调度器(表)需要为每个槽位分配一个服务器, 目标是整体上满足所有服务器的偏好(即均匀填充), 同时保持稳定性(变化小)。: 对于一个新到达的请求, 如果将其分配到当前有cj个请求(包括正在服务的)的服务器sj, 其期望等待时间为 (cj + 1) / μj。输入:服务器集群S={s1, s2, ..., sn}, 权重W={w1, w2, ..., wn}, 当前指针i。输出:选中的服务器sj。输入:服务器集群S, 各服务器当前活动连接数cj, 各服务器预设权重wj。

weixin_49199313的博客 525

配置高可用的循环复用DNS负载均衡

配置高可用的循环复用DNS负载均衡提供:ZStack社区 前言如何利用云主机提供商的全球部署来最合理的分布你的应用?这个话题在技术圈充满争议,不过DNS(即,IP转发列表)应该算是一个好方案。特别是,如果你不想在那些高端网络硬件上砸银子,那么用DNS实现高可用可以说是最好的方案了。本文以DigitalOcean为例,介绍如何使用管理DNS响应的方式来利用云主机提供商在全球的数据中心分布来实现应用的地

zstack_org的博客 4315

Dubbo与SpringCloud框架详解

ZooKeeper(简称 zk)是一个分布式的、开源的(分布式)应用程序的协调服务。ZooKeeper 是 Apache Hadoop 项目下的一个子项目,是一个树形目录服务。ZooKeeper 翻译过来就是“动物园管理员”,它是用来管 Hadoop(大象)、Hive(蜜蜂)、Pig(小猪)的管理员。配置管理分布式锁集群管理Dubbo 是阿里巴巴公司开源的一个高性能、轻量级的 Java RPC 框架。致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。

悦分享 1543

【信息科学与工程学】计算机科学与自动化-——第十五篇云计算 11 算法篇

在百万级虚拟机、百万级租户的超大规模云环境中,核心算法挑战包括:挑战维度具体问题算法需求技术复杂度规模性​百万级对象并发管理分布式算法、分区算法极高(NP-hard问题)多租户​租户间隔离与资源共享公平性算法、隔离算法高(多目标优化)动态性​资源需求实时变化自适应算法、在线算法高(实时决策)异构性​硬件/负载/需求差异分类算法、匹配算法中高(多维度优化)经济性​资源利用率与成本平衡优化算法、博弈论算法高(多目标博弈)以下是按领域分类的详细算法列表:算法名称数学建模表达核心思想时间复杂度适用场景推理步骤首次适

weixin_49199313的博客 1403

循环复用DNS实现多服务器负载均衡

本文系转载,如需转载请保留文章底部的链接       企业知名度增加,网站访问量逐渐上升,是每一个网管所盼望的。但同时应用服务器的数据流量和访问量将成倍增加,服务器将不堪重负。   1 概述   企业知名度增加,网站访问量逐渐上升,是每一个网管所盼望的。但同时应用服

只为那一份执着 874

【信息科学与工程学】【运营科学】第二篇 C4信息与通信网络运营 (C4) ——数据中心网络运营06

13 | 司法诉讼 | 原告律师 | 争取和解优势 | 证据披露的序贯博弈 | 策略性证据释放 | 持有证据集E = {强证据e_s, 中证据e_m, 弱证据e_w}。设公众原有认知人格向量为 Pold​​=(p1​,p2​,...,pk​), 其中p_i为负面特质(如“不敬业”)。危机后, 通过行为序列 {At​}和宣传, 将公众认知向新向量 Pnew​​引导, 使得在关键维度上, Pnew​​与 Pold​​的余弦相似度降低, 并与一个正面的、可接受的“原型”(如“浪子回头”、“慈父”)对齐。

weixin_49199313的博客 1484

什么是dns轮询

同一用户多次访问时,可能被分配到不同服务器,若服务器未同步用户会话数据(如登录状态、购物车信息),会导致用户 “登录失效”“购物车清空”(需通过 “会话共享” 或 “IP 绑定” 解决)。)绑定多个服务器的 IP 地址,当用户通过域名访问时,DNS 服务器会按 “顺序循环” 的方式,将不同用户的请求分配到不同 IP 对应的服务器上,避免单台服务器因流量过大而卡顿或宕机。DNS 轮询(DNS Round-Robin)是一种基于 DNS 服务器的简单负载均衡技术,核心逻辑是:给同一个域名(如。

csdnuu123的博客 1192

apache 设置主机头,同一端口绑定多个域名和网站

apache 设置主机头,同一端口绑定多个域名和网站

从Xilinx FPGA到MIPI DSI LCD屏:手撸代码的实战经验分享

本文分享了使用Xilinx FPGA驱动MIPI DSI LCD屏的实战经验。作者从依赖官方IP核失败,到与底层D-PHY IP缠斗,最终通过手撸代码,直接配置GTY收发器原语并实现完整的D-PHY与DSI协议栈,成功点亮屏幕。文章详细剖析了协议细节、Vivado工具链的调试技巧与避坑指南,为FPGA工程师提供了从理论到实践的宝贵参考。

weixin_29188997的博客 400

负载均衡技术

[摘要]:在Internet迅猛发展的今天,网民的剧增给网络教育站点带来巨大的挑战,可用性和容错性已成为对站点的关键要求。而负载均衡技术的出现,极大地保证了服务器的正常运转,大大提高容错性,为最终用户提供优质的服务质量。本文就几种常用的负载均衡技术展开讨论、进行了技术分析及性能比较,重点介绍了循环DNS技术。   [关键词]: TCP/IP、WEB服务器、DNS、负载均衡   1  前言

jackzhang083的专栏 366

别再手动续期SSL证书了!用acme.sh配合阿里云DNS API,实现全自动HTTPS证书管理

本文详细介绍了如何使用acme.sh配合阿里云DNS API实现SSL/TLS证书的全自动管理,彻底解决手动续期带来的风险与不便。通过自动化部署流程,包括环境准备、API集成、多域名证书申请等关键步骤,帮助运维人员构建高效、可靠的HTTPS证书管理体系,显著提升安全性和运维效率。

weixin_29200485的博客 271

c-ares异步DNS库:企业级高性能DNS解析架构设计与实战指南

在微服务和云原生架构盛行的现代应用环境中,**异步DNS解析性能**已成为影响应用响应时间和稳定性的关键因素。c-ares作为一个成熟的C语言异步DNS库,通过其非阻塞I/O模型和多平台支持,为分布式系统提供了可靠的DNS解析基础设施。本文将深入探讨c-ares在企业级生产环境中的架构设计、性能调优策略和监控方案,帮助技术架构师构建高性能、高可用的DNS解析服务。 ## 一、异步DNS解析的技术

gitblog_00661的博客 913

Windows 10 下 DockerToolbox 安装全攻略:从下载到配置阿里云镜像加速

本文详细介绍了在Windows 10系统上安装和配置DockerToolbox的完整流程。从下载安装包、执行初步安装,到关键步骤——修改虚拟机存储路径以及配置阿里云镜像加速器,旨在帮助开发者,尤其是初次接触Docker的新手,快速搭建高效的本地容器开发环境,并解决国内镜像下载缓慢的痛点。

moon9的博客 476

第一天 负载均衡之高并发发送

高并发发送: 1处:负载均衡 2处:数据库 在APP服务器多台情况下,如果用户登录,session怎么处理? 本文来源:凯哥Java(kaigejava) 个人博客:www.kaigejava.com 如下图: 说明: 如果用户登录的时候负载到01服务器上,当用户在操作其他的时候,如果被负载到02机器上。这个时候02机器上面就没有当前用户的session。用户就会被转...

凯哥Java的博客 230

AI自动化流程在金融风控中的3个典型案例

AI自动化风控流程全流程自动化:最小化人工干预,实现从数据输入到决策输出的闭环自适应学习:通过持续数据反馈实现模型自动迭代优化实时决策能力:满足毫秒级(支付风控)至分钟级(信贷审批)的响应需求多模态数据融合:整合结构化、非结构化和实时流数据智能决策解释:自动生成符合监管要求的决策解释人机协同机制:在高风险场景下实现AI与人类专家的协同决策实施后关键绩效指标(KPI)变化指标实施前实施后改进幅度平均审批时间3.2天4.7分钟-99.7%自动审批率15%85%+467%

架构师的AI之路,分享AI应用开发架构的学习与实践。 1537

互联网系统架构演变

对于 NAT(网络地址映射):因为 Request 和 Response 都要经过 LVS,所以这种负载策略是产生流量的,具体能够撑起多大的流量更硬件配置有关(如网卡)。对于 IP Tunneling(IP 隧道)和 Direct Routing(直接路由):这两种负载策略几乎是不产生流量的(Client 发送的第一个数据包需要经过 LVS,所以会产生少量的流量),而后 Client 就直接与 Real Server 通信了,不会再经过 LVS,所以后面这两种负载策略能够扛住更大的连接。

sinat_53467514的博客 1933

基于STM32L4XX、HAL库的DP83822 以太网收发器(PHY)驱动程序设计

一、简介:DP83822是德州仪器(TI)推出的一款低功耗、高性能10/100Mbps以太网物理层收发器(PHY)。它具有以下主要特性:支持10BASE-T和100BASE-TX以太网标准低功耗设计,适合嵌入式应用MII/RMII接口,方便与微控制器连接内置自检和诊断功能支持自动协商和手动配置工业级温度范围(-40°C至+85°C)

zhusl6688的博客 531

USLE模型(1.2):LS因子的计算

基于USLE的甘南川西北土壤侵蚀研究。准备好30米分辨率的dem。

所有专家都曾始于新手 3481

互联网系统架构演变之一

1. 程序三高 1)高并发 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一。当多个进程或线程同时(或着说在同一段时间内)访问同一资源时会产生并发问题,因此需要通过专门的设计来保证系统能够同时(并发)正确处理多个请求。 2)高性能 简单地说,高性能(High Performance)就是指程序处理速度快、耗能少。与性能相关的一些指标如下: 响应时间:系统对请求做出响应的时间。例如系统处理一个 HTTP 请求需要 200ms,这个 200ms 就是系统的响

lingdian23的专栏 671

【网络与爬虫 62】小程序爬虫终极攻略:微信支付宝小程序数据采集完全指南

本文深入解析微信和支付宝小程序的爬虫技术,从基础架构分析到高级逆向工程,涵盖WXML/AXML模板解析、API接口拦截、网络流量分析等核心技术。通过实战案例和代码示例,帮助开发者掌握小程序数据采集的完整技术栈。

熵数实验室 3419
上一篇: 美国骇客年会(Black Hat 2008) 观察:第二天
下一篇: 多服务器群集和负载均衡方案
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值