我有多个 web 服务实例,它们会将数据块写入 Azure 存储。我需要能够根据接收时间将数据块分组到容器(或虚拟目录)中。偶尔(最坏的情况是每天一次),旧的数据块将被处理然后删除。
我有两个选择:
选项 1
我创建一个名为“blobs”的容器(例如),然后将所有数据块存储在该容器中。每个数据块都将使用目录样式的名称,其中目录名称是接收时间(例如,“hr0min0/data.bin”、“hr0min0/data2.bin”、“hr0min30/data3.bin”、“hr1min45/data.bin”,...,“hr23min0/dataN.bin” 等 - 每 X 分钟一个新的目录)。处理这些数据块的程序将首先处理 hr0min0 数据块,然后处理 hr0minX 等等(在处理时,数据块仍在被写入)。
选项 2
我有许多容器,每个容器的名称基于到达时间(因此第一个容器称为 blobs_hr0min0,然后是 blobs_hr0minX,等等),容器中的所有数据块都是在指定时间到达的数据块。处理这些数据块的程序将逐个处理容器。
因此,我的问题是,哪个选项更好?选项 2 是否提供更好的并行性(因为容器可能位于不同的服务器上),还是选项 1 更好,因为许多容器可能会导致其他未知问题?