首页 > 解决方案 > 如何保持wordpress、AWS lightsail的两个MySQL数据库同步?

问题描述

我有我的客户想要以下:

  1. 2台服务器
  2. 负载均衡器
  3. 每日备份(30 天)
  4. 数据库同步

假设我应用 2 个 lightail 实例和一个网络负载均衡器来托管两个相同的 wordpress 商务站点。

如何保证wordpress的数据库、图片、插件同步?这是因为一个用户在一个站点创建的订单,应该记录在另一个数据库中。

标签: mysqlwordpressamazon-web-servicesamazon-lightsail

解决方案


这不是 Lightsail 的一个很好的用例(我是 Lightsail 的开发人员倡导者,所以当我这么说时你可以相信我)。

您需要了解 WordPress 如何存储各种数据。MySQL 中存储了很多东西,但文件系统中也存储了很多东西(包括插件、上传的媒体等)。

因此,您可以启动 lig​​htail 实例,将它们指向单个 lightail 数据库(或自托管 MySQL),但这并不能解决保持本地文件系统在各个实例之间同步的问题。哟

AWS 真正想要的是负载均衡器前面的云前端(用于缓存)。LB 面向多个运行 WP 的 EC2 实例。它们连接到运行 MYSQL 并使用共享 EFS* 卷来托管文件系统的 RDS 实例。**

您无法在 Lightsail 上执行此操作,因为没有将 EFS 与 Lightsail 结合使用的好方法(即使是使用 VPC 对等互连)。

*有些人会争辩说 EFS/NFS 对 WordPress 来说不够快,但我已经看到使用正确的缓存等它非常有效。

**另一种方法是使用 S3 来存储通用媒体,但我认为这不能处理带有插件的问题 - 所以也许您想要将 s3 用于媒体和 EFS 用于插件的组合


推荐阅读