2014-06-05 2 views
1

У нас есть приложение для ASP.NET MVC с балансировкой нагрузки, которое мы хотим добавить для поиска - нам нравится внешний вид Elasticsearch!Понимание развертывания Elasticsearch в конфигурации с балансировкой нагрузки на сервере

Я хотел бы построить немного отказоустойчивости, поэтому я рассматриваю возможность установки ES на обоих серверах и их работу как кластер (что кажется достаточно простым в соответствии с документами).

Но я действительно хочу, чтобы мой MVC приложение, чтобы поговорить с «кластер» не каждому конкретному узлу ES, так что если узел ES выходит из строя, или сервер не приложение не влияет:

enter image description here

Нужно ли мне обращаться к кластеру особым образом из моего приложения или устанавливать для него какой-то внутренний домен?

Я не хочу ссылаться на «localhost: 9200» или конкретный IP-адрес сервера в моем приложении, я полагаю?

ответ

2

Вам следует рассмотреть возможность использования Elasticsearch .NET Client NEST. Этот клиент имеет встроенную поддержку отказоустойчивых подключений при доступе к кластеру Elasticsearch.

Если вы хотите, чтобы клиент отказоустойчивости вместо передачи Uri pass IConnectionPool рассматривал документы Elasticsearch.Net при сбое кластера, все его реализации также могут использоваться с NEST.

+0

Никогда даже не думал, что может быть такая возможность - спасибо Пейдж! – Neil