Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Как и в случае с любыми облачными системами, внеплановые простои могут привести к неработоспособности экземпляров виртуальных машин, зоны доступности или всего региона Azure. Мы рекомендуем клиентам подготовить план на случай сбоя зоны или региона.
В этой статье приведены сведения о том, как клиенты могут создать план непрерывности бизнес-процессов и аварийного восстановления для своей реализации Кэша Azure для Redis или Кэша Azure для Redis уровня "Корпоративный".
На уровнях "Стандартный", "Премиум" и "Корпоративный" доступны разные варианты обеспечения высокой доступности.
Вариант | Описание | Доступность | Стандарт | Премиум | Предприятие |
---|---|---|---|---|---|
Стандартная репликация | Двухузловая реплицированная конфигурация в одном центре обработки данных с автоматической отработкой отказов | 99,9 % (см. дополнительные сведения) | Да | Да | Да |
Избыточность зоны | Конфигурация, реплицируемая на нескольких узлах между зонами доступности, с автоматическим переключением. | 99,9% на уровне "Премиум"; 99,99% на уровне "Корпоративный" (см. подробности) | Да | Да | Да |
Георепликация | Связанные экземпляры кэша в двух регионах с переключением отказоустойчивости, управляемым пользователем | "Премиум"; "Корпоративный" (см. подробности) | Нет | Пассивный | Активный |
Импорт и экспорт | Снимок данных в кэше в определенный момент времени. | 99,9 % (см. дополнительные сведения) | No | Да | Да |
Сохраняемость | Периодическое сохранение данных в учетной записи хранения. | 99,9 % (см. дополнительные сведения) | Нет | Да | Предварительный просмотр |
Стандартная репликация для обеспечения высокой доступности.
Применимые уровни: Стандартный, Премиум, Корпоративный, Enterprise Flash.
Рекомендуется: высокий уровень доступности
Кэш Azure для Redis имеет архитектуру высокой доступности, которая гарантирует работу управляемого экземпляра, даже если сбои влияют на базовые виртуальные машины. Планируется ли сбой или незапланированный сбой, Кэш Azure для Redis обеспечивает более высокую процентную доступность, чем то, что достигается путем размещения Redis на одной виртуальной машине.
По умолчанию Azure Cache для Redis в соответствующих уровнях работает на паре серверов Redis. Два сервера располагаются на выделенных виртуальных машинах. Redis с открытым исходным кодом позволяет только одному серверу обрабатывать запросы на запись данных.
При использовании Кэша Azure для Redis один сервер является основным узлом, а второй — репликой. После подготовки серверных узлов кэш Azure для Redis назначает им основные и резервные роли. Основной узел обычно отвечает за обслуживание запросов на запись и чтение от клиентов. При выполнении операции записи он фиксирует новый ключ и обновление ключа во внутренней памяти и немедленно отправляет ответ клиенту. Система асинхронно передаёт операцию в реплику.
Примечание.
Обычно клиент Кэша Azure для Redis обменивается данными с основным узлом в кэше для обработки всех запросов на чтение и запись. Некоторые клиенты можно настроить для чтения с узла реплики.
Если ведущий узел в кэше недоступен, реплика автоматически становится новым ведущим узлом. Этот процесс называется аварийным переключением. Аварийное переключение — это просто два узла, первичный/реплика, смена ролей, реплика/первичный, при этом один из узлов может быть в автономном режиме в течение нескольких минут. В большинстве случаев переключений при отказе главные узлы и узлы реплики координируют передачу, поэтому у вас почти нулевое время без главного.
Бывший основной сервер кратко отключается, чтобы получать обновления от нового основного сервера. Затем реплика снова становится "онлайн" и снова присоединяется к кэшу, полностью синхронизированному. Ключ заключается в том, что если узел недоступен, это временное состояние, и он возвращается в сеть.
Типичная последовательность переключения выглядит следующим образом, когда основной сервер нуждается в обслуживании:
- Основные узлы и узлы-реплики согласовывают скоординированный переход на резервы и обмен ролями.
- Реплика (ранее основная) отключается для перезагрузки.
- Через несколько секунд или минут реплика снова становится онлайн.
- Реплика синхронизирует данные с основного сервера.
Основной узел может выйти из строя в рамках планового обслуживания, например при обновлении программного обеспечения Redis или операционной системы. Он также может перестать работать вследствие незапланированных событий, например сбоев основного оборудования, программного обеспечения или сети. В статье Переключение при отказе и установка исправлений для Кэша Azure для Redis приведено подробное описание различных типов переключения при отказе. На протяжении всего срока службы кэш Azure для Redis подвергается множеству сбоев. Архитектура высокого уровня доступности предназначена для того, чтобы сделать эти изменения внутри кэша максимально незаметными для клиентов.
Кроме того, кэш Azure для Redis предоставляет дополнительные узлы реплик на уровне "Премиум". Для кэша с несколькими репликами можно настроить до трех узлов реплик. Наличие большего количества реплик обычно повышает отказоустойчивость из-за наличия узлов, являющихся резервными для основного узла. Даже при наличии дополнительных реплик экземпляр Azure Cache для Redis все равно может серьезно пострадать от сбоя центра обработки данных или зоны доступности. Можно увеличить доступность кэша, используя несколько реплик с зональной избыточностью.
Зональная избыточность
Применимые уровни: Стандартный, Премиум, Корпоративный, Enterprise Flash.
Рекомендуется: высокий уровень доступности, аварийное восстановление — внутри региона
Кэш Azure для Redis поддерживает зонально-избыточные конфигурации на уровнях "Стандартный", "Премиум" и "Enterprise". Кэш с зональной избыточностью может размещать свои узлы в разных зонах доступности Azure в одном регионе. Это устраняет простои центра обработки данных или зоны доступности как единой точки отказа и увеличивает общую доступность кэша.
Если кэш настроен на использование двух или более зон, как описано ранее в статье, узлы кэша создаются в разных зонах. Когда зона прекращает работу, становятся доступны узлы кэша в других зонах для сохранения нормальной работы кэша.
Внимание
Кэш Azure для Redis по умолчанию создает зонально избыточные кэши для премиум и стандартных уровней с помощью Automatic_Zonal_Allocation в регионах, поддерживающих зоны. Дополнительные сведения см. в "Включение зональной избыточности для Кэш Azure для Redis".
Уровень "Премиум"
На следующей схеме показана конфигурация с зональной избыточностью для уровня "Премиум".
Кэш Azure для Redis поочередно распределяет узлы в кэше с зональной избыточностью по выбранным зонам доступности. Он также определяет узел, который служит первичным изначально.
Опыт снижения уровня зоны для категории "Премиум"
Кэш с избыточностью между зонами обеспечивает автоматическое отказоустойчивость. Если текущий первичный узел недоступен, одна из реплик перенимает на себя обязанности. Приложение может столкнуться с более высоким временем отклика кэша, если новый основной узел находится в другой зоне доступности. Зоны доступности разделены географически. При переходе из одной зоны доступности в другую изменяется физическое расстояние между местом расположения приложения и кэша. Это изменение влияет на задержки при обмене данными по сети в обоих направлениях между приложением до кэшем. Ожидается, что увеличение задержки будет в приемлемом диапазоне для большинства приложений. Рекомендуем протестировать приложение, чтобы убедиться в его успешной работе с зонально-избыточным кэшем.
Уровни "Корпоративный" и Enterprise Flash
Кэш на любом из уровней категории "Корпоративный" работает в кластере Redis Enterprise. Для формирования кворума всегда требуется нечетное количество узлов сервера. По умолчанию он состоит из трех узлов, каждый из которых располагается на выделенной виртуальной машине.
- Кэш Enterprise имеет два узла данных одинакового размера и один узел кворума меньшего размера.
- Кэш Enterprise Flash состоит из трех узлов данных одинакового размера.
Кластер Enterprise внутри делит данные Azure Cache for Redis на разделы. Каждый раздел имеет основную версию и, как минимум, одну реплику. Каждый узел данных содержит один или несколько разделов. Кластер Enterprise гарантирует, что основная версия и реплики любого раздела никогда не располагаются в одном узле данных. Разделы асинхронно реплицируют данные из основных версий в соответствующие реплики.
Опыт уменьшения зоны для корпоративных уровней
Когда узел данных становится недоступным или происходит разделение сети, выполняется отказоустойчивость, аналогичная описанной в Стандартная репликация. Кластер Enterprise использует модель на основе кворума, чтобы определить, какие выжившие узлы участвуют в новом кворуме. При необходимости выполняется продвижение разделов реплик в этих узлах до основных.
Доступность в регионах
Кэши уровня "Премиум" и "Стандарт" с избыточностью между зонами доступны в следующих регионах:
Америки | Европа | Ближний Восток | Африка | Азиатско-Тихоокеанский регион |
---|---|---|---|---|
Южная Бразилия | Центральная Франция | Центральный Катар | Северная часть ЮАР | Восточная Австралия |
Центральная Канада | Северная Италия | Северная часть ОАЭ; | Центральная Индия | |
Центральная часть США | Центрально-Западная Германия | Израиль, центральный регион | Восточная Япония | |
Восточная часть США | Восточная Норвегия; | |||
Восточная часть США 2 | Северная Европа | Юго-Восточная Азия | ||
Центрально-южная часть США | южная часть Соединенного Королевства | Восточная Азия | ||
Правительство США (Вирджиния) | Западная Европа | Северный Китай 3 | ||
западная часть США 2 | Центральная Швеция | Республика Корея, центральный регион | ||
Запад США 3 | Северная Швейцария | Северная часть Новой Зеландии | ||
Центральная Мексика | Центральная Польша | |||
Центральная Испания |
Кэши избыточные между зонами уровня Enterprise и Enterprise Flash доступны в следующих регионах:
Америки | Европа | Ближний Восток | Африка | Азиатско-Тихоокеанский регион |
---|---|---|---|---|
Центральная Канада* | Северная Европа | Восточная Австралия | ||
Центральная часть США* | южная часть Соединенного Королевства | Центральная Индия | ||
Восточная часть США | Западная Европа | Юго-Восточная Азия | ||
Восточная часть США 2 | Восточная Япония* | |||
Центрально-южная часть США | Восточная Азия* | |||
западная часть США 2 | ||||
Запад США 3 | ||||
Южная Бразилия |
* Корпоративный флэш-уровень недоступен в этом регионе.
Повторное развертывание и миграция зон доступности
На уровнях "Стандарт" и "Премиум" вы можете обновить существующий ресурс для использования зональной избыточности. Сведения об обновлении текущего кэша см. в статье "Миграция экземпляра кэша Azure для Redis в поддержку зоны доступности".
Сохраняемость
Применимые уровни: Премиум, Корпоративный (предварительная версия), Enterprise Flash (предварительная версия).
Рекомендуется для: устойчивости данных
Так как данные кэша хранятся в памяти, редкий и внеплановый сбой нескольких узлов может привести к удалению всех данных. Для недопущения полной потери данных сохраняемость Redis позволяет периодически создавать моментальные снимки данных в памяти и сохранять их в учетной записи хранения. При возникновении сбоя на множестве узлов, что привело к потере данных, кэш загружает моментальный снимок из учетной записи облачного хранилища. Дополнительные сведения см. в статье Настройка сохраняемости для экземпляра Кэша Azure для Redis уровня "Премиум".
Учетная запись для постоянного хранения
Рекомендуем выбрать учетную запись геоизбыточного хранилища, чтобы обеспечить высокий уровень доступности сохраняемых данных. Дополнительные сведения см. в статье Репликация службы хранилища Azure.
Импорт и экспорт
Применимые уровни: Премиум, Корпоративный, Enterprise Flash.
Рекомендуется для: аварийного восстановления
Кэш Azure для Redis поддерживает возможность импорта и экспорта файлов Redis Database (RDB) для обеспечения переносимости данных. Это позволяет импортировать данные в Кэш Azure для Redis или экспортировать данные из Кэша Azure для Redis с помощью моментальных снимков RDB. Моментальный снимок RDB из кэша уровня "Премиум" экспортируется в BLOB-объект в учетной записи хранения Azure. Вы можете создать скрипт, периодически инициирующий экспорт в учетную запись хранения. Дополнительные сведения см. в статье Импорт и экспорт данных в Кэше Azure для Redis.
Учетная запись хранения для экспорта
Рекомендуем выбрать учетную запись геоизбыточного хранилища, чтобы обеспечить высокий уровень доступности экспортируемых данных. Дополнительные сведения см. в статье Репликация службы хранилища Azure.
Пассивная георепликация
Применимые уровни: Премиум.
Рекомендуется для: аварийного восстановления в одном регионе
Георепликация — это механизм связывания двух Кэш Azure для Redis экземпляров, обычно охватывающих два региона Azure. Георепликация предназначена главным образом для аварийного восстановления между регионами. Два экземпляра кэша уровня "Премиум" подключены через георепликацию так, что обеспечивается чтение и запись в основной кэш, а эти данные затем реплицируются в дополнительный кэш.
Дополнительные сведения о настройке см. в разделе Настройка георепликации для экземпляров кэша Azure Cache для Redis уровня "Премиум".
Если регион, в котором размещается основной кэш, выходит из строя, необходимо запустить отработку отказа: сначала отмените привязку к дополнительному кэшу, а затем обновите приложение, чтобы оно указывало на дополнительный кэш для операций чтения и записи.
Активная георепликация
Применимые уровни: Корпоративный, Enterprise Flash.
Рекомендуется: высокий уровень доступности, аварийное восстановление в нескольких регионах
Уровни Enterprise поддерживают более расширенную форму георепликации, называемой активной георепликацией , которая обеспечивает как более высокую доступность, так и аварийное восстановление между регионами в нескольких регионах. Программное обеспечение Azure Cache для Redis Enterprise использует типы данных, реплицированные без конфликтов, для поддержки записи в несколько экземпляров кэша, слияния изменений и разрешения конфликтов. Вы можете объединить до пяти экземпляров кэша уровня "Корпоративный" в разных регионах Azure, чтобы сформировать группу георепликации.
Приложение, использующее такой кэш, может выполнять чтение и запись в любые экземпляры географически распределенного кэша через соответствующие конечные точки. Приложение должно использовать наиболее близкие ресурсы к каждому экземпляру приложения, обеспечивая минимальную задержку. Дополнительные сведения см. в статье Настройка активной георепликации для экземпляров Кэша Azure для Redis для корпоративных клиентов.
Если регион одного из кэшей в группе репликации выходит из строя, приложению необходимо переключиться на другой доступный регион.
Если кэш в группе репликации недоступен, рекомендуется отслеживать использование памяти для других кэшей в этой же группе репликации. Хотя один из кэшей не работает, все остальные кэши в группе репликации начинают сохранять метаданные, которые не удалось отправить в кэш, который не работает. Если использование памяти для доступных кэшей начинает увеличиваться с высокой скоростью после сбоя одного из кэшей, рекомендуем отменить привязку недоступного кэша к группе репликации.
Дополнительные сведения о принудительной отмене привязки см. в разделе Принудительная отмена привязки в случае сбоя региона.
Удаление и повторное создание кэша
Применимые уровни: Стандартный, Премиум, Корпоративный, Enterprise Flash.
При возникновении регионального сбоя рассмотрите возможность повторного создания кэша в другом регионе и обновления приложения для подключения к новому кэшу. Важно понимать, что данные теряются во время регионального сбоя. Код приложения должен быть устойчивым к потере данных.
После восстановления затронутого региона ваша недоступная Кэш Azure для Redis автоматически восстанавливается и доступна для использования еще раз. Дополнительные стратегии по перемещению кэша в другой регион см. в статье Перемещение экземпляров Кэша Azure для Redis в разные регионы.
Следующие шаги
Узнайте больше о том, как настроить Azure Cache для Redis с параметрами высокой доступности.