2

Я очень новичок в сервисе Fabric.Azure Service Fabric Надежная коллекция и другие стойкие магазины

Is Service Fabric рекомендует использовать только надежные коллекции для хранения ВСЕХ данных для приложения?

Что делать, если я использую SQL-базу данных для сохранения всех своих бизнес-данных и использования надежной коллекции для ленивой поддержки SQL DB для целей интеграции. После DDD, если я сохраняю свой агрегат в SQL DB и оставляю запись в надежной коллекции для связи с другим ограниченным контекстом. Будет ли этот подход иметь какие-либо проблемы?

ответ

1

Сервисная ткань НЕ рекомендует хранить всю дату в надежных коллекциях. Это твой выбор. Служба Fabric предоставляет вам свободу в том, как делать вещи на многих уровнях.

Вы можете использовать внешнюю БД (например, SQL DB или DocumentDB или что-то еще) и использовать службу состояния как кеш. Или используйте службу с сохранением состояния как основное хранилище и вообще не используйте внешний db.

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

Лично я склонен минимизировать внешние зависимости. Внешняя БД - это зависимость. Но если ваши требования к вашему приложению специфицируют широкие возможности запросов, пойдите для этого.

+0

Можете ли вы дать ссылку, где написано, что SF не рекомендуется хранить все данные в надежных коллекциях? – cassandrad

+0

Его мой английский. Я имел в виду, что нет никаких обязательств хранить данные в Reliable Collections. Это выбор. Храните его в SF или во внешней базе данных. – Martin

0

Согласно Microsoft

Обращайтесь с Reliable Актеров как транзакционной системы. Сервисная ткань Надежные актеры не являются двухфазной системой фиксации, предлагающей ACID. Если мы не реализуем необязательное сохранение, а на компьютере работает оператор , его текущее состояние будет идти с ним. Актер будет продвигаться на другом узле очень быстро, но если у нас нет , то реализована поддержка сохранения, состояние не будет. Однако, между попытками повторного использования, дублированием фильтрации и/или idempotent , вы можете достичь высокого уровня надежности и согласованности.

https://acom-feature-videos-twitter-card.azurewebsites.net/en-us/documentation/articles/service-fabric-reliable-actors-anti-patterns/

 Смежные вопросы

  • Нет связанных вопросов^_^