Postgresql

數據庫管理

  • January 15, 2014

首先,如果這個問題偏離主題,請原諒我。我有一個開發的社交網站,使用者可以在其中上傳照片和更新狀態。我想在 AWS EC2 中託管,但要開始它需要一張我還沒有的信用卡。因此,我計劃在不同的託管服務提供商Digital Ocean中託管我的網站,但我有一些疑問。假設以後我必須在 AWS 中託管我的網站,我必須經歷什麼?我是這裡的新手,這將是我第一次在生產中託管,所以在我跳到我不知道的東西之前有點好奇。如果有幫助,我正在使用 Django 和 PostgreSQL。任何幫助或指導將不勝感激。謝謝!

將非互動式站點從提供商遷移到提供商很容易:

  1. 將程式碼部署到新的提供者。
  2. 將數據同步到新的提供者。
  3. 更改 DNS 以指向新的提供商。

遷移諸如社交網站之類的互動式站點必須以不同的方式進行,否則最終會導致一些人將數據發佈到新的提供商,而有些人仍然會訪問舊的提供商,因為 DNS 記憶體在不同的時間到期。

我已經成功地在舊提供者中設置了代理伺服器(在這種情況下為 HAProxy),並讓它代理了對新提供者的所有請求。在代理伺服器到位並進行最終數據同步時,有一些必要的停機時間,但通過適當的準備,這僅限於幾分鐘。

適當的準備是使用rsync所有靜態文件,如圖像、mp3、影片等,並通過 SSH 隧道在數據中心之間設置 MySQL 複製(PostGreSQL 也可以進行複制)。當需要遷移時,我們檢查了 MySQL 複製是否是最新的(新提供者中的從屬伺服器很少比舊提供程序中的主伺服器晚超過一秒)並rsync再次執行。

仍在訪問舊提供商中的代理伺服器的使用者的額外延遲約為半秒。這將取決於您選擇的兩個提供商。

我們還在更改前一天將 DNS 記錄上的 TTL 降低到 900,這樣人們應該只需訪問代理伺服器 15 分鐘。實際上,這對大多數人來說都是正確的,但預計在 DNS 更改後的幾週內會看到一些流量。

引用自:https://serverfault.com/questions/567451