所以场景如下:
我有一个 Web 服务的多个实例,用于将 blob 数据写入 Azure 存储。我需要能够根据收到的时间将 blob 分组到容器(或虚拟目录)中。偶尔(最坏的情况是每天)旧的 blob 会被处理然后删除。
我有两个选择:
Option 1
我制作一个名为“blob”的容器(例如),然后将所有博客存储到该容器中。每个 blob 将使用目录样式名称,目录名称为接收时间(例如“hr0min0/data.bin”、“hr0min0/data2.bin”、“hr0min30/data3.bin”、“hr1min45/data.bin” ", ... , "hr23min0/dataN.bin" 等 - 每隔一个新目录X分钟)。处理这些 blob 的事物将首先处理 hr0min0 blob,然后是 hr0minX,依此类推(处理时 blob 仍在写入)。
Option 2
我有许多容器,每个容器都有一个基于到达时间的名称(因此首先是一个名为 blobs_hr0min0 的容器,然后是 blobs_hr0minX 等),容器中的所有 blob 都是在指定时间到达的 blob。处理这些博客的东西一次只会处理一个容器。
所以我的问题是,哪个选项更好?选项 2 是否可以提供更好的并行化(因为容器可以位于不同的服务器中),或者选项 1 是否更好,因为许多容器可能会导致其他未知问题?
每个人都为您提供了有关直接访问 blob 的出色答案。但是,如果您需要列出容器中的 blob,您可能会发现多容器模型具有更好的性能。我刚刚与一家公司交谈过,该公司一直在单个容器中存储大量 blob。他们经常列出容器中的对象,然后针对这些 blob 的子集执行操作。他们发现性能受到了影响,因为检索完整列表的时间一直在增长。
这可能不适用于您的场景,但需要考虑......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)