我在堆疊溢位和其他部落格中讀到的內容 -
https://hackernoon.com/database-scaling-horizontal-and-vertical-scaling-85edd2fd9944
https://stackoverflow.com/questions/27157227/can-relational-database-scale-horizonntally
概念:多租戶網路應用程式(CRM)
總結了上面提到的所有部落格後,我感到很困惑。我有以下場景
- 單一產品擁有多個 EC2 執行個體和 RDS 執行個體 - 這裡我們計劃一個 EC2 執行個體將有一個 RDS 和故障轉移計劃。讓我們來看看圖 25,租用戶請求將在一個 EC2 執行個體中處理,資料將在對應的 RDS 中管理。另一個 EC2 執行個體和 RDS 將為另一組 25 個租用戶管理。每個 EC2 執行個體都將具有相同的程式碼庫。
我們可以說 - 這是水平縮放嗎?如果不是,應該怎麼做才能獲得精確的水平縮放?
答案1
水平縮放通常意味著您擁有一支艦隊無差別的伺服器每個伺服器可以服務的地方任何要求。您也可以透過新增或刪除更多相同的伺服器來擴大或縮小容量。
和垂直縮放您只需將一台伺服器升級到更大的容量,例如具有更多 CPU 和更多記憶體的更大執行個體。
對於 AWS 中的水平擴展,您通常需要:
- 艦隊無狀態伺服器都是以相同的方式配置的並且不儲存任何使用者資料並且可以自動添加,無需額外配置,並可以隨時刪除,不會丟失任何資料。
- 用戶資料儲存在資料庫(例如 RDS),在共享檔案系統(例如 EFS)或在物件儲存(例如S3),而不是在實際伺服器上。
- 負載平衡器將負載大致均勻地分佈在伺服器上(例如 EC2 執行個體、Fargate 容器等)
- 自動的容量擴充即根據實際負載新增和刪除伺服器。
定義可能會有所不同,但我不會將您的設定稱為水平縮放,因為您只是添加了另一個實例來支持獨立工作量(您的其他租戶群組)並且沒有添加更多容量來支援與第一個節點相同的工作負載。
希望有幫助:)