2014-01-12 65 views
3

位一個小白的,當涉及到的網站託管和數據庫託管,尤其是在國際層面上的概念。對於長時間的問題抱歉,我似乎無法找到任何解釋這些事情的地方,這種方式不會讓你撓頭並在解釋過程中點擊「關閉標籤」按鈕!我覺得Stack Overflow應該對這些東西有一些總體指導/解釋,因爲像我這樣的人可以編寫和編寫web /計算機/移動應用程序,但仍然對如何處理服務器/託管/網站的基本實體工作。多個服務器的虛擬主機/數據庫/ ETC

首先,我明白什麼(請糾正我,或者我的理解是錯誤的編輯這個職位)。據我所知,一個簡單,基本的網站

  1. 託管一臺服務器(無論是雲或物理的)上。
  2. 該服務器(在Rackspace公司,AWS或其他虛擬主機提供商)允許管理員來存儲網站的數據庫和相應的服務器代碼(在拼音/ Python/PHP /等)。
  3. 當用戶導航到網站,該域被定向到服務器,並且服務器處理和轉發該信息到基於該請求的用戶。

這很簡單,主要是因爲它是一個網站和一個服務器

我不明白的是這一切是如何工作的,當數據庫變得太大舉辦一臺計算機上,並且希望維護網站,以便它是高性能和世界各地的低延遲。當從美國,印度,中國等地訪問Google,Facebook和阿里巴巴等網站時,他們會瞬間將信息傳回給用戶。當然,他們有數千臺服務器。

因此,這裏來的網站的問題需要高性能跨不同地區

  1. 會是什麼這樣的配置是什麼樣子?多個服務器在不同的位置?這是一個強制配置來維持低延遲嗎?或者可以在一個位置使用數據中心來完成此任務嗎?
  2. 這些數據中心服務器上存儲了什麼?當然,從網站的信息,但如何呢?隨附的服務器代碼是否分別存儲在每臺服務器上?一臺服務器?
  3. 這些不同的端點服務器上是否託管了數據庫和所有附帶信息?網站如何知道與哪個服務器通信以收集所需的數據?是否有一個「入口/路由」服務器?這些信息如何在不同的服務器上以這種方式進行維護,以便它們能夠在不損失寶貴的等待時間的情況下相互通信?
  4. 是否有一箇中央數據庫/數據中心爲不同位置的不同數據中心/服務器提供服務?或者他們拼接起來並放置在幾個不同的服務器上?如果是這樣,那麼這些數據如何保持無縫連接?

基本上,我有很多的麻煩設想任何形式的超越有一臺服務器支持一個網站的設置的。

現在我擁有熟悉的配置,可以將我的網站的MySQL數據庫從我的房間中的服務器上運行下去,而且它很容易理解正在發生的事情。現在我想了解下一個關卡,而且事情似乎很快就會變得朦朧。

+0

我也一直在想這個問題。但是,我認爲這是SO的一種偏離主題。 –

+0

您是否在搜索有關分佈式和雲系統開發的Hunkou Amazon等雲系統? –

+0

我也曾問過類似的問題。這個問題的措辭比我的要清楚得多,所以+1。我希望有人能指出你正確的方向。 –

回答

0

對於託管在多個不同物理服務器上的數據庫/代碼,是否有一個入口/路由服務器的答案是肯定的。在該服務器上完成的處理量可能會有所不同(從幾乎任何事情(例如,只是將請求轉發給負擔最輕的服務器的負載平衡服務器))到該服務器上發生的大部分事件(可能只有少數數據庫調用分散到不同的服務器上)。

如何配置所有服務器只取決於特定站點在並行化的性能優勢和服務器之間通信所涉及的額外處理和網絡開銷之間做出的折衷。分配負載的

一個極端的例子是YouTube,該網站 實際上有與在熱門影片存儲在ISP 的服務器上,以便更快地訪問互聯網服務供應商的交易。我不知道它是如何工作的,但它有可能只是截獲了這些視頻的請求 ,將它們發回給你,並且Youtube服務器根本不涉及 。

^我寫了上面的內容,然後試圖找到原來的鏈接,我讀了它,不能,所以我不知道它是否是真的 - 有人可以驗證這一點?

相關問題