В настройке облака solr есть 8 узлов solr и 3 узла zookeeper. Существует один балансировщик нагрузки, который получает все запросы индексации и поиска и распределяет их по этим 8 узлам solr в облаке solr. Перед отправкой запроса solr конкретному узлу solr он сначала проверяет, активна ли конечная точка службы. Только если он активен, он отправляет запрос на этот конкретный узел solr. Zookeeper занимается выборами лидеров в шарде. В этой настройке zookeeper не обрабатывает распределение запросов. Это плохо для распределенных запросов? Какие еще функции, предлагаемые solrcloud, упускаются из-за того, что балансировщик нагрузки выполняет работу по распределению запросов.
Обратите внимание, что балансировщик нагрузки необходим, потому что есть разные клиенты (Java, Ruby, JavaScript), обращающиеся к службе solr. Только SolrJ имеет возможность общаться с zookeeper с помощью класса CloudSolrServer). Кроме того, это помогает масштабировать узлы zookeeper без изменения каких-либо настроек со стороны клиента.