天天看點

《資料中心設計與營運實戰》——2.8 長尾容忍

本節書摘來自異步社群《資料中心設計與營運實戰》一書中的第2章,第2.8節,作者: 【美】luiz andré barroso , 【美】jimmy clidaras , 【瑞士】urs hölzle 更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

本章開始時曾描述過大型軟體系統為實作高性能及高可用性所采用的一些通用技術。随着系統擴充以支援更強大的線上網頁服務,我們發現這樣的技術已不足以在可接受的長尾水準上提供廣泛的服務響應(長尾指的是由運作最慢的分布式節點所導緻的整個任務無法按計劃結束)。dean和barroso 【34】認為,在大規模系統中杜絕造成性能變化的所有可能來源,就跟在一個大的容錯系統内使所有元件無故障運作一樣不切實際。

《資料中心設計與營運實戰》——2.8 長尾容忍

假設一個系統中的每個伺服器響應通常在10ms内,但計算到99%時的那個任務所在的節點長尾到1s。如果某個使用者的請求在這樣的一台伺服器上處理,100個使用者請求裡面就會有一個慢(假設1s)。圖2.3顯示了在這種假設情景下服務級延遲是如何受到延時離散值的中值影響的。如果使用者的請求需要100台這樣伺服器的并行響應,那麼63%的使用者請求将需要超過1s(圖中的“x”标記)。即使服務裡10000個請求中隻有1個在單台伺服器上有超過1s的延時,那麼使用2000台這樣伺服器的服務會有五分之一的使用者請求發生超過1s的延遲(圖中标記為“o”)。

dean和barroso展示了一些程式設計技術的例子,這些技術既能容忍延遲變化,同時又能在服務層實作盡可能短的長尾。dean和barroso建議的技術經常利用為容錯而預備的多副本,是以隻需要很小的代價就能在現有系統上實作。他們預測,随着我們建立的線上web服務規模更加龐大,在未來十年,長尾容忍技術會變得更加重要。

繼續閱讀