Ответ 1
Как вы определили, поиск отказов может быть обработан с использованием репликации.
Мастер отказоустойчивости немного сложнее. Одна идея для чего-то вроде следующей логической установки
+--------+ +--------+
| Slave | ... | Slave |
+--------+ +--------+
| |
v (replicate) v
+---------------------------+
| Load balancer |
+---------------------------+
/ \
v v
+--------+ +--------+
| Master | ---> | Master |
+--------+ +--------+
- Чтобы обновить основные индексы
repeater
, можно использовать, когда мастер горячей резервной копии может реплицироваться из основного мастера - В любом
- Используйте что-то вроде обработчика
Ping
для основного мастера как уведомление о сохранении. Если это невозможно, напишите небольшой программный компонент, который запускает обработчик импорта данных вторичного мастера. - Держите обработчики импорта данных активными на всех основных серверах, позволяя любому из них выполнять операцию без дополнительной настройки.
- Используйте что-то вроде обработчика
Обратите внимание, что вам может потребоваться настроить балансировщик нагрузки таким образом, чтобы ведомое устройство могло реплицироваться только с одного мастера в любой момент времени.
С другой стороны, было бы интересно услышать некоторые ваши впечатления, индексирующие такой огромный набор данных.