【问题标题】:Rackspace CDN container organizationRackspace CDN 容器组织
【发布时间】:2013-02-05 18:03:23
【问题描述】:

我正在开发一个网络平台,它可以覆盖数百万用户,我需要在其中存储用户的图像和文档。 我正在使用 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 建议使用虚拟容器。我有点犹豫如何使用它们。

提前致谢。

【问题讨论】:

    标签: cdn rackspace-cloud file-management


    【解决方案1】:

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

    如果您想尝试使用 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 的第一个数字更唯一的键进行分片。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多