Java Transport Client vs. Node Client on EC2

(Jason Whaley) #1

I've been attempting to do some cursory research on how best to create
clients for an Elasticsearch cluster on EC2. In reading through
it would appear that having a Node client on our ES client applications
that is cluster aware would be ideal since it would (hypothetically) avoid
two hop requests. Is that a correct assumption? If one always has the
option, is there ever a situation where it is more desirable to use the
Transport client over the Node client?

Now, if we also assume that EC2 is the target deployment environment, where
being a part of an ES cluster involves discovery using the AWS API instead
of multi/unicast, is using a Node client problematic in this scenario?

Additionally for EC2, are there any other topologies one can consider for a
single cluster other than just having a homogenous set of instances that
are data nodes and then client applications with Node clients? For
instance, would there be any advantage to having a dedicated number of
instances that are data=false Nodes that use an EC2 instance type that
support high network performance (with enhanced networking, see that join the cluster of a
large number of less powerful instances that are data nodes and then have
ElasticSearch client applications just round-robin with transport clients
to those data=false Nodes?

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
To view this discussion on the web visit
For more options, visit

(system) #2