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


Надежность в Azure Queue Storage

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

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

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

Note

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

Рекомендации по развертыванию в рабочей среде для обеспечения надежности

Для рабочих сред:

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

  • Если вам нужна устойчивость к сбоям в регионе и основной регион учетной записи хранения, рекомендуется включить геоизбыточное хранилище (GRS). GRS асинхронно реплицирует данные в парный регион. В поддерживаемых регионах можно объединить геоизбыточное использование с избыточностью между зонами с помощью геоизбыточного хранилища (GZRS).

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

Обзор архитектуры надежности

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

Локально избыточное хранилище (LRS) реплицирует данные в учетных записях хранения в одну или несколько зон доступности Azure, расположенных в основном регионе вашего выбора. Хотя нет возможности выбрать предпочтительную зону доступности, Azure может перемещать или расширять учетные записи LRS между зонами, чтобы повысить балансировку нагрузки. Нет никаких гарантий, что ваши данные будут распространяться по зонам. Дополнительные сведения о зонах доступности см. в разделе "Что такое зоны доступности?".

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

Хранилище, избыточное между зонами (ZRS), геоизбыточное хранилище (GRS) и геоизбыточное хранилище (GZRS) обеспечивают дополнительную защиту. В этой статье подробно описаны эти параметры.

Устойчивость к временным сбоям

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

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

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

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

Клиентские библиотеки хранилища очередей включают встроенные политики повторных попыток, которые автоматически обрабатывают распространенные временные сбои, такие как время ожидания сети, недоступность временной службы (HTTP 503) и ответы регулирования (HTTP 429). Когда приложение обнаруживает эти временные условия, клиентские библиотеки автоматически повторяют операции с помощью экспоненциальных стратегий обратной отката.

Чтобы эффективно управлять временными сбоями с помощью хранилища очередей, можно выполнить следующие действия:

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

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

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

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

Устойчивость к сбоям зоны доступности

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

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

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

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

Requirements

  • Типы учетных записей хранения: Для включения ZRS для хранилища очередей необходимо использовать учетную запись хранения общего назначения уровня "Стандартный" версии 2. Учетные записи хранения класса Premium не поддерживают хранилище очередей.

Cost

При включении избыточного между зонами хранилища (ZRS) плата взимается по сравнению с локальным избыточным хранилищем (LRS) из-за дополнительных затрат на репликацию и хранение.

Подробные сведения о ценах см. в разделе "Цены на хранилище очередей".

Настройка поддержки зоны доступности

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

    1. Создайте учетную запись хранения и выберите ZRS, GZRS или геоизбыточное хранилище (RA-GZRS) для чтения в качестве параметра избыточности во время создания учетной записи.

    2. Создайте очередь.

  • Изменение типа репликации. Сведения о том, как изменить существующую учетную запись хранения на хранилище, избыточное между зонами (ZRS), а также о параметрах конфигурации и требованиях, см. в статье "Изменение репликации учетной записи хранения".

  • Отключите избыточность в зоне. Преобразуйте учетные записи ZRS обратно в незональную конфигурацию, например локально избыточное хранилище (LRS), используя тот же процесс изменения конфигурации избыточности.

Поведение, когда все зоны работоспособны

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

  • Маршрутизация трафика между зонами: Служба хранилища Azure с хранилищем с избыточностью между зонами (ZRS) автоматически распределяет запросы между кластерами хранилища в нескольких зонах доступности. Распределение трафика прозрачно для приложений и не требует настройки на стороне клиента.

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

Поведение во время сбоя зоны

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

  • Обнаружение и ответ: Корпорация Майкрософт автоматически обнаруживает сбои зоны и инициирует процессы восстановления. Для учетных записей, избыточных между зонами (ZRS), действие клиента не требуется.

    Если зона становится недоступной, Azure выполняет обновления сети, такие как переназначение системы доменных имен (DNS).

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

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

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

  • Перенаправка трафика. Если зона становится недоступной, Azure выполняет обновления сети, такие как перенаправка системы доменных имен (DNS), чтобы запросы направлялись в оставшиеся здоровые зоны доступности. Служба сохраняет полную функциональность, используя оставшиеся активные зоны, и не требует вмешательства клиента.

