Sobes.tech
Junior — Middle
60

Объясните концепцию Sentinel в системе Redis и его назначение

Companies where asked
ИнфоТехСервис

Answer from AI

sobes.tech AI

Sentinel в Redis — это система мониторинга и автоматического переключения мастера (failover) в кластере Redis.

Основные функции Sentinel:

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

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

Пример использования с Python (библиотека redis-py):

from redis.sentinel import Sentinel

sentinel = Sentinel([('localhost', 26379)], socket_timeout=0.1)
master = sentinel.master_for('mymaster', socket_timeout=0.1)
slave = sentinel.slave_for('mymaster', socket_timeout=0.1)

master.set('key', 'value')
print(slave.get('key'))