大众点评网由张涛创建于2003年4月,是中国最大的城市生活消费指南网站。其主要致力于为中国消费者提供本地的餐饮、休闲、娱乐等生活服务发表评论、分享信息的平台,并为广大潜在的消费者提供客观、准确的本地化消费信息指南。
大众点评网在2008年12月已实现在今年年初制定的月收入人民币500万元的盈利目标,Via:
我也是大众点评网的用户之一,而且是注册用户,也会经常上大众点评网,对大众点评网的UI/UE非常喜欢,细节处理得非常好,同时也能给大家带来非常有价值及有用的服务,而且这一切都是免费的,有谁不喜欢既是免费又有好的体验的服务呢。
下面说说我自己所了解的大众点评网的网站架构情况
1.用nslookup命令查询大众点评网的域名情况
C:\Users\caihuafeng>nslookup
服务器: ns.crcbj.com
Address: 61.233.9.9
非权威应答:
名称: 1st.attack.glb0.lxdns.com
Addresses: 218.60.1.134
218.60.1.76
Aliases:
Aliases是别名的意思,大概的意思可能是及是域名1st.attack.glb0.lxdns.com的别名
2.nslookup -qt=ns dianping.com
C:\Users\caihuafeng>nslookup -qt=ns dianping.com
服务器: ns.crcbj.com
Address: 61.233.9.9
非权威应答:
dianping.com nameserver = ns3.chinanetcenter.com
dianping.com nameserver = ns1.chinanetcenter.com
ns3.chinanetcenter.com internet address = 61.129.75.225
ns1.chinanetcenter.com internet address = 61.129.64.3
我们在上面可以看到(nameserver也就是表示域名服务器的意思)dianping.com的域名服务器用的是网宿科技的dns服务器,因为要用它们的cdn服务。网宿科技有两台域名服务器提供服务。
3.nslookup -qt=ns
C:\Users\caihuafeng>nslookup -qt=ns
服务器: ns.crcbj.com
Address: 61.233.9.9
非权威应答:
name =
name = 1st.attack.glb0.lxdns.com
canonical name简称cname,通常称别名指向,也就是指向,指向1st.attack.glb0.lxdns.com。
流程大致是这样的,用户在浏览里输入域名后,由于dianping.com域对应的域名服务器是ns1或ns3.chinanetcenter.com,从其中某一台域名服务器的区域文件(或者其它的方式)找到cname的记录,而域名是网宿科技的域名,具体过程由他们公司来进行解析,解析完成以后,然后就是网宿科技内部的cdn系统的一些流程。可以参考下面的9进行对照理解。
attack.glb0.lxdns.com
实际上下面的内容就是DNS服务器上区域文件的内容(所谓区域文件就是包含了此域中名字到IP地址解析记录的一个文件)
primary name server = ns1.glb0.lxdns.com(这个是主域名服务器)
responsible mail addr = webmaster.glb0.lxdns.com
serial = 90717001
refresh = 10800 (3 hours)
retry = 3600 (1 hour)
expire = 604800 (7 days)
default TTL = 60 (1 min)
4.发现上述有一个含有cdn的域名,猜测应该是提供cdn服务的服务器,在浏览中输入时,出现如下的提示信息:
您所请求的网址(URL)无法获取
当尝试读取以下网址(URL)时:
发生了下列的错误:
无法将您输入的主机名称:转换成 IP 地址
域名服务器返回以下讯息:
Server Failure: The name server was unable to process this query.
这表示:
The cache was not able to resolve the hostname presented in the URL.
Check if the address is correct.
缓存服务器无法解析您输入网址(URL)中的主机名称,
请检查该名称是否正确。
本缓存服务器管理员:cdnsupport@chinanetcenter.com
Generated Wed, 12 Aug 2009 09:24:50 GMT by cache.51cdn.com (Cdn Cache Server V2.0)
从以上的提示信息可以看出,大众点评网使用了付费的cdn服务,是网宿科技提供的cdn,域名是网宿科技的另一个域名
5.域名 、1st.attack.glb0.lxdns.com及指向同一台服务器
C:\Users\caihuafeng>nslookup 1st.attack.glb0.lxdns.com
服务器: ns.crcbj.com
Address: 61.233.9.9
非权威应答:
名称: 1st.attack.glb0.lxdns.com
Addresses: 218.60.1.134
218.60.1.76
C:\Users\caihuafeng>nslookup
服务器: ns.crcbj.com
Address: 61.233.9.9
非权威应答:
名称: 1st.attack.glb0.lxdns.com
Addresses: 218.60.1.134
218.60.1.76
Aliases:
6.查看域名对应的服务器开通了哪些服务及使用的什么操作系统
大众点评网用的也是linux操作系统,可是大众点评网是用.net开发的,难道与京东商城一样,用的也是mono软件来在linux下运行.net程序吗?
[root@CentOS_Test_Server ~]# nmap -O
Starting Nmap 4.11 (
http://www.insecure.org/nmap/ ) at 2009-08-12 17:46 CST
Warning: Hostname resolves to 2 IPs. Using 218.60.1.76.
Interesting ports on cncln.online.ln.cn (218.60.1.76):
Not shown: 1672 closed ports
PORT STATE SERVICE
80/tcp open http
111/tcp open rpcbind
199/tcp open smux
443/tcp open https
623/tcp filtered unknown
631/tcp open ipp
873/tcp open rsync
3000/tcp open ppp
Device type: general purpose
Running: Linux 2.4.X|2.6.X
OS details: Linux 2.4.18 - 2.4.19 w/o tcp_timestamps, Linux 2.4.19 (Mandrake, X86), Linux 2.4.20 or 2.6.0-test5-love3 (x86), Linux 2.4.7 (x86)
Nmap finished: 1 IP address (1 host up) scanned in 10.757 seconds
7.大众点评网的Web Server可能是自己开发的,名为DPW
C:\Users\caihuafeng>curl -I
HTTP/1.0 500 Internal Server Error
Date: Wed, 12 Aug 2009 09:50:30 GMT
Server: DPW(可能应该是DianPingWeb的意思)
Warn: 7
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 1329
Set-Cookie: lb.dp=117506314.20480.0000; path=/
Via: 1.0 tj252:80 (Cdn Cache Server V2.0), 1.0 lnsy134:80 (Cdn Cache Server V2.0
)
Connection: close
8.其它
大众点评基于Lucene开发了自己的全文检索系统(DPL系统),DPL的全称应该是DianPing Lucene的意思吧),说明一下, Lucene也有.net版本;另外大众点评网还使用了Memcached。如果上述页面无法访问(btw:我在写这篇文章的时候还真的访问不了),可以访问如下的网址,可以点击这儿,直接用百度快照查看即可。
9.CDN的介绍及开通过程(摘抄自网上)
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。
作为ICP,只需要把域名解释权交给CDN运营商,其他方面不需要进行任何的修改;操作时,ICP修改自己域名的解析记录,一般用cname方式指向CDN网络Cache服务器的地址。
作为CDN运营商,首先需要为ICP的域名提供公开的解析,为了实现sortlist,一般是把ICP的域名解释结果指向一个CNAME记录;
当需要进行sorlist时,CDN运营商可以利用DNS对CNAME指向的域名解析过程进行特殊处理,使DNS服务器在接收到客户端请求时可以根据客户端的IP地址,返回相同域名的不同IP地址;
由于从cname获得的IP地址,并且带有hostname信息,请求到达Cache之后,Cache必须知道源服务器的IP地址,所以在CDN运营商内部维护一个内部DNS服务器,用于解释用户所访问的域名的真实IP地址;
在维护内部DNS服务器时,还需要维护一台授权服务器,控制哪些域名可以进行缓存,而哪些又不进行缓存,以免发生开放代理的情况。