Итак, сценарий следующий:
У меня есть несколько экземпляров веб-службы, которая записывает большой двоичный объект данных в 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 лучше, поскольку многие контейнеры могут вызывать другие неизвестные проблемы?