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存储桶进行通信并获取所需的数据。

除此之外,我可以建议是,你实验,看看负载测试,并根据需要进行调整。