我在 AWS 中有两台服务器,我们用它们来存储可供 Web 应用程序/服务器访问的软件包代码库。
/var/www/vhosts/application-dua/content/
EC2 Instance 1
和上都存在相同的文件夹结构EC2 Instance 2
。
我以前用过 rsync,但不确定它在这种情况下是否能满足我的需要。我能描述的最好方式是让(可能)一个守护进程在两台服务器上运行,同时充当服务器和客户端。
SERVER 1 SERVER 2
-------- --------
client ---> monitors ---> server
server <--- monitors <--- client
- 如果将文件写入 上的文件文件夹
SERVER2
,则该文件将被复制到SERVER1
。 - 如果从 删除某个文件
SERVER2
,则该文件在 也将被删除SERVER1
。 - 如果在 上修改了文件
SERVER1
,则该文件将被复制到SERVER2
。
你明白了。
有这样的事吗?我探索过使用 EFS 的选项,但它的性能根本达不到我们所做工作的需要。使用类似的缓存层nfs-utils
也无法提供足够的效率。我们可以压缩所需性能的最佳方法是使用具有预配置 IOPS 的本地 EBS 存储上的物理副本。
如果复制之间有轻微的滞后,这不是什么大问题——它们将位于 CDN 后面,因此任何差异无论如何都会在一段时间内延迟。
实现这一目标的最佳方法是什么?
谢谢你!