mysql - 如何保持wordpress、AWS lightsail的两个MySQL数据库同步?
问题描述
我有我的客户想要以下:
- 2台服务器
- 负载均衡器
- 每日备份(30 天)
- 数据库同步
假设我应用 2 个 lightail 实例和一个网络负载均衡器来托管两个相同的 wordpress 商务站点。
如何保证wordpress的数据库、图片、插件同步?这是因为一个用户在一个站点创建的订单,应该记录在另一个数据库中。
解决方案
这不是 Lightsail 的一个很好的用例(我是 Lightsail 的开发人员倡导者,所以当我这么说时你可以相信我)。
您需要了解 WordPress 如何存储各种数据。MySQL 中存储了很多东西,但文件系统中也存储了很多东西(包括插件、上传的媒体等)。
因此,您可以启动 lightail 实例,将它们指向单个 lightail 数据库(或自托管 MySQL),但这并不能解决保持本地文件系统在各个实例之间同步的问题。哟
AWS 真正想要的是负载均衡器前面的云前端(用于缓存)。LB 面向多个运行 WP 的 EC2 实例。它们连接到运行 MYSQL 并使用共享 EFS* 卷来托管文件系统的 RDS 实例。**
您无法在 Lightsail 上执行此操作,因为没有将 EFS 与 Lightsail 结合使用的好方法(即使是使用 VPC 对等互连)。
*有些人会争辩说 EFS/NFS 对 WordPress 来说不够快,但我已经看到使用正确的缓存等它非常有效。
**另一种方法是使用 S3 来存储通用媒体,但我认为这不能处理带有插件的问题 - 所以也许您想要将 s3 用于媒体和 EFS 用于插件的组合
推荐阅读
- python - 如何进行图像分类?
- node.js - Nodejs - 处理和发送多部分请求,
- ios - 如何在 MVVM 中快速从一个屏幕导航到另一个屏幕
- python-3.x - 从列表创建切片列表
- scala - 如何使用 Spark 内置函数转换地图值?
- c# - 水平滚动条不可见-ASP.Net
- python - 使用 robobrowser 点击列表
- django - 在 PyCharm Django 项目中覆盖 Bootstrap 4 颜色 - 错误:找不到要导入的样式表
- c# - RevokeDragDrop 并非在所有情况下都有效
- java - 使用 jsch SSH 到远程服务器内部的远程服务器(将服务器跳转到开发机器)