0

我要在AWS的HA(高可用性)環境中運行WordPress站點。高可用性WordPress設置

我已經使用HA MySQL - Amazon Avrora。

現在我有幾個問題:

  1. 我寧願會話複製或粘性會話或者在我的負載平衡器或兩者?
  2. 用戶內容必須上傳到CDN而不是集羣中的WP單節點?

AWS如何幫助WordPress HA安裝?例如,我應該爲此使用AWS Beanstalk嗎?

我還需要注意什麼才能爲WordPress創建HA?

回答

1

您的問題也許是StackOverflow的有些寬泛,但我在你的情況,所以我可以同情。

  1. 粘滯會話不是首選選項,因爲需要使用它們會暗示您的應用程序不是無狀態的。

換句話說,你需要粘性會話,這意味着你的應用程序依賴於服務器內存的會話管理的話,一旦會話初始化,即用戶必須留在該服務器上的會話的整個持續時間。這是確定的,但不太理想(相對於如果您的請求沒有在所有服務器實例它是在運行關心),因爲如果你的流量放緩,彈性青苗決定殺死你的實例,然後在下請求當負載平衡器將您路由到另一個實例時,您的會話將被重置並且您的用戶將不得不再次登錄。另一方面,如果你的應用程序被寫入完全無狀態(例如通過將狀態存儲在數據庫實例中),那麼你不會在乎每個請求命中哪個服務器,因爲狀態不會存儲在服務器上實例。這將允許Beanstalk自由旋轉實例,而不會以任何方式影響用戶。

的好處粘性會話時,如果您的應用程序已經與服務器內存的依賴性寫的,或者必須有它的一些原因,它讓您的應用程序無需更改代碼運行。

  1. 是的,在我看來,您的用戶內容不應該上傳到任何單個節點(主要與我上面提到的相同的原因)。如果您的用戶內容存儲在節點上,並且該節點由於流量過低而停止運行,那麼您將丟失該數據。

這是類似S3就派上用場了。您的應用程序直接與S3交互作爲其存儲解決方案,每個實例將內容保存到您的S3存儲桶。然後,無論運行哪個節點,它都可以與同一個S3存儲桶進行通信並獲取所需的數據。

除此之外,我可以建議是,你實驗,看看負載測試,並根據需要進行調整。