进阶操作
ID #1011
如何实现域名的负载均衡
基础知识
在大型的网络应用中,使用多台服务器提供同一个服务是常有的事。但如何平均分配每台服务器上的压力就成了一个难题。把压力分散的方法有很多种,比如本例子的使用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 > www.foobar.com Server: ns.jlccptt.net.cn Address: 202.98.0.68 Non-authoritative answer: Name: www.foobar.com 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 > www.foobar.com Server: ns.jlccptt.net.cn Address: 202.98.0.68 Non-authoritative answer: Name: www.foobar.com Addresses: 10.10.10.100, 10.10.10.101
dig:
wuhongshengdeibook-g4:~ wuhongsheng$ dig www.foobar.com ; <<>> DiG 9.2.2 <<>> www.foobar.com ;; 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: ;www.foobar.com. IN A ;; ANSWER SECTION: www.foobar.com. 472 IN A 192.168.1.100 www.foobar.com. 472 IN A 192.168.1.101 www.foobar.com. 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 www.foobar.com ; <<>> DiG 9.2.2 <<>> www.foobar.com ;; 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: ;www.foobar.com. IN A ;; ANSWER SECTION: www.foobar.com. 472 IN A 10.10.10.100 www.foobar.com. 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:添加记录的时候,选择线路类型为通用即可。
Tags: -
Related entries:
更新日期:2007-03-02 07:29
作者Silence
修订: 1.0
你不能对该内容发表评论