Поделиться через


Создание задач репликации для ресурсов Azure с помощью Azure Logic Apps (предварительная версия)

Важно!

Эта возможность входит в предварительную версию, и на нее распространяются Дополнительные условия использования предварительных версий Microsoft Azure.

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

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

Примечание.

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

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

Что такое задача репликации?

Как правило, задача репликации получает данные, события или сообщения из источника, перемещает содержимое в целевой объект, а затем удаляет это содержимое из источника, за исключением случаев, когда источником является сущность центра событий. Задача репликации обычно перемещает содержимое без изменений, но задачи репликации на платформе Azure Logic Apps также добавляют свойства репликации. Если исходный и целевой протоколы различаются, эти задачи также выполняют сопоставления между структурами метаданных. Задачи репликации не отслеживают состояние. Это означает, что они не предоставляют сведения о состоянии или других побочных эффектах при параллельном или последовательном выполнении задачи.

При использовании доступных шаблонов задач репликации каждая создаваемая задача репликации имеет базовый Рабочий процесс без отслеживания состояния в ресурсе приложения логики (стандартная версия), который может включать несколько рабочих процессов для задач репликации. Этот ресурс размещается в Azure Logic Apps с одним клиентом, который является масштабируемой и надежной средой выполнения для настройки и выполнения бессерверных приложений, включая задачи репликации и федерации. Среда выполнения Azure Logic Apps с одним клиентом также использует модель расширяемости службы "Функции Azure" и размещена в качестве расширения в среде выполнения "Функции Azure". Такая схема обеспечивает переносимость, гибкость и дополнительную производительность рабочих процессов приложений логики, а также другие возможности и преимущества, унаследованные от платформы "Функции Azure" и экосистемы службы приложений Azure.

Сведения о репликации и федерации см. в следующей документации:

Шаблоны задач репликации

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

Тип ресурса Источник и целевой объект репликации
Пространство имен Центров событий Azure — Экземпляр Центров событий в экземпляр Концентраторов событий
— Экземпляр Центров событий для служебная шина очереди
— Экземпляр центра событий к разделу служебной шины
Пространство имен Служебной шины Azure — очередь служебная шина в очередь служебная шина
— очередь служебная шина для служебная шина раздела
— раздел служебная шина для служебная шина раздела
— очередь служебная шина экземпляру Центров событий
— раздел служебная шина для очереди служебная шина
— раздел служебная шина экземпляру Центров событий

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

Чтобы зеркально отобразить сообщения, используйте раздел в качестве источника, в котором подписка "main" действует как конечная точка очереди. Таким образом, целевой объект получает копию каждого сообщения из источника.

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

Топология репликации и рабочий процесс

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

Топология репликации для центров событий

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

Conceptual diagram showing topology for replication task powered by a

Сведения о репликации и федерации в центрах событий Azure см. в следующей документации:

Топология репликации для служебной шины

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

Conceptual diagram showing topology for replication task powered by

Сведения о репликации и федерации в служебной шине Azure см. в следующей документации:

Сопоставления метаданных и свойств

Для центров событий следующие элементы, полученные из пространства имен центров событий источника, заменяются новыми значениями, назначенными службой в целевом пространстве имен центров событий: присвоенные службой метаданные события, исходное время постановки в очередь, порядковый номер и смещение. Однако для вспомогательных функций и задач репликации в примерах, предоставленных Azure, исходные значения сохраняются в свойствах пользователя: repl-enqueue-time (строка ISO8601), repl-sequence и repl-offset. Эти свойства имеют тип string и содержат переведенные в строковый вид значения соответствующих исходных свойств. Если событие пересылается несколько раз, к любым существующим свойствам добавляются присвоенные службой метаданные из очередного источника, а значения при этом разделяются точкой с запятой. Дополнительные сведения см. в разделе Присвоенные службой метаданные — Шаблоны задач репликации событий.

