如何通过 DNS 实现高可靠的负载均衡和访问提速 - 大数据

博主:xiaoweixiaowei 2023-01-18 条评论

这篇文章主要讲解了“如何通过 DNS 实现高可靠的负载均衡和访问提速”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何通过 DNS 实现高可靠的负载均衡和访问提速”吧!

1. DNS 简介


1. 简单介绍

DNS(Domain Name System,域名系统),其主要作用就是将主机名解析成 ip 地址的过程,完成了从域名到主机识别 ip 地址的转换。

  1. DNS 是一个分布式、分层次的主机名管理架构,通过配置 DNS 服务器地址,主机不需要知道对应的 ip 地址就能通过主机名的形式访问互联网。

  2. DNS 利用类似倒状树的目录结构将主机名的管理分配在不同层级的 DNS 服务器当中,经过分层管理,每一级 DNS 服务器负责部分域名信息,这就减轻了 DNS 服务器的负载,同时也方便记录更新同步。

  3. DNS 是一个网络服务,因此就有对应的端口,其端口号为53。DNS 查询的时候,是以 udp 这个较快速的传输协议来查询的,但万一没有方法查询到完整的信息时,就会再次以 tcp 这个协议来重新查询,DNS 服务在启动的时候会同时开启 tcp 的 53 端口和 udp 的 53 端口。

  4. DNS 在进行区域传输的使用使用 TCP 协议,其他的时候使用 UDP 协议。

  5. FQDN(Full Qualified Domain Name):完整主机名,是由主机名和域名构成。例如 www.baidu.com 中,www 就是 web 网站服务器的主机名,baidu.com 就是域名,主机名和域名之间用实心点号来表示。

  6. DNS 是基于 C/S 架构(多数基于套接字架构的 C/S 架构),对于每一级域名长度的限制是 63 个字符,域名总长度不超过 253 字符。

  7. DNS 系统记录的信息非常多,不过重点就两个:一个是记录服务器所在的 NS(Name Server)标识,另一个是记录主机名对应的 A(Address)标志。

2. DNS 的域名结构
  1. DNS 的域名是倒状的树状结构,在顶层是一个根服务器,它主要负责顶级域名的管理。

  2. 一级域名共分为三类,组织域、国家域和反响域,最多可以有 127 级域名。

  3. 每一级的域名服务器只负责对下级的域的管理,其中根节点是分布在世界各地的 13 台服务器组成,其中 10 台位于美国地区,另外 3 台分别设置于英国、瑞典和日本。

2. DNS 工作原理


  • DNS 解析域名到 IP 要经过三个阶段:

    • 本地 DNS 缓存解析。

    • 本地 DNS 服务器解析,递归查询。

    • 根域及各级域名服务器解析,迭代查询。

3. DNS 负载均衡


  • DNS 负载均衡技术的实现原理是:在 DNS 服务器中为同一个主机名配置多个 IP 地址,多个 IP 地址以轮询的方式选择。

    • 操作系统:Ubuntu 18.04

    • DNS 服务器软件:bind9

  1. 安装 bind9。

  2. 修改 nameserver。

    #nameserver 127.0.0.53
    nameserver 192.168.3.101
    search localdomain

    • 编辑 /etc/resolv.conf 文件。

  3. 修改 DNS 服务器地址。

    zone "zp.com" {
        type master;
        file "/etc/bind/db.zp.com";
    }

    • 编辑 /etc/bind/named.conf.local 文件。

  4. 修改 named.conf.options 文件。

    如何通过 DNS 实现高可靠的负载均衡和访问提速 - 大数据
    options {
        directory "/var/cache/bind";
        listen-on port 53 {127.0.0.0;192.168.3.101;};
        allow-transfer {none;};
    }

    • 修改 listen-on

  5. 创建 /etc/bind/db.zp.com 文件。

    $TTL 604800
    @ IN SOA zp.com root.localhost. (
                                    1       ; serial
                                    604800  ; refresh
                                    1H      ; retry
                                    1W      ; expire
                                    3H )    ; minimum
    ;
    @       IN  NS  localhost
    zp.com  IN  NS  192.168.3.101
    
    yes     IN  A   192.168.3.101
    yes     IN  A   192.168.3.102
    yes     IN  A   192.168.3.103

  6. 重启 bind9。

    service bind9 restart

  7. dig 命令解析。

    dig yes.zp.com

4. DNS 与其他负载均衡工具的对比


  1. DNS 负载均衡:

    • 对同一个请求的域名,映射为不同的服务器 IP 地址。

  2. HTTP 重定向:

    • HTTP 代理(比如浏览器)向 Web 服务器请求某一 url 后,Web 服务器根据 http 响应头信息中的 location 标记来返回一个新的 url,然后 http 代理继续请求访问这个新的 url。

  3. 反向代理负载均衡:

    • 反向代理指的是以代理服务器来接收对 Web 服务器的连接请求,然后转发给内部网络中不同的 Web 服务器,并将从 Web 服务器请求得到的结果返回给请求连接的客户端,以 Nginx 为代表。

  4. NAT 负载均衡:

    • 将公网地址映射为多个私网地址,解决 IP 地址紧张,不想让外部网络知道内部网络结构的问题。

  5. CDN:

    • CDN 即 Content Delivery Network,内容分发网络。通过发布机制将内容同步到大量的缓存节点,并在 DNS 服务器上进行扩展,找到离用户最近的缓存节点作为内容提供节点。

  6. 混合型负载均衡:

    • 在有些大型网络,由于多个服务器群内硬件设备、各自的规模、提供的服务等的差异,可以考虑给每个服务器群采用最合适的负载均衡方式,然后又在这多个服务器群间再一次负载均衡或群集起来以一个整体向外界提供服务(即把这多个服务器群当做一个新的服务器群),从而达到最佳的性能。

感谢各位的阅读,以上就是“如何通过 DNS 实现高可靠的负载均衡和访问提速”的内容了,经过本文的学习后,相信大家对如何通过 DNS 实现高可靠的负载均衡和访问提速这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是云,小编将为大家推送更多相关知识点的文章,欢迎关注!

The End

发布于:2023-01-18,除非注明,否则均为 主机评测原创文章,转载请注明出处。