我在负载平衡设置中设置了 4 台服务器。我有一个 wordpress 应用,需要在其中上传图片。现在,所有服务器上都设置了 rsync,并设置了 cron,间隔为 1 分钟,选项如下
rsync -rav --delete
考虑将 4 台服务器分为服务器 A、B、C、D。假设图像上传到服务器 B。现在,如果触发服务器 A 上的 cron,它将删除服务器 B 上的图像,而其目的是将图像从服务器 B 复制到 C,从 C 复制到 D,最后从 D 复制到 A。我该如何进行这样的设置?
答案1
如果你使用的是 GNU/Linux,那么你可以创建一个精简的通知包装器用于监视所有服务器上的已更改文件,以便您仅同步所需的文件。您将节省大量无用的 I/O,并避免需要“主”服务器。
答案2
由于 rsync 和 Wordpress 上传是两个分离的过程,我建议使用第五台服务器(或四台中的一台)来上传图像,然后从该远程服务器调用图像或在本地 rsync 图像。
查看此帖子关于从 wordpress 应用程序上传到远程服务器的图像:
https://wordpress.stackexchange.com/questions/74180/upload-images-to-remote-server
无论如何,使用专用远程服务器(出于冗余考虑)的优点是您可以立即访问这些图像,而无需等待 rsync。