Для служебной шины следующие элементы, полученные из очереди и раздела исходной служебной шины, заменяются новыми назначенными службой значениями в очереди или разделе целевой служебной шины: присвоенные службе метаданные сообщения, исходное время постановки в очередь и порядковый номер. Однако для задач репликации по умолчанию в примерах, предоставленных Azure, исходные значения сохраняются в свойствах пользователя: repl-enqueue-time (строка ISO8601) и repl-sequence. Эти свойства имеют тип string и содержат переведенные в строковый вид значения соответствующих исходных свойств. Если сообщение пересылается несколько раз, к уже существующим свойствам добавляются метаданные службы из очередного источника, а значения при этом разделяются точкой с запятой. Дополнительные сведения см. в разделе Присвоенные службой метаданные — Шаблоны задач репликации сообщений.

При репликации задачи из служебной шины в центры событий задача сопоставляет только свойствоUser Properties со свойством Properties. Однако при репликации задачи из центров событий в служебную шину задача сопоставляет следующие свойства:

Из центров событий В служебную шину
ContentType ContentType
CorrelationId CorrelationId
MessageId MessageId
PartitionKey PartitionKey SessionId
Свойства Свойства пользователя
ReplyTo ReplyTo
ReplyToGroupName ReplyToSessionId
Тема Этикетка
По По

Сохранение порядка

Для центров событий репликация между одним и тем же количеством секций создает клонов 1:1 без изменений в событиях, но также может содержать дубликаты. Однако репликация между разными количествами секций сохраняется только относительный порядок событий на основе ключа секции, но также может содержать дубликаты. Дополнительные сведения см. в разделе Потоки и сохранение порядка.

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

Важно!

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

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

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

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

Цены

Задачей репликации управляет рабочий процесс без отслеживания состояния в ресурсе приложения логики (стандартная версия), который размещается в Azure Logic Apps с одним клиентом. При создании этой задачи репликации начисление платы начнется немедленно. Использование, измерение, выставление счетов и модель ценообразования соответствуют стандартному плану размещения и ценовым категориям стандартного плана.

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

Примечание.

Если приложение запускается с одним экземпляром плана WS1, а затем масштабируется до двух экземпляров, стоимость будет вдвое больше стоимости WS1, при условии, что планы выполняются весь день. При увеличении масштаба приложения до плана WS2 и использовании одного экземпляра стоимость фактически совпадает с двумя экземплярами плана WS1. Аналогично, при масштабировании приложения до плана WS3 и использовании одного экземпляра стоимость фактически аналогична двум экземплярам плана WS2 или четырем экземплярам плана WS1.

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

Примечание.

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

Горизонтальное масштабирование центров событий

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

В примерах в этом разделе в качестве значения по умолчанию для счетчика предварительной выборки и максимального размера пакета событий используется "800" при условии, что размер события составляет 1 КБ. В зависимости от размеров событий может потребоваться настроить количество для предварительной выборки и максимальный размер пакета событий. Например, если размер события превышает 1 КБ, может потребоваться уменьшить значения счетчика предварительной выборки и максимальный размер пакета событий.

Ценовая категория Количество секций Событий в секунду Максимальное количество ускорений* Постоянно готовые экземпляры* Счетчик предварительной выборки Максимальный размер пакета событий*
WS1 1 В тысячах 1 1 800 800
WS1 2 2000 1 1 800 800
WS2 4 4000 2 1 800 800
WS2 8 8000 2 1 800 800
WS3 16 16 000 2 1 800 800
WS3 32 32000 3 1 800 800

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

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

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

Совет. Рекомендуется выбрать максимальное значение выше, чем может потребоваться, чтобы платформа могла масштабироваться для более высокой нагрузки, если это необходимо, так как плата за неиспользуемые экземпляры не взимается.

Дополнительные сведения см. в следующей документации, так как план "Стандартный рабочий процесс" предоставляет некоторые аспекты с планом Функции Azure Premium:

- Параметры плана и номера SKU — План Функций Azure категории "Премиум"
- Что такое ускорение облака?

Всегда готовые экземпляры Минимальное число экземпляров, которые всегда готовы для размещения приложения. Минимальное число всегда равно 1. Чтобы изменить это значение, ознакомьтесь с разделом Изменение параметров масштабирования плана размещения далее в этой статье.

