2016-04-04 5 views
3

Есть ли рекомендуемый способ работы с каплями как надежное состояние в Azure Service Fabric?Надежное состояние blob в Azure Service Fabric?

Я вижу два варианта:

  1. Реализовать механизм отрывов и хранить куски в надежной коллекции. Однако этот вариант имеет довольно тяжелое бремя разработки/обслуживания.

  2. Хранить капли снаружи (хранение лазурного блоба). Этот вариант связывает услугу с Azure. Мы должны были бы предоставить свою собственную абстракцию и реализацию для работы в локальном кластере.

Возможно, существует какой-либо надежный поставщик/менеджер состояния для капли, которые уже доступны?

ответ

2

Это ваши два лучших варианта в настоящее время. Сегодня нет поставщика или службы состояния blob. Если вы сохраняете blob в надежных коллекциях, я бы рекомендовал chunking для уменьшения трафика репликации. Вы даже можете подумать о создании службы хранения blob, которая использует надежный словарь для хранения фрагментов, развертывания службы с несколькими разделами для лучшего распространения, а затем предоставить клиенту для этого, который принимает blob, chunks и распространяет.

+0

спасибо. Существуют ли планы по добавлению поставщика состояния (или услуги) blob в структуру структуры сервиса в будущем? Это что-то вроде того, что вы описали, что я имел в виду. Просто не хотел идти вперед, если было что-то подобное уже доступное. –

+1

Нет, сейчас нет планов. Обычно я рекомендую хранить это хранилище Azure, которое, если вы на месте, вы можете получить с помощью Azure Stack, но в противном случае вам не должно быть сложно построить свои собственные надежные сервисы. –

0

Пример веб-приложения создает резервные копии и восстанавливает состояние службы в хранилище blob. Вы можете сделать то же самое, если вы наследуете ActorService вместо Actor. Таким образом, вы можете делать резервные копии в лазурном хранилище.

Я реализовал для своей компании систему отказоустойчивости, которая создает резервные копии в хранилище блоков. Хранилище релятивно медленное, поэтому не рекомендуется использовать его в качестве местоположения по умолчанию.