2011-06-16 164 views
3

我想知道分佈式網站流量是如何平衡的。例如,我有一個具有單一域名(www.foo.com)的網站,假設它在美國,歐盟和亞洲分別設置爲三個網絡服務器。當最終用戶位於美國時,我希望用戶在他的瀏覽器中請求www.foo.com時訪問美國的物理Web服務器。當最終用戶位於歐盟時,我希望用戶訪問EU物理Web服務器。而亞洲也是如此。好處是最終用戶可以訪問最近的服務器,從而獲得最佳性能。網站流量負載平衡問題

我認爲大多數大型分佈式網站都是以這種方式實現的,例如Google。我想知道它是如何在內部實現的?更詳細地說,如何實現尋找最近服務器的魔力?

回答

2

在這裏,你去。一個完美的文章,讓你和我瞭解這是如何工作的。像@omar一樣,這與DNS有關。

全球DNS負載平衡,指導用戶根據他們的地理位置。

快速信息:

A special DNS server, or a module attached with DNS server, return different answer to different request based on the request (generally another DNS server, which is your DNS server of your ISP) IP geo-location : 
www.yourdomain.com ---[CNMAE Record] ---> geo.yourdomain.com --- [ GSLB handdling, CNAME ]--> us.geo.yourdomain.com -- [A record] --> 68.178.110.21 

請不要猶豫,看看這個: http://dev.robertmao.com/2007/06/30/global-dns-load-balancing-for-free/

一些誰給服務玩家:

Amazon Route 53Cloudlevaragef5zeus

某些方式是你可以建立自己的地理DNS:

  1. Bind & MaxMind
  2. Bind & MaxMind
+0

謝謝,我的困惑是DNS應該由網絡服務/基礎設施公司來控制,一個互聯網公司(誰想要部署全球分佈式服務器)如​​何觸摸它?你的意思是互聯網公司可以直接向DNS數據庫寫入條目(由網絡服務/基礎設施公司控制)? – George2 2011-06-17 12:59:40

+1

這是一些提供地理服務的公司生效的地方 - 一個非常擅長DNS的人可以在其服務器上使用BIND或者使用其中的一些[Amazon Route 53](http ://aws.amazon.com/route53/),[Cloudlevarage](http://cloudlevarage.com/global-load-balancing),[f5](http://www.f5.com/solutions/availability/全球負載平衡/),[宙斯](http://www.zeus.com/products/global-load-balancer)等 – 2011-06-17 18:24:01

+0

謝謝,問題回答。 – George2 2011-06-19 12:23:12

0

這是通過使用專業DNS服務完成的。他們擁有世界各地的DNS服務器,支持各國的DNS解析並返回特定的IP。

+0

謝謝你,我的困惑是DNS應該由網絡服務/基礎設施公司進行控制,怎麼可能是互聯網公司(誰想要部署全球分佈式服務器)觸摸它?你的意思是互聯網公司可以直接向DNS數據庫寫入條目(由網絡服務/基礎設施公司控制)? – George2 2011-06-17 12:58:41

+0

您的域名和DNS與網絡提供商完全不同。他們只是提供你的IP。您擁有域名和DNS控制權。您可以獲得專業的DNS服務,並自行將所有域及其IP和DNS解析邏輯。網絡/ ISP不能在那裏做任何事情。 – oazabir 2011-06-24 22:19:59