Примечание. Плата за все экземпляры, превышающие размер вашего плана, взимается независимо от того, работают ли они, когда выделены вам.

Дополнительные сведения см. в следующей документации, так как стандартный план рабочего процесса использует несколько аспектов плана Функций Azure категории "Премиум": Всегда готовые экземпляры — Функции Azure категории "Премиум".

Счетчик предварительной выборки Значение по умолчанию для параметра приложения AzureFunctionsJobHost__extensions__eventHubs__eventProcessorOptions__prefetchCount в ресурсе приложения логики, которое определяет счетчик предварительной выборки, используемый базовым классом EventProcessorHost. Чтобы добавить или указать другое значение для этого параметра приложения, ознакомьтесь со сведениями об управлении параметрами приложения — local.settings.json, например:

- Имя: AzureFunctionsJobHost__extensions__eventHubs__eventProcessorOptions__prefetchCount
- Значение: 800 (не максимальное ограничение)

Дополнительные сведения о свойстве см. в следующей prefetchCount документации:

- host.json settings — Триггер и привязки Центров событий Azure для службы "Функции Azure"
- Свойство EventProcessorOptions.PrefetchCount
- Балансировка нагрузки секций между несколькими экземплярами приложения.
- Узел обработчика событий
- Класс EventProcessorHost

Максимальный размер пакета событий Значение по умолчанию для параметра приложения AzureFunctionsJobHost__extensions__eventHubs__eventProcessorOptions__maxBatchSize в ресурсе приложения логики, которое определяет максимальное число событий, получаемых каждым циклом получения. Чтобы добавить или указать другое значение для этого параметра приложения, ознакомьтесь со сведениями об управлении параметрами приложения — local.settings.json, например:

- Имя: AzureFunctionsJobHost__extensions__eventHubs__eventProcessorOptions__maxBatchSize
- Значение: 800 (не максимальное ограничение)

Дополнительные сведения о свойстве см. в следующей maxBatchSize документации:

- host.json settings — Триггер и привязки Центров событий Azure для службы "Функции Azure"
- Свойство EventProcessorOptions.MaxBatchSize
- Узел обработчика событий

Масштабирование служебной шины

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

В примерах в этом разделе в качестве значения по умолчанию для счетчика предварительной выборки и максимального количества сообщений используется "800" при условии, что размер сообщения составляет 1 КБ. В зависимости от размеров сообщений может потребоваться настроить количество для предварительной выборки и максимальное количество сообщений. Например, если размер сообщения превышает 1 КБ, может потребоваться уменьшить значения счетчика предварительной выборки и максимальное количество сообщений.

Ценовая категория Сообщений в секунду Максимальное количество ускорений* Постоянно готовые экземпляры* Счетчик предварительной выборки Максимальное количество сообщений*
WS1 2000 1 1 800 800
WS2 2500 1 1 800 800
WS3 3500 1 1 800 800

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

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

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

Совет. Рекомендуется выбрать максимальное значение выше, чем может потребоваться, чтобы платформа могла масштабироваться для более высокой нагрузки, если это необходимо, так как плата за неиспользуемые экземпляры не взимается.

Дополнительные сведения см. в следующей документации, так как план "Стандартный рабочий процесс" предоставляет некоторые аспекты с планом Функции Azure Premium:

- Параметры плана и номера SKU — План Функций Azure категории "Премиум"
- Что такое ускорение облака?

Всегда готовые экземпляры Минимальное число экземпляров, которые всегда готовы для размещения приложения. Минимальное число всегда равно 1. Чтобы изменить это значение, ознакомьтесь с разделом Изменение параметров масштабирования плана размещения далее в этой статье.

Примечание. Плата за все экземпляры, превышающие размер вашего плана, взимается независимо от того, работают ли они, когда выделены вам.

Дополнительные сведения см. в следующей документации, так как стандартный план рабочего процесса использует несколько аспектов плана Функций Azure категории "Премиум": Всегда готовые экземпляры — Функции Azure категории "Премиум".

