> For the complete documentation index, see [llms.txt](https://tochemey.gitbook.io/goakt/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tochemey.gitbook.io/goakt/features/cluster/cluster-client.md).

# Cluster Client

The GoAkt client facilitates interaction with a specified GoAkt cluster, *contingent upon the activation of cluster mode*. The client operates without knowledge of the specific node within the cluster that will process the request. This feature is particularly beneficial when interfacing with a GoAkt cluster from an external system. GoAkt client is equipped with a mini load-balancer that helps route requests to the appropriate node.

## Balancer strategies

* [**Round Robin**](https://github.com/Tochemey/goakt/blob/main/client/round_robin.go) - a given node is chosen using the round-robin strategy
* [**Random**](https://github.com/Tochemey/goakt/blob/main/client/random.go) - a given node is chosen randomly
* [**Least Load**](https://github.com/Tochemey/goakt/blob/main/client/least_load.go) - the node with the least number of actors is chosen

## Functions

* **`Kinds`** - to list all the actor kinds in the cluster
* **`Spawn`** - to spawn an actor in the cluster
* **`SpawnWithBalancer`** - to spawn an actor in the cluster with a given balancer strategy
* **`Stop`** - to kill/stop an actor in the cluster
* **`Ask`** - to send a message to a given actor in the cluster and expect a response
* **`Tell`** - to send a fire-forget message to a given actor in the cluster
* **`Whereis`** - to locate and get the address of a given actor
* **`ReSpawn`** - to restart a given actor
* **`AskGrain`** - to send a request/response to a Grain. See [Grain](/goakt/features/grain.md)
* **`TellGrain`** - to send a fire-forget message to a given Grain. See [Grain](/goakt/features/grain.md)

## Note

It is not possible at the moment to customise the spawning of remote actors. That means that

actors created using the cluster client are created using the *default mailbox and supervisor strategy.*<br>
