Существует ли опция замены redis pub / sub с высокой доступностью и избыточностью или, возможно, обмен сообщениями p2p?

#redis #message-queue #p2p #high-availability #redundancy

#redis #очередь сообщений #p2p #высокая доступность #избыточность

Вопрос:

У меня есть приложение с сотнями горизонтально масштабируемых серверов, которое использует redis pub / sub, и оно работает просто отлично.

Сервер redis является центральной точкой отказа. Всякий раз, когда redis выходит из строя (ну, это случается иногда), наше приложение переходит в несогласованное состояние и должно следовать процессу восстановления, который требует времени. В течение этого времени все приложение вряд ли полезно.

Существует ли какая-либо опция системы / платформы обмена сообщениями, аналогичная redis pub / sub, но с избыточностью и высокой доступностью, чтобы в случае сбоя одного экземпляра другой продолжал доставлять сообщения, которыми обмениваются хосты приложений?

Или, лучше, существует ли какая-либо распределенная система обмена сообщениями, в которой экземпляры приложений обмениваются сообщениями одноранговым способом, чтобы не было единой точки отказа?

Комментарии:

1. Как насчет настройки кластера Redis с помощью sentinel?

2. Выглядит интересно, является ли коммутатор узла в sentinel полностью прозрачным или произойдет некоторое время простоя, если мастер отключится? В любом случае это то, что мы скоро попробуем.

3. Переключатель узла прозрачен, но ваше приложение должно иметь логику для отключения и подключения к новому узлу.