Счетчик предварительной выборки Значение по умолчанию для параметра приложения AzureFunctionsJobHost__extensions__serviceBus__prefetchCount в ресурсе приложения логики, которое определяет счетчик предварительной выборки, используемый базовым классом ServiceBusProcessor. Чтобы добавить или указать другое значение для этого параметра приложения, ознакомьтесь со сведениями об управлении параметрами приложения — local.settings.json, например:

- Имя: AzureFunctionsJobHost__extensions__eventHubs__eventProcessorOptions__prefetchCount
- Значение: 800 (не максимальное ограничение)

Дополнительные сведения о свойстве см. в следующей prefetchCount документации:

- host.json settings — Привязки служебной шины Azure для службы "Функции Azure"
- Свойство ServiceBusProcessor.PrefetchCount
- Класс ServiceBusProcessor

Максимальное число сообщений Значение по умолчанию для параметра приложения AzureFunctionsJobHost__extensions__serviceBus__batchOptions__maxMessageCount в ресурсе приложения логики, которое определяет максимальное количество сообщений, отправляемых при активации. Чтобы добавить или указать другое значение для этого параметра приложения, ознакомьтесь со сведениями об управлении параметрами приложения — local.settings.json, например:

- Имя: AzureFunctionsJobHost__extensions__serviceBus__batchOptions__maxMessageCount
- Значение: 800 (не максимальное ограничение)

Дополнительные сведения о свойстве maxMessageCount см. в следующей документации: Параметры host.json — Привязки Центров событий Azure для службы "Функции Azure".

Необходимые компоненты

  • Учетная запись и подписка Azure. Если у вас нет ее, вы можете зарегистрироваться для получения бесплатной учетной записи Azure.

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

  • Ресурс приложения логики (стандартная версия), который можно повторно использовать при создании задачи репликации. Таким образом, вы можете настроить этот ресурс специально для задачи репликации, например, выбрав план размещения и ценовую категорию в соответствии с потребностями вашего сценария репликации, например емкость, пропускная способность и масштабирование. Хотя этот ресурс можно создать при создании задачи репликации, вы не сможете изменить регион, план размещения и ценовую категорию. В следующем списке приведены другие причины и рекомендации по созданному ранее ресурсу приложения логики.

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

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

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

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

    Дополнительные сведения см. в разделе Создание рабочих процессов интеграции в Azure Logic Apps с одним клиентом (стандартная версия) на портале Azure.

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

    Чтобы найти строку подключения для целевой сущности, выполните следующие действия.

    1. На портале Azure перейдите к целевому пространству имен.

    2. В меню навигации пространства имен в разделе Параметры выберите Политики общего доступа.

    3. В открывшейся области Политики общего доступа в разделе Политика выберите RootManageSharedAccessKey.

    4. В открывшейся области Политика SAS: RootManageSharedAccessKey скопируйте значение Основная строка подключения.

    5. Сохраните строку подключения в любое место, чтобы позднее можно было использовать ее для подключения к целевому пространству имен.

Соглашения об именах

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

Имя источника Пример Приложение репликации Пример Имя целевого объекта Пример
Пространство имен: <name>-sb-<region> fabrikam-sb-weu Приложение логики: <name-source-region-target-region> fabrikam-rep-weu-wus Пространство имен: <name>-sb-<region> fabrikam-sb-wus
Очередь: <name> jobs-transfer Рабочий процесс: <name> jobs-transfer-workflow Очередь: <name> jobs