Восстановление зоны

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

Тестирование на сбои в зоне

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

Устойчивость к сбоям на уровне региона

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

Important

Геоизбыточное хранилище (GRS) работает только в парных регионах Azure. Если регион учетной записи хранения не сопряжен, рассмотрите возможность использования пользовательских решений с несколькими регионами для повышения устойчивости.

Георезервное хранилище для парных регионов

Служба хранилища Azure предоставляет несколько типов GRS в парных регионах. Независимо от используемого типа GRS данные в дополнительном регионе всегда реплицируются с помощью локально избыточного хранилища (LRS). Этот подход обеспечивает защиту от сбоев оборудования в дополнительном регионе.

Геоизбыточное хранилище

  • Геоизбыточное хранилище для чтения (RA-GRS) и геоизбыточное хранилище (RA-GZRS) для чтения расширяет геоизбыточное хранилище (GRS) и геоизбыточное хранилище (GZRS) с дополнительным преимуществом доступа на чтение к вторичной конечной точке. Эти варианты идеально подходят для приложений, предназначенных для приложений с высоким уровнем доступности, критически важных для бизнеса. В маловероятном случае, когда основная конечная точка испытывает сбой, приложения, настроенные для доступа на чтение к дополнительному региону, могут продолжать работать.

Типы аварийного переключения

Служба хранилища Azure поддерживает три типа отработки отказа для различных сценариев.

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

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

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

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

Requirements

  • Типы учетных записей хранения: Геоизбыточное хранилище (GRS) и инициированные заказчиком процедуры отработки отказов и восстановления доступны во всех парных регионах Azure, поддерживающих учетные записи хранения Azure общего назначения версии 2.

Considerations

При реализации хранилища очередей в нескольких регионах следует учитывать следующие важные факторы.

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

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

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

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

Cost

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

Подробные сведения о ценах см. в разделе "Цены на хранилище очередей".

Настройка поддержки нескольких регионов

  • Создайте учетную запись геоизбыточного хранилища (GRS). Чтобы создать учетную запись GRS, ознакомьтесь с разделом "Создание учетной записи хранения " и выбором GRS, геоизбыточного хранилища (RA-GRS), геозоны избыточного хранилища (GZRS) или геоизбыточного хранилища (RA-GZRS) для чтения (RA-GZRS).
  • Включите геоизбыточное использование существующей учетной записи хранения. Сведения о преобразовании существующей учетной записи хранения в геоизбыточное хранилище (GRS) см. в статье "Изменение репликации учетной записи хранения".

    Warning

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

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

  • Отключите геоизбыточность. Преобразуйте учетные записи GRS обратно в конфигурации с одним регионом, например локально избыточное хранилище (LRS) или хранилище, избыточное между зонами (ZRS), используя тот же процесс изменения конфигурации избыточности.

Поведение, когда все регионы работоспособны

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

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

    Для геоизбыточного хранилища для чтения (RA-GRS) и конфигураций геоизбыточного хранилища (RA-GZRS) для чтения приложения могут при необходимости считывать из дополнительного региона путем доступа к вторичной конечной точке. Этот подход требует явной настройки приложения и не является автоматическим. Кроме того, из-за задержки асинхронной репликации данные в дополнительном регионе могут быть немного устаревшими.

  • Репликация данных между регионами: Операции записи сначала фиксируются в основном регионе с помощью следующих настроенных типов избыточности:

    • Локально избыточное хранилище (LRS) для геоизбыточного хранилища (GRS) и RA-GRS
    • Хранилище, избыточное между зонами (ZRS) для геоизбыточного хранилища (GZRS) и RA-GZRS

    После успешного завершения в основном регионе данные асинхронно реплицируются в дополнительный регион, где он хранится с помощью LRS.

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

