Служба фабрики Stateful Service - репликация файлов, измененных на диске - PullRequest
0 голосов
/ 12 мая 2018

Если я встраиваю базу данных SQLite (или любой большой файл) в службу Service Fabric Service или Actor с сохранением состояния (или даже службу приложения Azure), как репликация работает в фоновом режиме?
Azure попытается скопировать весь файл при обнаружении изменений или только секторы диска?

1 Ответ

0 голосов
/ 12 мая 2018

Azure будет пытаться скопировать весь файл при обнаружении изменений или только секторы диска?

Нет, службы с отслеживанием состояния копируют только данные, помещенные в надежные коллекции, вам следует не ожидайте, что измененные файлы будут реплицированы по узлам, каждый раз, когда создается новый экземпляр вашей службы, исходный файл копируется на новый узел, и у вас не будет доступа к измененным файлам.Не следует сохранять файл на диске узла, для этого следует использовать постоянное хранилище, например хранилище BLOB-объектов Azure, или присоединить общий ресурс к узлам.

Как работает репликация в фоновом режиме?

Я думаю, вы неправильно поняли концепцию надежных коллекций и сервисов с отслеживанием состояния, я рекомендую вам взглянуть на эти документы, чтобы иметь четкое представление о том, как это работает: https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-reliable-collections

Предложение :

Если вы хотите полагаться на функции управления данными и репликации SF, я бы рекомендовал хранить ваши данные в надежных коллекциях, а не использовать SqlLite.Если соответствует вашим требованиям.

Обновление:

На сборке 2018 команда SF объявила о планах поддержки двух версий «надежных» томоводин будет основан на файлах Azure, как описано здесь , а другой будет основан на надежных коллекциях, которые будут реплицировать измененные файлы, но позже он еще не выпущен.Если вы можете подождать, я думаю, что эта функция подойдет для ваших нужд.

...