Я понимаю, что redis sentinel - это способ настройки HA (высокая доступность) среди нескольких экземпляров redis. Как я вижу, есть один экземпляр redis, который активно обслуживает клиентские запросы в любой момент времени. В режиме ожидания находятся два дополнительных сервера (ожидая неудачи, поэтому один из них может снова действовать).
- Это трата ресурсов?
- Есть ли лучший способ использования полного использования доступных ресурсов?
- Является ли Redis кластеризацией альтернативы Redis sentinel?
Я уже просмотрел документацию redis для sentinel и кластеризация, может ли кто-нибудь опыт объяснить, пожалуйста.
UPDATE
OK. В моем реальном сценарии развертывания у меня есть два сервера, предназначенные для redis. У меня есть другой сервер, на котором работает сервер Jboss. Приложение, запущенное в Jboss, настроено на подключение к серверу redis master (M).
Сценарий отказоустойчивости
В идеале, я думаю, что при сбое сервера главного кеша (либо процесс Redis сходит, либо сбой компьютера) приложение в Jboss должно подключиться к серверу квеста Slave. Как настроить сервер redis для этого?
+--------+ +--------+
| Master |---------| Slave |
| | | |
+--------+ +--------+
Configuration: quorum = 1