Создание задачи репликации

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

  1. В портале Azure найдите пространство имен служебной шины, которую нужно использовать в качестве источника.

  2. В меню навигации пространства имен в разделе Автоматизация выберите Задачи (Предварительная версия).

    Screenshot showing Azure portal and Azure Service Bus namespace menu with

  3. В области Задачи выберите Добавить задачу, чтобы выбрать шаблон задачи.

    Screenshot showing the

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

    Этот пример можно продолжить, выбрав шаблон задачи Репликация из очереди служебной шины в очередь, которая реплицирует содержимое между очередями служебной шины.

    Screenshot showing the

  5. В области Проверка подлинности в разделе Подключения нажмите Создать для каждого подключения, которое отображается в задаче, чтобы предоставить всем этим подключениям учетные данные для проверки подлинности. Типы подключений в каждой задаче зависят от задачи.

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

    Screenshot showing selected

  6. Укажите необходимые сведения о целевом объекте и нажмите кнопку Создать.

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

    Screenshot showing

    Совет

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

    1. В области Подключение выберите Подключение через строку подключения.

    2. В поле Строка подключения введите строку подключения для целевого пространства имен.

    В следующем примере показано успешно созданное соединение:

    Screenshot showing

  7. После завершения всех подключений нажмите кнопку Далее: настроить.

  8. На вкладке Конфигурация укажите имя задачи и другие необходимые для задачи сведения.

    Примечание.

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

    Например, если вы назначите имя задачи fabrikam-rep-weu-wus, но позже измените базовый рабочий процесс для другой цели, вы не сможете изменить имя задачи для соответствия.

    1. Чтобы добавить рабочий процесс задачи в существующий ресурс приложения логики (стандартная версия), в списке Приложение логики выберите существующее приложение логики. Чтобы создать новый ресурс Приложения логики (стандартная версия), в списке Приложение логики выберите Создать новый и укажите имя, которое будет использоваться для нового приложения логики.

      Примечание.

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

    2. Когда все будет готово, выберите Просмотр и создание.

    Screenshot showing

  9. На вкладке Проверка и создание подтвердите ресурсы Azure, которые требуются для работы задачи репликации.

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

      В следующем примере показана вкладка Проверка и создание, если вы решили создать новое приложение логики.

      Screenshot showing

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

      В следующем примере показана вкладка Проверка и создание, если вы решили повторно использовать существующее приложение логики.

      Screenshot showing

    Примечание.

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

  10. Когда будете готовы, нажмите Создать.

    Созданная задача, которая выполняется автоматически, теперь отображается в списке Задачи.

    Совет

    Если задача не отображается в этом списке сразу, попробуйте обновить список задач или немного подождите, прежде чем выполнять обновление. На панели инструментов нажмите кнопку Обновить.

    Screenshot showing

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

Настройка политик повтора

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

Проверка журнала задачи

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

  1. На портале Azure найдите ресурс или сущность, где находится журнал задачи, который нужно просмотреть.

    В этом примере этим ресурсом является пространство имен служебной шины.

  2. В Параметрах меню навигации по ресурсам в разделе Автоматизация выберите Задачи (предварительная версия).

  3. В области Задачи найдите задачу, информацию о которой нужно просмотреть. В столбце Выполнения этой задачи выберите Посмотреть.

    Screenshot showing the

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

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

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

    Screenshot showing a task's runs, their statuses, and other information.

    В следующей таблице приведены возможные состояния выполнения.

    Метка состояния Description
    Отменено Задача была отменена во время выполнения.
    Неудачно У задачи имеется по крайней мере одно действие, завершившееся сбоем, а последующие действия по устранению этого сбоя отсутствуют.
    Выполнение Задача выполняется в данный момент.
    Успешно Все действия выполнены успешно. Задача еще может завершиться успешно, если произошел сбой какого-либо действия, при этом имеются последующие действия по устранению этого сбоя.
    Ожидание Запуск не выполнен и приостановлен, так как еще выполняется раннее запущенный экземпляр задачи.
  5. Чтобы просмотреть состояния и другие сведения о каждом шаге запуска, нужно выбрать этот запуск.

    Откроется область сведений о запуске, в которой будет отображаться выполняемый базовый рабочий процесс.

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

    • Для каждого шага отображается его состояние и продолжительность выполнения. Шагам с продолжительностью 0 секунд потребовалось для выполнения менее 1 секунды.

    Screenshot showing each step in the run, status, and run duration in the workflow.

  6. Чтобы проверить входные и выходные данные для каждого шага, выберите шаг, который открывает область, в которой отображаются входные и выходные данные, а также сведения о свойствах для этого шага.

    В этом примере показаны входные данные для триггера служебной шины.

    Screenshot showing the trigger inputs, outputs, and properties.

