基础知识
在大型的网络应用中,使用多台服务器提供同一个服务是常有的事。但如何平均分配每台服务器上的压力就成了一个难题。把压力分散的方法有很多种,比如本例子的使用DNS负载均衡。 准备 实现负载均衡必须要有2台以上的服务器,本例子中假设有5台服务器,IP分别为 192.168.1.100 (电信) 192.168.1.101 (电信) 192.168.1.102 (电信) 10.10.10.100 (网通) 10.10.10.101 (网通) 并且5台服务器都在为www提供服务。 本例子再假设域名为foobar.com 为电信用户实现负载均衡 根据前面的资料,电信一共有3台www服务器,分别是 192.168.1.100 192.168.1.101 192.168.1.102 首先登陆DNSPod的後台,添加一个foobar.com的域名。 然後在 管理域名记录 中添加一条记录 主机记录 www 记录类型 A 线路类型 电信 记录值 192.168.1.100 点击增加 接着,再分别添加两条记录 主机记录 www 记录类型 A 线路类型 电信 记录值 192.168.1.101 主机记录 www 记录类型 A 线路类型 电信 记录值 192.168.1.102 为网通用户实现负载均衡 电信用户的记录添加完毕後,接着添加网通的。 网通的添加方法跟电信的没太大分别 主机记录 www 记录类型 A 线路类型 网通 记录值 10.10.10.100 主机记录 www 记录类型 A 线路类型 网通 记录值 10.10.10.101 至此,所有记录添加完毕 测试 测试记录的工具可以使用windows下面的nslookup或者*nix系统下面的dig nslookup: C:\Documents and Settings\Administrator>nslookup Default Server: ns.jlccptt.net.cn Address: 202.98.0.68 > set q=a > [url]www.foobar.com[/url] Server: ns.jlccptt.net.cn Address: 202.98.0.68 Non-authoritative answer: Name: [url]www.foobar.com[/url] Addresses: 192.168.1.100, 192.168.1.101, 192.168.1.102 如果是网通用户,可以得到下面的结果 C:\Documents and Settings\Administrator>nslookup Default Server: ns.jlccptt.net.cn Address: 202.98.0.68 > set q=a > [url]www.foobar.com[/url] Server: ns.jlccptt.net.cn Address: 202.98.0.68 Non-authoritative answer: Name: [url]www.foobar.com[/url] Addresses: 10.10.10.100, 10.10.10.101 dig: wuhongshengdeibook-g4:~ wuhongsheng$ dig [url]www.foobar.com[/url] ; <<>> DiG 9.2.2 <<>> [url]www.foobar.com[/url] ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5166 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;[url]www.foobar.com.[/url] IN A ;; ANSWER SECTION: [url]www.foobar.com.[/url] 472 IN A 192.168.1.100 [url]www.foobar.com.[/url] 472 IN A 192.168.1.101 [url]www.foobar.com.[/url] 472 IN A 192.168.1.102 ;; Query time: 48 msec ;; SERVER: 202.106.0.20#53(202.106.0.20) ;; WHEN: Fri May 19 13:44:36 2006 ;; MSG SIZE rcvd: 64 wuhongshengdeibook-g4:~ wuhongsheng$ 网通用户可以得到下面的结果 wuhongshengdeibook-g4:~ wuhongsheng$ dig [url]www.foobar.com[/url] ; <<>> DiG 9.2.2 <<>> [url]www.foobar.com[/url] ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5166 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;[url]www.foobar.com.[/url] IN A ;; ANSWER SECTION: [url]www.foobar.com.[/url] 472 IN A 10.10.10.100 [url]www.foobar.com.[/url] 472 IN A 10.10.10.101 ;; Query time: 48 msec ;; SERVER: 202.106.0.20#53(202.106.0.20) ;; WHEN: Fri May 19 13:44:36 2006 ;; MSG SIZE rcvd: 64 wuhongshengdeibook-g4:~ wuhongsheng$ 进阶知识 Q:DNS轮询的时候,IP是如何给出的? A:以本例子来说,IP将会按照以下方法返回给每次查询(不一定是每个用户) 100,101,102 101,102,100 102,100,101 100,101,102 其他问题 Q:我只有电信服务器(或网通),我该怎么做? A:添加记录的时候,选择线路类型为默认即可。 使用nslookup命令测试DNS解析是否正常 先确认域名的DNS器是否为您公司的DNS服务器。国际域名请到[url]http://www./whois.html[/url]查询。国内域名请到[url]www.cnnic.cn[/url]查询。 使用nslookup命令检查您的DNS服务器是否解析正常:开始->运行->cmd.exe然后输入nslookup如下: C:\Documents and Settings\Administrator>nslookup Default Server: dns.fz.fj.cn Address: 202.101.98.55 > server 192.168.1.158 Default Server: [192.168.1.158] Address: 192.168.1.158 > [url]www.abc.com[/url] Server: [192.168.1.158] Address: 192.168.1.158 Name: [url]www.abc.com[/url] Address: 210.72.225.179 > set type=mx > mail.abc.com Server: [192.168.1.158] Address: 192.168.1.158 DNS request timed out. timeout was 2 seconds. DNS request timed out. timeout was 2 seconds. *** Request to 192.168.1.158 timed-out > 使用server 命令nslookup指向到您的DNS服务器进行查询。 使用set type=MX 或set type=A等命令查询指示查询的DNS类型。 直接输入[url]www.abc.com[/url]等域名查询DNS解析结果。如果是A记录会出来IP地址。如果MX记录,会出来邮箱交换域名。 参考资料[url]www.winiis.com/winmydns.asp[/url] |
|