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