Сведения о создании собственных автоматизированных рабочих процессов по интеграции приложений, данных, служб и систем вне контекста задач репликации для ресурсов Azure можно получить в разделе Создание рабочих процессов интеграции в Azure Logic Apps с одним клиентом (стандартная версия) на портале Azure.

Мониторинг задач репликации

Чтобы проверить производительность и работоспособность задачи репликации или базового рабочего процесса приложения логики, можно использовать функцию Application Insights в Azure Monitor. Схема приложений Application Insights — это полезное визуальное средство, которое можно использовать для наблюдения за задачами репликации. Эта схема автоматически создается на основе захваченных данных мониторинга, что позволяет исследовать производительность и надежность исходных и целевых передач задач репликации. Для немедленной диагностики и низкой задержки при визуализации сведений журнала можно воспользоваться представленным на портале инструментом Интерактивные метрики, который также является возможностью Azure Monitor.

Изменение задачи

Для изменения задачи имеются следующие возможности:

Изменение задачи в режиме "inline"

  1. На портале Azure найдите ресурс, к которому принадлежит изменяемая задача.

  2. В меню навигации по ресурсам в разделе Автоматизация выберите Задачи (предварительная версия).

  3. В списке задач найдите задачу, которую нужно обновить. Откройте меню задачи, отображаемое в виде многоточия (...) и выберите пункт Изменить в режиме "in-line".

    Screenshot showing the opened ellipses menu and the selected option,

    По умолчанию при этом откроется вкладка Проверка подлинности, где отображаются существующие соединения.

  4. Чтобы добавить новые учетные данные для проверки подлинности или выбрать другие существующие учетные данные для проверки подлинности, применительно к какому-либо подключению, откройте меню с многоточием (...) и выберите либо команду Добавить новое подключение, либо другие учетные данные для проверки подлинности при их наличии.

    Примечание.

    Можно изменить только целевое соединение, а не соединение с источником.

    Screenshot showing the

  5. Чтобы обновить другие свойства задачи, нажмите кнопку Далее: конфигурация.

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

    Screenshot showing the

  6. По завершении выберите Сохранить.

Изменение базового рабочего процесса задачи

Можно изменить базовый рабочий процесс, лежащий в основе задачи репликации, который изменяет исходную конфигурацию для созданной задачи, но не сам шаблон задачи. После внесения и сохранения изменений отредактированная задача больше не выполняет ту же функцию, что и исходная задача. Если требуется задача, которая выполняет исходную функциональность, может потребоваться создать новую задачу с тем же шаблоном. Если вы не хотите повторно создавать исходную задачу, не изменяйте рабочий процесс за пределами задачи с помощью конструктора. Вместо этого создайте рабочий процесс приложения логики (стандартная версия) без отслеживания состояния для удовлетворения ваших потребностей в интеграции. Дополнительные сведения см. в разделе Создание рабочих процессов интеграции в Azure Logic Apps с одним клиентом (стандартная версия) на портале Azure.

  1. На портале Azure найдите ресурс, к которому принадлежит изменяемая задача.

  2. В меню навигации по ресурсам в разделе Автоматизация выберите Задачи.

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

    Screenshot showing the opened ellipses menu and the selected option,

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

    Screenshot showing designer and underlying workflow.

    Теперь можно изменить триггер и действия рабочего процесса, а также их свойства.

  4. Чтобы посмотреть свойства триггера или действия, выберите этот триггер или действие.

    Screenshot showing the Service Bus trigger properties pane.

    В этом примере свойство триггера IsSessionsEnabled изменяется на Да.

  5. Чтобы сохранить внесенные изменения, на панели инструментов конструктора щелкните Сохранить.

    Screenshot showing the designer toolbar and the selected

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

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

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

    Screenshot showing the workflow's run details with the trigger's inputs, outputs, and properties.

  7. Чтобы отключить рабочий процесс, чтобы выполнение задачи не продолжалось, на панели инструментов Обзор выберите Отключить. Дополнительные сведения см. в разделах Отключение или включение рабочих процессов с одним клиентом.

