1. 程式人生 > >大眾點評網的網站架構

大眾點評網的網站架構

大眾點評網由張濤創建於2003年4月,是中國最大的城市生活消費指南網站。其主要致力於為中國消費者提供本地的餐飲、休閒、娛樂等生活服務發表評論、分享資訊的平臺,併為廣大潛在的消費者提供客觀、準確的本地化消費資訊指南。 大眾點評網在2008年12月已實現在今年年初制定的月收入人民幣500萬元的盈利目標,Via: http://tech.sina.com.cn/i/2008-12-01/00222613619.shtml 我也是大眾點評網的使用者之一,而且是註冊使用者,也會經常上大眾點評網,對大眾點評網的UI/UE非常喜歡,細節處理得非常好,同時也能給大家帶來非常有價值及有用的服務,而且這一切都是免費的,有誰不喜歡既是免費又有好的體驗的服務呢。 下面說說我自己所瞭解的大眾點評網的網站架構情況 1.用nslookup命令查詢大眾點評網的域名情況 C:/Users/caihuafeng>nslookup www.dianping.com 伺服器: ns.crcbj.com Address: 61.233.9.9 非權威應答: 名稱: 1st.attack.glb0.lxdns.com Addresses: 218.60.1.134 218.60.1.76 Aliases: www.dianping.com www.dianping.com.cdn20.com Aliases是別名的意思,大概的意思可能是www.dianping.com及www.dianping.com.cdn20.com是域名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 www.dianping.com C:/Users/caihuafeng>nslookup -qt=ns www.dianping.com 伺服器: ns.crcbj.com Address: 61.233.9.9 非權威應答: www.dianping.com canonical name = www.dianping.com.cdn20.com www.dianping.com.cdn20.com canonical name = 1st.attack.glb0.lxdns.com canonical name簡稱cname,通常稱別名指向,也就是www.dianping.com指向www.dianping.com.cdn20.com,www.dianpng.com.cdn20.com指向1st.attack.glb0.lxdns.com。 流程大致是這樣的,使用者在瀏覽裡輸入域名www.dianping.com後,由於dianping.com域對應的域名伺服器是ns1或ns3.chinanetcenter.com,從其中某一臺域名伺服器的區域檔案(或者其它的方式)找到cname的記錄www.dianping.com.cdn20.com,而域名www.dianping.com.cdn20.com是網宿科技的域名,具體過程由他們公司來進行解析,解析完成以後,然後就是網宿科技內部的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服務的伺服器,在瀏覽中輸入http://www.dianping.com.cdn20.com/時,出現如下的提示資訊: 您所請求的網址(URL)無法獲取 當嘗試讀取以下網址(URL)時: http://www.dianping.com.cdn20.com/ 發生了下列的錯誤: 無法將您輸入的主機名稱:www.dianping.com.cdn20.com轉換成 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)中的主機名稱, 請檢查該名稱是否正確。 本快取伺服器管理員:[email protected] Generated Wed, 12 Aug 2009 09:24:50 GMT by cache.51cdn.com (Cdn Cache Server V2.0) 從以上的提示資訊可以看出,大眾點評網使用了付費的cdn服務,是網宿科技提供的cdn,域名http://www.chinanetcenter.com/是網宿科技的另一個域名 5.域名 www.dianping.com、1st.attack.glb0.lxdns.com及www.dianping.com.cdn20.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 www.dianping.com.cdn20.com 伺服器: ns.crcbj.com Address: 61.233.9.9 非權威應答: 名稱: 1st.attack.glb0.lxdns.com Addresses: 218.60.1.134 218.60.1.76 Aliases: www.dianping.com.cdn20.com 6.檢視域名www.dianping.com對應的伺服器開通了哪些服務及使用的什麼作業系統 大眾點評網用的也是linux作業系統,可是大眾點評網是用.net開發的,難道與京東商城一樣,用的也是mono軟體來在linux下執行.net程式嗎? [
[email protected]
_Test_Server ~]# nmap -O www.dianping.com Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2009-08-12 17:46 CST Warning: Hostname www.dianping.com 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 www.dianping.com 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伺服器時,還需要維護一臺授權伺服器,控制哪些域名可以進行快取,而哪些又不進行快取,以免發生開放代理的情況。

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!

https://www.cnblogs.com/captainbed