Какой узел elasitcsearch следует запрашивать из моего приложения - PullRequest
0 голосов
/ 10 апреля 2020

Если бы я настроил свой кластер на elasti c с 3 главными узлами и 5-10 узлами данных, какой IP-адрес узла я должен фактически использовать в своем приложении для запроса elasti c. Я следую горячей горячей архитектуре для elasti c, но из того, что я понял, главный узел всегда должен отвечать за обработку входящего запроса, а затем за координацию этого запроса для дальнейшего узла в кластере и для обработки окончательного ответа.

Так должен ли я использовать в своем приложении только IP-адреса главного узла для связи с кластером?

Ответы [ 2 ]

1 голос
/ 10 апреля 2020

Прежде всего, вам не следует использовать отдельный IP для подключения к кластеру, поскольку он может стать вашей единственной точкой отказа, если узел выйдет из строя. У вас должен быть URL-адрес с балансировкой нагрузки, который подключается к узлам данных или координатным узлам, чтобы облегчить ваш поиск.

Кроме того, похоже, у вас есть выделенные главные узлы. Как правило, для кластера большего размера не рекомендуется использовать master в качестве координатора поиска, и в идеале он должен иметь роль master, отвечающую критериям только для обеспечения стабильности кластера. Таким образом, у вас останется возможность использовать либо узлы данных, либо только узлы-координаторы для принятия ваших поисковых запросов.

Если вы используете такие клиенты, как JEST, NEST et c и не используете напрямую конечную точку http для _search затем у вас также есть возможность предоставить список IP-адресов / имени хоста для формирования пула соединений.

0 голосов
/ 12 апреля 2020

Как упомянуто @askids, всегда подключайтесь кasticsearch, используя стандарт. Elasti c сама предоставляет клиентам. https://www.elastic.co/guide/en/elasticsearch/client/index.html

Вы не упомянули клиентов, которые собираетесь использовать. Если ваш клиент основан на Java, используйте Elasticsearch Low-Level или High Level Rest Client. Эти клиенты являются оболочками на apache http-клиенте и предоставляют вам весь шаблон c обработки соединений и других функций. Вы также можете добавить поддержку Sniffer.

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-low.html

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/sniffer.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...