Elasticsearch cluster deployment topology

Following is the diagram representing the deployment topology that we are
contemplating to follow in production:

https://lh5.googleusercontent.com/-tbhAqDcOGKU/UcK92HCKpoI/AAAAAAAAAUY/IDerEXrka5c/s1600/es-arch.png

Zookeeper is used for master discovery and election for the whole ES cluster
Nginx will act as a proxy and use round-robin to select between the two
http elasticsearch nodes. Following is a part of nginx configuration:

upstream elasticsearch {
192.168.10.23:9200;
192.168.10.56:9200;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://elasticsearch;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_read_timeout 300s;
proxy_buffering off;
}
}

My questions:

  • Do you see any obvious flaw in the setup?
  • Do you suggest any alterations?

Our primary concern is good load balancing. We are not worried too much
about failover as of now.

Thanks

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Zen discovery or unicast is all you need for node discovery/setup.

Internally, Elasticsearch distributes index and search load
automatically between all the nodes of a cluster, no matter the node you
connect your client to. Requests that can not be handled by one node are
forwarded to another node. What you do is just connecting to one or the
other node. That's fine and will work, as long as both nodes are up. But
you could also connect to just one node and save the effort, and you
will still have load balancing.

Jörg

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.