Поведение во время сбоя региона

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

  • Отработка отказа, управляемого клиентом (незапланированная): Используйте незапланированную отработку отказа, если хранилище в основном регионе недоступно.

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

      • Отображаются ли проблемы с доступом к учетной записи хранения в основном регионе Azure Resource Health

      • Советует ли корпорация Майкрософт выполнять отработку отказа в другой регион

      Warning

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

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

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

    • Ожидаемое время простоя: Количество ожидаемого простоя часто называется целевой задачей времени восстановления (RTO). Отказоустойчивость, контролируемая клиентом, обычно занимает до 60 минут в зависимости от размера аккаунта и сложности.

    • Перенаправка трафика: По завершении отработки отказа Azure автоматически обновляет конечные точки учетной записи хранения, чтобы приложения не должны быть перенастроены. Если приложение хранит записи системы доменных имен (DNS), возможно, потребуется очистить кэш, чтобы убедиться, что приложение отправляет трафик в новый первичный регион.

    • Конфигурация после отработки отказа: После завершения незапланированной отработки отказа учетная запись хранения в целевом регионе использует уровень локально избыточного хранилища (LRS). Если необходимо снова выполнить геореплицирование, необходимо повторно включить геоизбыточное хранилище (GRS) и дождаться репликации данных в новый дополнительный регион.

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

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

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

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

    • Ожидаемая потеря данных: Потеря данных не ожидается, так как процесс отработки отказа завершается только после синхронизации всех данных, что обеспечивает целевое время восстановления (RPO) равное нулю.

    • Ожидаемое время простоя: Отработка отказа обычно завершается в течение 60 минут, что означает, что ожидаемое время восстановления (RTO) составляет 60 минут в зависимости от размера учетной записи и сложности. Во время отработки отказа конечные точки основной и вторичной учетной записи хранения становятся временно недоступными для операций чтения и записи.

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

    • Конфигурация после отработки отказа: После завершения плановой отработки отказа учетная запись хранилища в целевом регионе продолжает геореплицироваться и остается на уровне GRS (Geo-Redundant Storage).

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

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

    Important

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

Восстановление региона

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

  • Отработка отказа, управляемого клиентом (незапланированная): После незапланированной отработки отказа учетная запись хранения настраивается с локальным избыточным хранилищем (LRS). Чтобы восстановить отработку отказа, необходимо повторно установить связь геоизбыточного хранилища (GRS) и дождаться репликации данных.

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

  • Отработка отказа, управляемая корпорацией Майкрософт: Если корпорация Майкрософт инициирует отработку отказа, скорее всего, произошла серьезная авария в основном регионе, а основной регион может не восстановиться. Любые временные шкалы или планы восстановления зависят от степени усилий регионального аварийного и восстановления. Следует отслеживать коммуникации Azure Service Health для получения подробной информации.

Проверка сбоев в регионе

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

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

  • Тестирование вторичной конечной точки: Для геоизбыточного хранилища (RA-GRS) и геоизбыточного хранилища (RA-GZRS) для чтения регулярно тестируют операции чтения с вторичной конечной точкой, чтобы приложение успешно считывала данные из дополнительного региона.

Индивидуальные решения для нескольких регионов для повышения устойчивости

Возможности отработки отказа между регионами службы хранилища Azure могут быть неподходящими из-за следующих причин:

  • Ваша учетная запись хранения находится в непарализованном регионе.

  • Цели вашей компании по обеспечению бесперебойной работы не достигаются с помощью времени восстановления или потери данных, которые предполагают встроенные варианты автоматического переключения.

  • Необходимо переключиться на регион, который не является парой вашего основного региона.

  • Для разных регионов требуется активная и активная конфигурация.

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

Note

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

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

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

Резервное копирование и восстановление

Хранилище очередей не предоставляет традиционных возможностей резервного копирования, таких как восстановление на определенный момент времени (PITR). Это связано с тем, что очереди предназначены для хранения временных сообщений вместо долгосрочного сохранения данных. Сообщения обычно обрабатываются и удаляются из очередей во время обычных операций приложения.

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

Соглашение об уровне обслуживания

Соглашение об уровне обслуживания (SLA) для службы хранилища Azure описывает ожидаемую доступность службы и условия, которые необходимо выполнить для достижения этого ожидания доступности. Соглашение об уровне обслуживания доступности зависит от уровня хранилища и используемого типа репликации. Дополнительные сведения см. в разделе об уровне обслуживания для веб-служб.