Cluster Client is for communication between two different clusters.
You can put the frontend nodes in one cluster and backend nodes in one
cluster and use Cluster Client from frontend to backend. However, it's
easier and the tooling is richer if you use one cluster with different
backend/frontend
When should I use Cluster Sharding Proxy and when Cluster Client?
I have a backend with sharded actors and HTTP frontend which provide
interface for them.
The operations mostly fire-and-forget semantics, so HTTP frontend does not
return any data to user, but just proxy notifications to sharded