Подробнее о SolrCloud читайте здесь..! https://wiki.apache.org/solr/SolrCloud
Пара выводов из моего опыта.
Если ваше приложение просто читает данные из SOLR и не записывает в SOLR (в режиме реального времени, но вы индексируете с помощью ETL или около того), вы можете просто перейти к иерархии Master Slave.
Определите одного Мастера: - Укажите сюда все записи. Если этот мастер не работает, вы больше не сможете индексировать данные
Создайте 2 (или более) подчиненных устройства: это функция от SOLR, и она позаботится о синхронизации данных от мастера на основе указанного нами интервала (скажем, каждые 20 секунд).
Создайте балансировщик нагрузки на основе ведомых устройств и направьте свое приложение на чтение данных из балансировщика нагрузки.
Плюсы: с приведенной выше настройкой у вас нет высокой доступности для главного (запись данных), но у вас будет высокая доступность для данных до тех пор, пока не выйдет из строя последнее подчиненное устройство.
Минусы: Предположим, что один раб упал, и вы выкупили его через час, этот раб будет отставать от других рабов на один час. Таким образом, его ручная задача - проверить согласованность данных среди других ведомых устройств перед добавлением обратно в ELB.
Как насчет SolrCloud?
- Мастера здесь нет, поэтому вы можете добиться высокой доступности и для операций записи.
- Не нужно беспокоиться о несогласованности данных, как я описал выше, архитектура SolrCloud позаботится об этом.
Что подходит лучше всего для вас.
- Определите внешний Zookeeper с 3 узлами Quorom
- Определите как минимум 2 сервера SOLR.
- Разделите текущий индекс на 2 сегмента (по умолчанию каждый сегмент будет находиться по одному в 2 узлах solr, определенных на шаге № 2).
- Определите реплику как 2 (это создаст реплику для осколков в каждом узле)
- Определите LB, чтобы он указывал на вышеуказанные узлы solr.
- Укажите свой ввод Solr, а также приложение, чтобы указать на этот LB.
С помощью приведенной выше настройки вы можете поддерживать отработку отказа для любого узла.
Дайте мне знать, если вам нужна дополнительная информация об этом.
С уважением,
Аниш Н
-Давайте учиться вместе.
person
Aneesh Mon N
schedule
02.08.2015