【CDP-雲設計模式】第4章,2.克隆服務器模式(Clone Server Pattern)

1.要解決的問題

  橫向擴展架構是一項常見技術,但是在那些開始於小規模的系統中,其架構往往不會使用多個服務器來提供多服務器服務。
  
  在這種情況下,採取措施來處理增加的負載可能非常耗時。

2.雲模式的說明

  這個模式讓你在建立系統時無需考慮負荷分配,但卻很容易實現系統的負載分配。現存服務器將被用作爲主服務器,並依此準備一個機器映像用於增加新服務器。在機器映像中,會提前執行內容同步和數據庫同步連接。這樣使得你只需要創建機器映像就可以通過橫向擴展來實現負載分配。

3.實施

  使用負載均衡服務(ELB)和亞馬遜機器映像(AMI)。

  創建一個具有內容同步等這類機制的AMI用於克隆,並且設置爲能夠分配負荷。如果負載過大,則依據這個用於克隆的AMI來創建一臺EC2實例。使EC2實例服從於ELB的負載分配,這樣可以讓你無需對現有系統進行重大改變就可以實現橫向擴展。
(步驟)

  • 開啓ELB(對於只有一個EC2實例的結構),並將EC2置於它的管控之下。

  • 依據目前正在運行的EC2實例創建一個用於克隆的EC2實例。

  • 根據需要,定期使用rsync等這類功能,將用於克隆的EC2與主EC2進行文件同步。

  • 根據負載(或者當預期會有一個高負載量),按克隆要求啓動所需數量的EC2實例,並添加至ELB之下。

4.配置

圖1

5.好處

  這讓你無需修改現有系統就可以通過橫向擴展來實現負載分配。

6.注意事項

  • 主EC2實例將成爲單一故障點(SPOF)。

  • 如果一個數據庫運行在主EC2實例上,不要將這個數據庫運行在克隆EC2實例上,而是將主EC2實例作爲數據庫連接地址。

  • 如果需要上傳或修改文件,請使用主EC2實例。(例如通過使用Apache的mod_proxy進行代理,僅從URL合適的克隆虛擬服務器轉到主虛擬服務器等。)

7.其他

  參見NFS共享模式和NFS複製模式。

發佈了77 篇原創文章 · 獲贊 23 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章