2008-10-27 113 views
4

我有自定義編碼的幾個企業應用程序的大型組織內部使用(一些與最小的外部足跡)。我現在已經制定了一個Web項目計劃,可能(希望)能夠看到一個擁有更多日常流量的大型用戶羣,而不是我以前的項目所獲得的。很顯然,我希望我的設計具有可擴展性和可維護性。問題是,從物理佈局的角度來看(服務器/虛擬機)我不知道會發生什麼。Web應用程序基礎結構

問題:這有什麼好的資源?圖書?網站?我發現了很多可擴展的應用程序設計,但沒有涉及可擴展的物理設計。

回答

2

High Scalability博客很不錯。你可以看看他們的一些例子,它們覆蓋了大型網站的物理部分。我會說普通的第一級物理縮放技術將是一個負載平衡器。這很簡單,但最簡單的你仍然有一個潛在的瓶頸數據庫。大多數擴展的物理部分都要求您添加更多內容,而真正的問題則出現在您只能使用某種東西的地方。

3

如果不知道您計劃使用哪些技術,很難給出確切的答案。如果擴展是主要驅動因素,那麼應用程序的方法就不能完全不知道計劃中的物理基礎架構。

緩存將不得不成爲一個大問題。還可以擴展數據所在的硬件。

一個非常有趣和有啓發性的閱讀是生活雜誌的真實世界生物,a history of scaling,以及他們如何通過網站的大幅增長來增加他們的實體存在。他們工作的一個主要分支是一種新的緩存技術,memcached,現在被FaceBook用於其他應用。這是令人驚訝的誠實。