Управляйте данными оркестрации через провайдеров хранения данных

При построении рабочих процессов с помощью Устойчивые функции или SDK Durable Task ваши оркестрации должны где-то хранить своё состояние. Поставщики хранилища обрабатывают это, сохраняют журнал оркестрации, состояние сущности и внутренние сообщения в бэкенд по вашему выбору. Это надежное хранилище, что делает рабочие процессы надежными— они могут приостановить, масштабировать, перезапустить и восстановить без потери хода выполнения.

Устойчивые функции поддерживают несколько поставщиков хранилища. Настройте приложение для использования одного из следующих параметров:

  • Управляемое Azure
    • Планировщик устойчивых задач (рекомендуется)
  • Хранилище «Принеси своё» (BYO)
    • служба хранилища Azure
    • Netherite
    • Microsoft SQL Server (MSSQL)

Замечание

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

Пакеты SDK для устойчивых задач используют планировщик устойчивых задач Azure в качестве поставщика хранилища, предоставляя полностью управляемую серверную часть для надежной оркестрации рабочих процессов без поддержки инфраструктуры.

Планировщик устойчивых задач

Планировщик устойчивых задач — это полностью контролируемый, высокопроизводительный бэкенд-поставщик, спроектированный и разработанный в сотрудничестве с Microsoft Research. Он стремится обеспечить лучший пользовательский интерфейс в таких аспектах, как управление, наблюдаемость, производительность и безопасность.

К ключевым преимуществам планировщика устойчивых задач относятся:

  • Снижение затрат на управление и операции по сравнению с поставщиками серверной части BYO
  • Панель наблюдаемости и управления.
  • Поддерживает максимальную пропускную способность всех серверных компонентов сегодня.
  • Поддержка проверки подлинности с помощью управляемого удостоверения.

Существующие пользователи пакета SDK для Устойчивые функции и устойчивых задач могут использовать планировщик без изменений кода. Узнайте больше о планировщике устойчивых задач и о начале работы.

Примеры для планировщика устойчивых задач можно найти на GitHub.

служба хранилища Azure

служба хранилища Azure является одним из "собственных" поставщиков хранилища для Устойчивые функции. В нем используются очереди, таблицы и большие двоичные объекты (BLOB) для сохранения состояния оркестрации и состояния сущности, а также аренды BLOB для управления разделами. Поставщик служба хранилища Azure встроен в расширение Устойчивые функции и не имеет других зависимостей.

Ключевыми преимуществами поставщика служба хранилища Azure являются следующие:

  • Установка не требуется. Вы можете использовать учетную запись хранилища, созданную для вас в процессе установки приложения-функции.
  • Модель выставления счетов с минимальными затратами без сервера — в служба хранилища Azure используется модель ценообразования, основанная на потреблении (подробная информация).
  • Лучшая поддержка инструментов — служба хранилища Azure предлагает кроссплатформенную локальную эмуляцию и интегрируется с Visual Studio, Visual Studio Code и основными инструментами Функции Azure.
  • Самый зрелый - служба хранилища Azure был оригинальной и самой проверенной системой хранения для Устойчивые функции.
  • Поддержка использования удостоверения вместо секретов для подключения к поставщику хранилища.

Поставщик служба хранилища Azure не требует явной конфигурации, ссылок на пакеты NuGet или ссылок на пакеты расширений. Подробные параметры конфигурации, включая подключения, аутентификацию на основе удостоверений и параметры host.json, см. в разделе хранилище Azure для службы Устойчивые функции.

Microsoft SQL Server (MSSQL)

Поставщик хранилища MSSQL сохраняет все состояние в базе данных MSSQL. Он совместим с локальными и облачными развертываниями SQL Server, включая базу данных SQL Azure.

