ElasticSearch does an amazing job at sharding/replicating data to multiple nodes (servers)... I think a fairly common setup for large boards is going to be just set the ElasticSearch hostname to localhost, and run nodes on all web servers. Let's say you have 10 servers/nodes running ElasticSearch and 1 of them fails... Everything is still fine as long as the requests are connecting to any of the 9 surviving nodes. It seems to me that it would be very useful to have backup hostnames if the connection to the primary fails (for reads and ESPECIALLY writes). When the failed node is back online, ElasticSearch will automatically sync it up with the other nodes and everything would be dandy... It's just an issue when you are trying to write something to the system (like a new post) that never made it to any node.