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.

Reply via email to