Настройка Redis Sentinel для высокой доступности

Мы часто сталкиваемся с ситуацией: Redis-мастер падает, и приложение на несколько минут теряет кеш или сессии. Ручное переключение на реплику — это 5–15 минут простоя, потерянные транзакции и нервы. Без автоматизации приходится вручную логиниться на сервер, выполнять команды `SLAVEOF NO ONE`, перена

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Настройка Redis Sentinel для высокой доступности
Средний
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1419
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    983
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1244
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    998

Мы часто сталкиваемся с ситуацией: Redis-мастер падает, и приложение на несколько минут теряет кеш или сессии. Ручное переключение на реплику — это 5–15 минут простоя, потерянные транзакции и нервы. Без автоматизации приходится вручную логиниться на сервер, выполнять команды SLAVEOF NO ONE, перенастраивать клиентские приложения. Это отнимает время и чревато ошибками, особенно если инцидент происходит ночью или в выходной. Решение — Redis Sentinel: система, которая автоматически обнаруживает отказ мастера, назначает новую реплику мастером и оповещает клиентов. Sentinel в 10 раз быстрее ручного переключения — failover занимает 10-20 секунд. Клиентские библиотеки, такие как phpredis и predis, поддерживают автоматическое переключение на нового мастера без изменения кода. При правильной конфигурации приложение теряет не более 20 секунд соединения, а затем продолжает работу с новой репликой.

Почему нужно три Sentinel?

Sentinel использует алгоритм голосования: при потере связи с мастером каждый Sentinel предлагает повысить реплику. Решение принимается только при наличии кворума — большинства голосов. При двух Sentinel возможен split-brain (каждый считает своего кандидата мастером). Три сервера с quorum = 2 гарантируют корректный failover.

Как настроить Redis Master и Replica за 6 шагов

  1. Установите Redis на все три сервера (одинаковая версия, например 7.2).
  2. Настройте мастер — укажите пароли, лимит памяти, включите AOF.
  3. Настройте реплики — добавьте параметр replicaof <master-ip> 6379.
  4. Настройте Sentinel — создайте sentinel.conf с настройками монитора, пароля и таймаутов.
  5. Запустите Sentinel на всех серверах командой redis-sentinel /etc/redis/sentinel.conf.
  6. Проверьте состояние — выполните SENTINEL masters и убедитесь, что мастер определён.

Пример конфига мастера (/etc/redis/redis.conf):

bind 0.0.0.0 port 6379 requirepass RedisPassword123 masterauth RedisPassword123 maxmemory 4gb maxmemory-policy volatile-lru appendonly yes appendfsync everysec protected-mode no 

Конфиг реплики — то же самое, но добавляем replicaof <master-ip> 6379 и replica-read-only yes.

Пример конфига Sentinel (/etc/redis/sentinel.conf на каждом сервере, меняется только sentinel announce-ip):

port 26379 daemonize yes logfile /var/log/redis/sentinel.log sentinel monitor mymaster <master-ip> 6379 2 sentinel auth-pass mymaster RedisPassword123 sentinel down-after-milliseconds mymaster 5000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 60000 sentinel notification-script mymaster /opt/redis/notify.sh sentinel announce-ip <server-ip> sentinel announce-port 26379 

Как тестировать failover без риска?

Мы рекомендуем перед запуском в продакшен провести симуляцию:

  1. Остановите мастер: systemctl stop redis.
  2. Наблюдайте логи Sentinel — через 5–15 секунд должен начаться failover.
  3. Проверьте нового мастера: SENTINEL master mymaster — поле ip изменится.
  4. Запустите старый мастер обратно: systemctl start redis — он автоматически станет репликой нового мастера.

Типичные ошибки при тестировании:

  • Не проверены пароли — failover может не сработать из-за auth-pass.
  • Слишком большой down-after-milliseconds — задержка до 30 секунд.
  • Отсутствует notification-script — вы не узнаете о смене мастера.
Что делать, если Sentinel не может достичь кворума? Проверьте сетевые соединения между серверами (порты 26379 должны быть открыты). Убедитесь, что в конфиге указан правильный `sentinel announce-ip`. Если сервера за NAT, может потребоваться явное указание внешних IP. Для отладки используйте `SENTINEL ckquorum mymaster`.

Сравнение: Sentinel vs. Redis Cluster

Критерий Redis Sentinel Redis Cluster
Объём данных Влезает в RAM одного сервера Превышает RAM одного сервера
Отказоустойчивость Автоматический failover Автоматический failover и решардинг
Запись Только мастер Любой узел (шардирование)
Сложность настройки Низкая Высокая
Multi-key операции Полная поддержка Ограничены одним слотом

Для 90% проектов с объёмом данных до 64 ГБ Sentinel — оптимальный выбор.

Сравнение времени простоя

Метод Среднее время простоя
Ручное переключение 10 минут
Redis Sentinel 15 секунд

За счёт автоматизации вы экономите десятки часов в год и исключаете человеческий фактор.

Что входит в настройку под ключ

Мы предоставляем:

  • Конфигурацию Master+Replica+Sentinel на 3 серверах
  • Проверку кворума и механизма failover
  • Настройку уведомлений (Telegram, email) при смене мастера
  • Сценарий тестирования failover
  • Интеграцию с клиентами (Laravel, Symfony, plain PHP)
  • Документацию по эксплуатации

Более 50 проектов мы внедрили с Sentinel — опыт показывает, что 80% инцидентов решаются автоматически без участия инженера. Согласно официальной документации Redis Sentinel, эта конфигурация обеспечивает 99.9% доступности при правильной настройке.

Сроки и гарантии

Стандартная настройка Sentinel с тремя серверами, тестированием failover и интеграцией — от 1 до 2 рабочих дней. Стоимость рассчитывается индивидуально. Инвестиции окупаются за счёт сокращения простоев. Мы даём гарантию 30 дней на корректную работу схемы отказоустойчивости.

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

Примечание: в конфигурациях выше используйте свои пароль и IP-адреса. Не забудьте открыть порты 6379 (Redis) и 26379 (Sentinel) в файрволе.