假设您在S3(亚马逊的存储服务)中有一个文件。有10台机器从s3下载此文件并进行附加更改。每隔一小时,必须更新s3上的文件,该文件应该是所有机器文件+原始文件的并集。此过程继续(10台机器下载更新的文件并对其进行操作。)
您将如何为此设计解决方案?
答案 0 :(得分:2)
您也可以使用S3进行临时文件更新。
使用S3上的子存储桶按小时存储临时文件,并按照10台计算机的IP地址或服务器名称命名文件。
在S3:
/bucket-name/master_file
/bucket-name/timestamp/server1_file
/bucket-name/timestamp/server2_file
...
/bucket-name/timestamp/server10_file
只要有10个附加文件一小时后,在本地下载(使用您正在使用的任何编程语言的一些读取文件方法),连接或您需要做的任何事情,并再次存储master_file。
使用cron作业或类似作业每小时执行一次。 10台机器中的每台机器上有一个cron条目可以执行它们需要执行的操作,并在主机上执行一个cron作业来组合文件。然后,您可以删除子桶,如果您想要或者甚至没有它们(在那里用于监视和记录的优缺点)。