We are using the java API to index on or query our cluster. This cluster
consist of three similar nodes.
When Building the transport client that will be used for the constant
indexation, we can specify several adresses for transport nodes.
So, what would be better. Building the transport client with only one
transport node, or building the transport client with a transport node for
each node on the cluster?
Query performance is by far more important than indexation performance, in
And if we have three different sources that index data on our cluster, that
makes three transport clients. Would it be better to give each of them only
one transport node, or should we give all of them a transport node for each
node on our cluster?
Sorry if that is hard to understand. i realize that my english leaves very
much to be desired.
So I think your question is, if a TransportClient should connect to one or
more nodes to achieve better performance.
The advantage of the transport client is that you can select the network
path on which you want to transport the data to the cluster, and this
allows remote access.
If the amount of data you send to the cluster does not max out the network
capacity of the connection, you don't have to think about other connections
to other nodes in the cluster.
You can add more network connections if you feel unsure if you are
exceeding the network transport capacity. For example, if you have more
than one network interface card, you can add another connection on another
Note, the job of distributing the workload over the cluster nodes is done
automatically by an internal routing algorithm, so it's not required to
take extra precautions about workload balancing at client side.
Once you are connected, the TransportClient can "sniff" for other nodes, in
order to be able to perform a failover if the node the transport client is
connected to suddenly fails (for example, if the node is being shut down).
Yes, that was exactly the info I was looking for.
Thank a lot !