最佳答案
情况是这样的:
我有一个 Web 服务的多个实例,它将一个数据块写入 Azure Storage。我需要能够根据收到的时间将 blobs 分组到容器(或虚拟目录)中。每隔一段时间(最糟糕的情况是每天) ,旧的 blobs 会被处理然后删除。
我有两个选择:
选择一
我制作了一个名为“ blobs”的容器(例如) ,然后将所有 blog 存储到该容器中。每个 blob 将使用一个目录样式名称,其中包含收到目录时的目录名称(例如: “ hr0min0/data.bin”、“ hr0min0/data2.bin”、“ hr0min30/data3.bin”、“ hr1min45/data.bin”、 ... 、“ hr23min0/dataN.bin”等——每隔 X分钟新建一个目录)。处理这些 blobs 的程序将首先处理 hr0min0 blobs,然后是 hr0minX,以此类推(并且在处理这些 blobs 时仍在写入)。
选择二
我有许多容器,每个容器都有一个基于到达时间的名称(所以首先是一个名为 blobs _ hr0min0的容器,然后是 blobs _ hr0minX,等等) ,容器中的所有 blobs 都是那些在指定时间到达的 blobs。处理这些 blog 的东西将一次处理一个容器。
所以我的问题是,哪个选择更好?选项2是否提供了更好的并行性(因为容器可以位于不同的服务器中) ,或者选项1是否更好,因为许多容器可能导致其他未知问题?