簡體   English   中英

高可用性WordPress設置

[英]High Availability WordPress setup

我將在AWS的HA(高可用性)環境中運行WordPress網站。

我已經使用HA MySQL-Amazon Avrora。

現在我有幾個問題:

  1. 我應該選擇會話復制還是粘性會話,還是在我的負載均衡器中還是同時使用這兩者?
  2. 用戶內容必須上傳到CDN而不是集群中的WP單節點嗎?

AWS如何為WordPress HA設置提供幫助? 例如,我是否應該為此目的使用AWS Beanstalk?

為了為WordPress創建HA,我還應注意什么?

您的問題可能對StackOverflow有點寬泛,但是我處於您的情況下,所以我可以表示同情。

  1. 粘性會話不是首選選項,因為需要使用它們會表明您的應用程序不是無狀態的。

換句話說,您需要粘性會話,這意味着您的應用程序依賴於服務器內存來進行會話管理,因此,一旦初始化會話,該用戶就必須在會話的整個過程中都停留在THAT服務器上。 可以,但是不太理想(與您的請求根本不在乎它在哪個服務器實例上運行相比),因為如果流量降低並且Elastic Beanstalk決定終止正在使用的實例,那么接下來當負載均衡器將您路由到另一個實例時,您的會話將被重置,並且用戶必須再次登錄。

另一方面,如果您的應用程序被編寫為完全無狀態的(例如,通過將狀態存儲在數據庫實例中),則您將不必關心每個請求命中的服務器,因為狀態不會存儲在服務器實例上。 這將使Beanstalk自由地上下旋轉實例,而不會以任何方式影響您的用戶。

粘性會話的好處是,如果您的應用程序已經寫成依賴於服務器內存,或者由於某種原因必須擁有它,則它允許您的應用程序運行而無需更改代碼。

  1. 是的,在我看來,您的用戶內容不應上傳到任何單個節點(主要出於與上述相同的原因)。 如果您的用戶內容存儲在該節點上,並且該節點由於流量低而被分解,那么您將丟失該數據。

這是類似S3的地方。 您的應用程序直接與S3作為其存儲解決方案進行交互,並且每個實例都將內容保存到S3存儲桶中。 然后,無論運行哪個節點,它都可以與同一個S3存儲桶進行對話並獲取所需的數據。

除此之外,我只建議您進行實驗,研究負載測試並根據需要進行調整。

通常,為WordPress環境設置高可用性並不是一件容易的事。 有幾層應該高度可用(至少應有兩個節點並正在進行復制):負載平衡,應用程序服務器,數據庫,文件系統,對象緩存。

在Jelastic多雲PaaS中,我們使用容器將軟件堆棧分層放置,並配置每個容器以實現高可用性。 下面顯示了我們的WordPress群集拓撲的示例。

WordPress群集高可用性

請注意,由於網絡,電力或硬件故障,整個數據中心也可能會宕機。 為了保護您的客戶免受這種不愉快的情況的影響,當在兩個不同的獨立區域中部署兩個WordPress群集時,您必須考慮多區域群集。

多區域高可用WordPress群集

維護和更新這種復雜的部署可能是一個嚴峻的挑戰,因此您必須對所有方面都有很好的了解,或者使用專門為WordPress集群設計即用型解決方案

在這種情況下,以下概述演示可能有助於更好地理解其工作原理: 如何為高負載網站提供企業WordPress服務 值得一提的是,我們使用了與雲無關的方法,因此這些群集拓撲可以部署在AWS,Azure,Google Cloud或任何其他基礎架構之上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM