Gossip в Redis Cluster распространяет сведения об узлах, но сам по себе не является алгоритмом консенсуса. Отдельные правила определяют подтверждение отказа и выбор новой primary-реплики.
Как устроен алгоритм консенсуса Gossip Protocol внутри Redis Cluster без использования центрального координатора?
Gossip в Redis Cluster распространяет сведения об узлах, но сам по себе не является алгоритмом консенсуса. Отдельные правила определяют подтверждение отказа и выбор новой primary-реплики.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Gossip в Redis Cluster распространяет сведения об узлах, но сам по себе не является алгоритмом консенсуса. Отдельные правила определяют подтверждение отказа и выбор новой primary-реплики.
Узлы обмениваются ping/pong с информацией о части соседей. Локальное подозрение обозначается PFAIL; подтверждение FAIL учитывает сообщения большинства primary в установленном окне. Failover использует голосование и epochs, а не только слух о недоступности. Это не превращает асинхронную репликацию Redis в строго согласованный журнал вроде Raft: при сбоях возможна потеря подтверждённых записей. Важно разделять распространение состояния, обнаружение отказа и согласование смены роли.
Источник: redis.io.