NGINX.COM
Web Server Load Balancing with NGINX Plus

DNS 负载均衡是指在域名系统 (DNS) 中配置域名,以便将客户端对域名的请求分发给一组服务器计算机。一个域名可以对应一个网站、一个邮件系统、一台打印服务器或可通过互联网访问的其他服务。

有关负载均衡器的基本信息,请参阅《成本比硬件负载均衡器低 80%》

DNS 是互联网的“电话簿”:它将 www.abc.com 等域名(相当于电话簿中的个人姓名或企业名称)映射到 172.16.205.3 等互联网协议 (IP) 地址(相当于电话号码)。在互联网上发送或接收数据的每台设备都有一个唯一的 IP 地址,可供互联网的路由软件和硬件用于识别并定位设备。DNS 支持用户通过名称访问网站,对于大多数人而言,这比记住 IP 地址中的数字串容易得多。

在最简单的部署中,单台计算机为某个域托管并提供数据;当客户端请求解析域名时,DNS 将返回单台服务的 IP 地址。如今,许多域都使用多台服务器计算机,因为需要防范服务器故障或处理高流量等问题。在这种情况下,DNS 收到名称解析请求时会返回所有服务器的 IP 地址列表。

DNS 负载均衡的工作原理

大多数客户端使用收到的第一个 IP 地址作为域名解析结果,DNS 负载均衡利用了这一点。在大多数 Linux 发行版中,DNS 默认在每次响应新的客户端时均使用轮询方式按照不同的顺序发送 IP 地址列表。因此,不同的客户端将其请求定向到不同的服务器,从而在服务器组之间高效分配负载。

然而,这种简单的 DNS 负载均衡实现存在固有问题,影响了其可靠性和效率。最重要的是,DNS 不会检查服务器或网络中断或错误,因此即使服务器崩溃或无法访问,它也始终根据域名返回对应的同一组 IP 地址。

还有另一个问题。解析的地址通常会被中间 DNS 服务器(称为“解析器”)和客户端缓存以提高性能并减少网络上的 DNS 流量。每个解析的地址都分配一个有效期(称为 “生命周期”“TTL”),较长的生命周期意味着客户端可能无法及时了解服务器组的变更,而较短的生命周期虽然能够提高准确性,但会导致处理开销和 DNS 流量的增加 — 这是缓存原本要减轻的问题。

 

NGINX Plus 如何助一臂之力?

NGINX PlusNGINX 在 Dropbox、Netflix 和 Zynga 等高流量网站中有着广泛的应用。 全球超过 3.5 亿个网站都使用 NGINX Plus 和 NGINX 开源版快速、可靠、安全地交付内容。

NGINX Plus 提供了一系列复杂的负载均衡算法,所有这些算法的效率和准确率均高于基本 DNS 负载均衡,而且支持检查服务器状态,以避免将请求转发到无法访问的服务器。它还支持一种 DNS 负载均衡形式,可有效解决上述问题;请参阅《NGINX Plus 管理指南》中的使用 DNS 配置 HTTP 负载均衡。因为 NGINX Plus 是基于软件的解决方案,运行于商用硬件之上,因此成本远低于大多数基于硬件的竞争对手。

如欲详细了解使用 NGINX Plus 对应用进行负载均衡的优势,请下载我们的电子书《选择软件负载均衡器的五个理由》

Tags

No More Tags to display