Переключение при сбое
Когда исходный экземпляр Redis выходит из строя, необходимо сначала выполнить аварийное переключение для кластера аварийного восстановления, а затем переключить адрес доступа клиента на новый экземпляр аварийного восстановления.
Содержание
Переключение кластера аварийного восстановленияОписание времени переключения при сбоеПереключение аварийного восстановленияИспользование неработающего исходного экземпляра в качестве целевого экземпляра нового источникаПереключение аварийного восстановления на стороне клиентаПереключение кластера аварийного восстановления
В кластере аварийного восстановления при сбое исходного экземпляра необходимо разорвать канал синхронизации с неработающим исходным экземпляром, а целевой экземпляр повысить до исходного; это необходимо для обеспечения возможности записи данных клиентом и предотвращения загрязнения целевого экземпляра «грязными» данными с неработающего исходного экземпляра.
Описание времени переключения при сбое
При возникновении сбоя на исходном экземпляре кластера аварийного восстановления, сервис Alauda Cache Service for Redis OSS на целевой стороне обнаружит разрыв канала аварийного восстановления с исходным экземпляром. В этот момент статус ресурса ActiveRedisConnection станет аномальным, а в веб-консоли целевого экземпляра появится уведомление о возможности выполнения переключения аварийного восстановления.
Переключение аварийного восстановления
Просмотр статуса подключения
Если STATUS равен Failed, это означает, что соединение между экземпляром c6-dest и вышестоящим источником нарушено. Для понимания конкретной ситуации можно просмотреть детали в формате yaml:
Отключение от исходного экземпляра
После ручного подтверждения, что исходный экземпляр действительно неисправен, необходимо отключить целевой экземпляр от канала аварийного восстановления исходного экземпляра, чтобы предотвратить попадание «грязных» данных.
После удаления соответствующего ресурса ActiveRedisConnection экземпляр Redis становится независимым исходным экземпляром, и адрес доступа клиента можно безопасно переключить на этот экземпляр для чтения и записи.
Использование неработающего исходного экземпляра в качестве целевого экземпляра нового источника
После восстановления неработающего исходного экземпляра его можно повторно добавить в кластер аварийного восстановления в качестве целевого экземпляра нового источника. Для способа выполнения операции обратитесь к разделу Setup Disaster Recovery.
Переключение аварийного восстановления на стороне клиента
Перед подключением к кластеру аварийного восстановления клиент должен поддерживать переключение адреса доступа Redis на новый исходный экземпляр (повышенный целевой) после обнаружения сбоя исходного экземпляра. Обычно существуют следующие методы переключения:
Нельзя судить о необходимости аварийного переключения клиента только по бинарному решению; переключение — это многомерный процесс принятия решений с высокой степенью уверенности. Его необходимо осуществлять с учетом нескольких аспектов обнаружения сбоев, включая, но не ограничиваясь: доступностью экземпляра, наличием высокой доступности экземпляра, возможностью продолжения обслуживания кластера k8s, проверкой доступности дата-центра.
Обычно для безопасного выполнения переключения аварийного восстановления клиентом должно выполняться следующее выражение:
В настоящее время Alauda Cache Service for Redis OSS не предоставляет поддержку переключения аварийного восстановления на стороне клиента. Клиенты должны реализовать подходящий метод переключения в соответствии со своей инфраструктурой.