Достижение геоизбыточности для заданий Azure Stream Analytics

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

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

Схема геоизбыточных заданий Stream Analytics

Стратегия базы данных-источника и базы данных-получателя

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

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

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