Итак, сценарий следующий:
У меня есть несколько экземпляров веб-службы, которая записывает blob данных в Azure Storage. Мне нужно иметь возможность группировать капли в контейнер (или виртуальный каталог) в зависимости от того, когда он был получен. Время от времени (каждый день в худшем случае) старые капли будут обработаны, а затем удалены.
У меня есть два варианта:
Вариант 1
Я делаю один контейнер под названием "blobs" (например), а затем сохраняю все блоги в этом контейнере. Каждый blob будет использовать имя стиля каталога с именем каталога, являющимся временем его получения (например, "hr0min0/data.bin", "hr0min0/data2.bin", "hr0min30/data3.bin", "hr1min45/data.bin" ",...," hr23min0/dataN.bin "и т.д. - новый каталог каждые X минут). Вещь, обрабатывающая эти blobs, сначала обрабатывает hr0min0 blobs, затем hr0minX и т.д. (И капли все еще записываются при обработке).
Вариант 2
У меня много контейнеров, каждое из которых имеет имя, основанное на времени прибытия (так что сначала будет контейнер с именем blobs_hr0min0, затем blobs_hr0minX и т.д.), и все капли в контейнере - это те капли, которые пришли в указанное время. Вещь, обрабатывающая эти блоги, будет обрабатывать один контейнер за раз.
Итак, мой вопрос: какой вариант лучше? Вариант 2 дает мне лучшее распараллеливание (поскольку контейнеры могут быть на разных серверах) или вариант 1 лучше, потому что многие контейнеры могут вызывать другие неизвестные проблемы?