[id='client_intelligence']
= Client Intelligence
Hot Rod client intelligence refers to mechanisms for locating {brandname}
servers to efficiently route requests.

.Basic intelligence
Clients do not store any information about {brandname} clusters or key hash
values.

.Topology-aware
Clients receive and store information about {brandname} clusters. Clients
maintain an internal mapping of the cluster topology that changes whenever
servers join or leave clusters.

To receive a cluster topology, clients need the address (`IP:HOST`) of at least
one Hot Rod server at startup. After the client connects to the server,
{brandname} transmits the topology to the client. When servers join or leave the
cluster, {brandname} transmits an updated topology to the client.

.Distribution-aware
Clients are topology-aware and store consistent hash values for keys.

For example, take a `put(k,v)` operation. The client calculates the hash value
for the key so it can locate the exact server on which the data resides. Clients
can then connect directly to the owner to dispatch the operation.

The benefit of distribution-aware intelligence is that {brandname} servers do
not need to look up values based on key hashes, which uses less resources on
the server side. Another benefit is that servers respond to client requests
more quickly because it skips additional network roundtrips.
