Я хотел бы настроить сверхбыструю систему SolrCloud, в идеале с гарантированным низким временем отклика. Проблема в том, что Solr обычно имеет около 1-5% медленных ответов, например из-за выборов лидера, частых слов с большим слиянием и т. д.
Вопрос: Кто-нибудь каждый реализовал такое решение или может указать мне на подобные решения или на какие вопросы / предостережения следует рассмотреть?
Я анализирую клиент SolrJ и думаю, что подход, аналогичный подходу LBHttpSolrClient, мог бы работать - с этими модификациями :
Клиент будет отправлять запросы на все соответствующие узлы SolrCloud параллельно (многопоточность) и использовать первый полученный ответ. Они могут быть сгенерированы с помощью инфраструктуры веб-сервисов, такой как Apache CXF.
Контроль идентификаторов документов, контроль / отслеживание их распространения в осколках / репликах и мониторинг через состояние ZooKeeper / кластера (например, как возвращено из запросов). Затем - в зависимости от конфигурации установки кластера и текущего состояния (включая запросы ZooKeeper) - клиент SolrJ может отправлять запросы для точного определения тех узлов, которые должны быть активными и релевантными для данного запроса.
Уведомление SolrJ: Было бы здорово, если бы SolrJ мог получать уведомления об изменениях кластера или услугах (ZooKeeper / Solr / Ranger и т. Д.), Которые временно недоступны для не теряй время с ними.
Добавление мониторинга / оповещения: В идеале, клиент SolrJ берет данные о времени для всех ответов и сообщает их для каждого узла и для Zookeeper компоненту мониторинга (Ambari, Atlas, Log, мониторинг / оповещение базы данных, отправка электронной почты и т. д.)
Есть предложения?