If you can run single-node actionhero (actionhero start) there are no additional requirements to run actionhero-cluster (actionhero startCluster). However, you are *required* to use a real redis server at the very least to enable communication across the nodes. node is single-threaded, which means it can only use 1 CPU at a time. If you have the spare memory and idle CPUs, you probably want to run more than one instance of actionhero, so you should check out the cluster. I say "probably" because it depends on where your app is constrained. For example if node is not the limiting factor, but your database (mysql, mongo, redis, etc) is the bottleneck, then adding more node/actionhero servers might make things worse. If you are serving a lot of static content and disk i/o is your limiting factor, than cluster will have no effect at all. However, if your application is CPU or Network bound, than cluster is certainly for you!
My deployments have both a load balancer and cluster so I have lb -> servers -> ah-clusters -> ah-workers. High Availability! I also end up using redis sentinel most of the time as well so redis isn't a single-point-of-failure either.
Cluster does help in some other ways. You can add/remove workers on the fly, you can do o-downtime deployments, and some other things. It also restarts workers that crash. Even when I only have one worker, I still use the cluster to manage deployments.