Ниже приведены основные преимущества поставщика хранилища MSSQL.

  • Поддерживаются отключенные среды; для установки SQL Server не требуется подключение к Azure.
  • Универсально совместимо с различными средами и облаками, включая размещенные в Azure и локальные системы.
  • Строгая консистентность данных, обеспечивающая резервное копирование, восстановление и переключение на резервный канал без потери данных.
  • Встроенная поддержка пользовательского шифрования данных (функция SQL Server).
  • Интегрируется с существующими приложениями баз данных с помощью встроенных хранимых процедур.

Дополнительные сведения о поставщике хранилища MSSQL:

Netherite

Замечание

Поддержка использования серверной части хранилища Netherite с Устойчивые функции заканчивается 31 марта 2028 г. Мы рекомендуем оценить планировщик устойчивых задач для рабочих нагрузок, которые в настоящее время используют Netherite.

Серверная часть хранилища Netherite спроектирована и разработана в Microsoft Research. В нем используются Центры событий Azure и технология базы данных FASTER поверх Azure Page Blobs.

Ниже приведены основные преимущества поставщика хранилища Netherite.

  • Более высокая пропускная способность и более низкая стоимость по сравнению с другими поставщиками объектов хранения.
  • Поддерживает оптимизацию соотношения цены и производительности, что позволяет масштабировать производительность по мере необходимости.
  • Поддерживает до 32 разделов данных со шлюзами событий SKU базового и стандартного уровней.
  • Более экономично, чем у других поставщиков, для высокопроизводительных рабочих нагрузок.

Дополнительные сведения о поставщике хранилища Netherite:

Сравнение поставщиков хранилища

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

Функция Планировщик устойчивых задач служба хранилища Azure MSSQL Netherite
Официальный статус поддержки ✅ Общедоступная версия (GA) ✅ Общедоступная версия (GA) ✅ Общедоступная версия (GA) ✅ Общедоступная версия (GA)
Внешние зависимости N/A учетная запись служба хранилища Azure (версия 1 общего назначения) SQL Server 2019 или база данных Azure SQL Центры событий Azure
Учетная запись хранилища Azure (общего назначения)
Возможности локальной разработки и эмуляции Эмулятор планировщика долговременных задач Azurite 3.12+ (кроссплатформенный) SQL Server Developer Edition (поддерживает Windows, Linux и контейнеры Docker) Поддерживает эмуляцию центров задач в памяти (дополнительные сведения)
Настройка центра задач Явный Явный Неявная по умолчанию (дополнительные сведения) Явный
Максимальная пропускная способность Крайне высоко Умеренно Умеренно Крайне высоко
Максимальное горизонтальное масштабирование оркестрации или объектов (узлы) N/A 16 N/A 32
Максимальное горизонтальное масштабирование активности (узлы) N/A N/A N/A 32
Поддержка устойчивых сущностей ✅ Полностью поддерживается. ✅ Полностью поддерживается. ⚠️ поддерживается, кроме случаев использования .NET Isolated ✅ Полностью поддерживается.
Поддержка масштабирования KEDA 2.0
(дополнительные сведения)
Скоро! ❌ Не поддерживается ✅ Поддерживается с помощью масштабируемого компонента MSSQL (дополнительные сведения) ❌ Не поддерживается
Поддержка пакетов расширений (рекомендуется для приложений не на .NET) Скоро! ✅ Полностью поддерживается. ✅ Полностью поддерживается. ✅ Полностью поддерживается.
Можно настроить соотношение цены и производительности? Скоро! ❌ Нет ✅ Да (виртуальные процессоры SQL) ✅ Да (единицы пропускной способности и единицы емкости для центров событий)
Поддержка отключенной среды ❌ Требуется подключение к Azure ❌ Требуется подключение к Azure ✅ Полностью поддерживается. ❌ Требуется подключение к Azure
Подключения на основе идентификации ✅ Полностью поддерживается. ✅ Полностью поддерживается. ⚠️ Требуется масштабирование, управляемое средой выполнения ❌ Не поддерживается
План потребления Flex ✅ Полностью поддерживается. ✅ Полностью поддерживается (см. заметки) ✅ Полностью поддерживается. ❌ Не поддерживается

Дальнейшие действия