I have developed my application with Akka on a single JVM. Now I want to distribute the workload across many machines. I've started to read the documentation and got confused.
There are two ways of making Akka app to be distributed by clustering and remoting. I don't get the difference between the two. If I understand properly both are excluding themselves mutually since in configuration one need to use different provider for actor reference:
akka.remote.RemoteActorRefProvider
akka.cluster.ClusterActorRefProvider
So what are the use cases? When I would choose one instead of the other?
Maybe clustering is something like superset of remoting or maybe it is the other way around?