Как получать уведомления о сбоях в кластере Redis в клиентское приложение

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


person user3612009    schedule 06.04.2016    source источник


Ответы (2)


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

$ redis-cli -p {PORT} cluster nodes | grep master

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

person Rabea    schedule 06.04.2016

Sentinel (http://redis.io/topics/sentinel) может отслеживать член кластера, и отправить уведомление о публикации/подписке в случае сбоя. Ссылка содержит более подробное объяснение и руководство.

person Omer Anson    schedule 25.05.2016
comment
Sentinel с кластером можно использовать? - person Vishal Sharma; 27.11.2019