1

我研究雲服務託管的電子商務網站。我想了解一些關於如何擴展事物的基礎知識。雲架構

從我可以從AWS,Rackspace公司等資料收集:

設置1: 你可以得到一個web服務器實例(AWS - EC2,Rackspace公司 - 雲服務器)了。然後,您可以增加該實例以獲取更多資源或製作該實例的副本以處理更多流量。而且,您似乎可以安裝這些實例的本地數據庫。

設置2: 您可以啓動Web服務器(AWS - EC2,Rackspace - Cloud Server)的實例。您還可以擁有數據庫實例(AWS - RDS,Rackspace - Cloud Database)。因此,Web服務器實例可以通過單個訪問點與數據庫實例進行通信。

當我使用術語的情況下,我只是想複製這可以通過一個單一的接入點的接入和數據在後臺在每個副本同步的。這可能是錯誤的精神形象,但這是我現在最好的。

我能理解設置2怎麼能擴展。 Webserver實例根本不會改變,因爲它只是源代碼。所以所有的http請求都分配給不同的web服務器實例,並且負載均衡。和數據的查詢有一個單一的接入點,然後被分配到不同的數據庫實例和是負載平衡的,並且所有數據寫入被所有數據庫實例是透明的應用程序/網絡服務器實例(或多個)之間同步時間。

但對於設置1,其中有一個數據庫設置本地Web服務器的每個實例中,是怎樣的數據能夠跨本地其他Web服務器實例的其他數據庫進行同步?由於每個網絡服務器的實例無法互相通信,因此如何啓動多個實例來擴展應用程序?此設置主要針對靜態內容的數據庫中的數據沒有發生變化的站點嗎?因此,在一個將訂單寫入數據庫的電子商務網站中,這種架構將不可行?或者有什麼方法讓每個Web服務器實例更新他們的本地數據庫到一些主副本?

對不起,這麼簡單的問題。我猜的文件不說白了,因爲它是如此簡單的或我只是沒能找到正確的文件/頁面。

謝謝你的時間!

更新: 搬遷問題在這裏:

https://webmasters.stackexchange.com/questions/32273/cloud-architecture

回答

1

我們有一組服務器設置爲應用服務器,並且分佈在不同的機器集羣安裝在同一個可用性區域AWS(我們的數據庫最初三個但可擴展)。我們設置的方式是使用「k安全」複製。這是可擴展的,因爲數據分佈在整個機器上,並且重複使得一臺機器可以完全消失,並且該場地繼續運行。這也允許查詢分發。
(另一種配置選項是重複上的每個數據庫機的所有數據)

+0

讓我看看我是否正確理解你。您的應用程序服務器是一個EC2實例。而且你的數據庫也是一個EC2實例,但是是一個集羣實例類型。在這些實例中,您可以使用自己的自定義代碼來使用k安全複製來保持每個羣集實例中的所有數據同步。 – 2012-07-18 03:24:31

+0

我弄錯了嗎? – 2012-07-18 03:26:01

+0

對不起,但我的谷歌搜索沒有提出很多k安全複製。所以我的意見可能有點關閉... – 2012-07-18 03:29:27

1

與設置#1,你是對的,如果你重複每臺機器負載均衡對整個數據庫,你需要擔心在節點之間複製數據,這會很複雜,並會影響性能,或者您需要犧牲一致性,或者將所有內容同步到單個大型數據庫,然後失去集羣效果。另外請記住,當吞吐量增加時,添加額外的服務器是需要花費數小時的手動操作,因此無法響應按需吞吐量。

關於安裝程序#2,此處擴展應用程序非常簡單,雲提供程序會自動爲您執行此操作,但數據庫將成爲瓶頸,如您所知。如果雲提供商擴展您的應用程序,並且所有這些應用程序實例都與同一個數據庫交談,那麼您將獲得應用程序的更多吞吐量,但數據庫將快速耗盡容量。有人建議通過在雲上設置MySQL集羣來解決這個問題,這是一個有效的選擇,但請記住,如果吞吐量突然增加,您將需要重新配置MySQL集羣,這是非常複雜的,您不會有自動擴展爲您的數據。

另一種方法是將雲數據庫作爲服務,在AmazonRackSpace雲上都有幾個選項。您提到了RDS,但它有相同的問題,因爲最終它僅限於一個數據庫實例,不會自動縮放。另一個MySQL數據庫服務是Xeround,它將負載分散到多個數據庫節點上,並且有一個負載均衡器管理這些節點之間的連接並自動同步分區之間的數據。有一個單一的訪問點和一個循環的DNS,可將請求發送到數千個數據庫節點。因此,這可能會滿足您對單個訪問點和數據庫可伸縮性的需求,無需設置羣集或每次進行擴展操作時都需要對其進行更改。

+0

哇......謝謝。我認爲RDS是答案,但聽起來它仍然有一些短暫的來臨。我正在閱讀RDS頁面,以找到它說它是單個實例的位置。它是否隱含在這裏?:「可擴展 - 通過簡單的API調用或點擊幾次AWS管理控制檯,您可以擴展可用於數據庫的計算和存儲資源,以滿足您的業務需求和應用程序負載。還可以將一個或多個只讀副本與您的數據庫實例部署相關聯......「 – 2012-08-15 04:02:34

+0

」......使您可以擴展超過單個數據庫實例的容量以適應讀取繁重的數據庫工作負載。「我猜測更多「只讀副本」並不意味着與多個數據庫相同的事情。 – 2012-08-15 04:04:25