Rackspace CDN容器组织

时间:2013-02-05 18:03:24

标签: cdn rackspace-cloud file-management

我正在开发一个网络平台,可能会覆盖我需要存储用户图像和文档的数百万用户。 我正在使用Rackspace,现在我需要将文件逻辑定义为云文件服务。 Rackspace允许使用帐户(reference page 17, paragraph 4.2.2)创建多达500,000个容器,此外,他们建议将每个容器大小限制为最多500,000个对象(reference Best practice - Limit the Number of Objects in Your Container),这是用户文件管理的最佳做法?

用户的一个容器似乎不是一个好的解决方案,因为有500,000个容器限制。 Rackspace建议使用虚拟容器。我有点犹豫不决如何使用它们。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您只通过API调用与文件交互,那么200,000个对象就可以了(根据我的经验,不需要更大的东西)。

如果您想尝试使用Web界面进行任何任务,您需要远远不足。 Web界面不会按文件夹中断内容,因此如果您有30,000个对象,则Web界面将对它们进行分页并按字母顺序显示给您。这对于具有多达几百个对象的容器是可以的,但除此之外,Web界面是不可用的。

如果您拥有数百万用户,则可以使用部分用户ID作为分片键来决定使用哪个存储桶。有关选择分片键的信息,请参阅http://docs.mongodb.org/manual/core/sharding-internals/#sharding-internals-shard-keys。它是为Mongo用户编写的,但在此适用。外卖是挑选一些属性,这将平均分配您的用户,因此您没有一个桶超过您想要每个桶的最大文件数。

一种方法是使用用户ID,我们可以根据第一个数字随机分配和分片。对于此示例,我们将使用UID的1234,2234,1123和2134.假设您想要通过UID的第一个数字来中断文件,您将用户文件1234和1123保存在容器“files_group_1”中和“files_group_2”容器中的2234和2134的文件。

在选择分片键之前,请确保考虑用户可能存储的文件数量。例如,如果用户可能存储数百(或数千)个文件,那么您将需要使用比UID的第一个数字更加唯一的密钥进行分片。

希望有所帮助。

相关问题