Skip to main content
Loading

Connecting with a client application

Overview

An Aerospike cluster consists of one or more nodes. To connect a client application with a cluster, you can give it a seed node or a list of seed nodes for the initial connection, and once that connection is established the application can discover the other nodes in the cluster.

Single seed node

Provide the client with the IP address and port of a seed node, and after the client connects it discovers the other nodes in the cluster.

Java example:

import com.aerospike.client.AerospikeClient;

AerospikeClient client = new AerospikeClient("127.0.0.1", 3000);

Multiple seed nodes

You can provide a client with a list of seed nodes. If the first one fails to connect, the client tries the subsequent nodes until it connects. This is known as round-robin DNS, or Resource Distribution Pool.

import com.aerospike.client.AerospikeClient;
import com.aerospike.client.Host;
import com.aerospike.client.policy.ClientPolicy;

Host[] hosts = new Host[] {
new Host("a.host", 3000),
new Host("another.host", 3000),
new Host("and.another.host", 3000)
};

AerospikeClient client = new AerospikeClient(new ClientPolicy(), hosts);

Using a URI instead of an IP address

If you provide the client with a domain name system URI, the client uses the URI to obtain the seed node's IP address.

One advantage of using a DNS entry as a seed node is that if a cluster goes down, the operations team can switch the DNS to point to a different cluster. The client keeps trying to connect until it succeeds.

Closing the connection and cleaning up

Client libraries provide methods for closing connections when they are no longer needed, and for releasing the client's resources.

Client/server compatibility

Check that your client library version is fully compatible with your Aerospike server version with the client/server compatibility matrix.

Further reading

For more information about client libraries and connecting to Aerospike clusters, see Client Libraries.