Настройка отработки отказа для центров событий Azure

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

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

  1. В портале Azure откройте ресурс приложения логики или базовый рабочий процесс, лежащий в основе задачи репликации.

    Примечание.

    Ресурс приложения логики должен содержать только рабочие процессы задачи репликации.

  2. В меню навигации ресурса или рабочего процесса выберите Обзор. На панели инструментов Обзор выберите Отключить для рабочего процесса или нажмите кнопку Остановить для ресурса приложения логики.

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

    1. В меню ресурса приложения логики, в разделе Настройки выберите Конфигурация.

    2. В области Конфигурация на вкладке Параметры приложения выберите параметр приложения AzureWebJobsStorage .

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

      Примечание.

      Если параметр приложения не отображается в списке, выберите пункт Показать значения.

    3. Выберите параметр приложения AzureWebJobsStorage, чтобы можно было просмотреть имя учетной записи хранения.

    В этом примере показано, как найти имя для этой учетной записи хранения, как показано здесь storagefabrikamreplb0c:

    Screenshot showing the underlying logic app resource's

    1. Чтобы убедиться, что ресурс учетной записи хранения существует, в поле поиска портала Azure введите имя, а затем выберите учетную запись хранения, например:

    Screenshot showing the Azure portal search box with the storage account name entered.

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

    1. Скачайте, установите и откройте последнюю версию Обозревателя службы хранилища Azure для рабочего стола, если у вас она не установлена.

      Примечание.

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

      Несмотря на то, что папки контейнеров можно удалить с помощью команды PowerShell Remove-AzStorageDirectory, эта команда работает только с пустыми папками.

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

    3. В окне проводника под именем подписки Azure перейдите в раздел Учетные записи хранения>{your-storage-account-name}>Контейнеры больших двоичных объектов>azure-webjobs-eventhub.

      Примечание.

      Если папка azure-webjobs-eventhub не существует, задача репликации еще не выполнялась. Папка отображается только после того, как задача репликации будет запущена по крайней мере один раз.

      Screenshot showing the Azure Storage Explorer with the storage account and blob container open to show the selected

    4. В открывшейся области azure-webjobs-eventhub выберите папку пространства имен центров событий с именем в следующем формате: <source-Event-Hubs-namespace-name>.servicebus.windows.net.

    5. После открытия папки пространства имен в области azure-webjobs-eventhub выберите папку <former-source-entity-name>. В контекстном меню панели инструментов или папки выберите Удалить, например:

      Screenshot showing the former source Event Hubs entity folder selected with the

    6. Подтвердите, что вы действительно хотите удалить папку.

  5. Вернитесь к ресурс или рабочему процессу приложения логики за пределами задачи репликации. Перезапустите приложение логики или снова включите рабочий процесс.

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

Дополнительные сведения о геоизбыточном аварийном восстановлении см. в следующей документации:

Изменение параметров масштабирования плана размещения

  1. В портале Azure откройте базовый ресурс приложения логики для задачи репликации.

  2. В меню ресурсов приложения логики в разделе Параметры выберите Горизонтально увеличить масштаб (план службы приложений).

    Screenshot showing the hosting plan settings for maximum bursts, minimum instances, always ready instances, and scale out limit enforcement.

  3. В зависимости от потребностей вашего сценария, в разделе Планирование масштабирования и Масштабирование приложения измените значения для параметров "Максимальное значение" и "Всегда готовые экземпляры", соответственно.

  4. Когда все будет готово, на панели инструментов области Горизонтально увеличить масштаб (план службы приложений) нажмите кнопку Сохранить.

Дополнительные сведения см. в следующей документации, так как стандартный план рабочего процесса использует несколько аспектов плана Функций Azure категории "Премиум":

Проблемы и сбои репликации

В этом разделе описываются возможные варианты сбоев или прекращения работы репликации.

  • Ограничения на размер сообщений

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

    Например, предположим, что размер сообщения составляет 1 МБ. Когда задача добавляет свойства репликации, размер сообщения становится больше 1 МБ. Исходящий вызов, пытающийся отправить сообщение, завершится ошибкой.

  • Ключи секции

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

Следующие шаги