thanks for the answers, here are my thoughts: 1. If using pure REST client - Using a Load Balancer will make sure that the endpoint address goes to any of the "live" nodes (round robin) so that if one of those nodes "dies" or if I scale out the cluster (add more nodes) it is transparent to the client. Does that make sense?
2. Jörg - can you please provide more details / link explaining about why and how the "REST API sits on top a Java Client" 3. The java client is fine but the documentation of the actual query API is pretty basic and will always send you to the REST documentation. I found it hard to "translate" the REST API docs to native java client APIs elastic4s seems very promising, although not sure it supports scala 2.11. I might give it a spin - thanks for the tip ;) BTW - Do you know if the java client is using a binary protocol ? that might become a big advantage over REST for large query results.. On Friday, July 25, 2014 10:59:43 AM UTC+3, Jörg Prante wrote: > > 1. No. ES is already managing connections, see TransportClient > > 2. REST API sits on top of native Java client. So, because of HTTP, you > have overhead with REST. Async call API with HTTP is a mess. > > 3. All actions are routed automatically to the relevant shards only, no > matter what client. > > 4. There are scala clients out there like elastic4s that wrap the native > Java API, so I wonder why you do not use them? > > Jörg > > > On Fri, Jul 25, 2014 at 8:25 AM, CB <[email protected] <javascript:>> > wrote: > >> hi all, >> >> i'm new to elastic search and would like to ask some basic questions. >> >> we are developing a system based on the play framework (non blocking io, >> event loop, scala) >> >> we are currently working with elastic search through the rest api which >> is working ok in dev. we are concerned about performance once we move to >> production environment. here are some questions: >> >> 1. can i point the rest api end point to a load balancer configured in >> front of the ES cluster? is that a common best practice? >> >> 2. is there any performance boost if we switch from rest api calls to >> native java client? if so - is it lagging behind with features? >> >> 3. java client - is this a smart client? meaning - can the client direct >> the queries to the relevant shard / shards for faster result retrieval? >> >> 4. any other advice / suggestion in regards to native client vs REST API >> for using ES? >> >> thanks! >> CB >> >> -- >> 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 [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elasticsearch/3ca59232-8462-4e66-8400-8a5aca18fe0c%40googlegroups.com >> >> <https://groups.google.com/d/msgid/elasticsearch/3ca59232-8462-4e66-8400-8a5aca18fe0c%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/11700659-529a-4d7b-ad6a-430835e2b790%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
