When to scale an amount of Temporal Workers from 1 per queue

When does it make sense to scale amount of Temporal Workers? Temporal gives a bunch of parameters in workerFactory inside workerFactoryOptions, also we have a couple of parameters to tune for each worker in workerOptions. It looks like you should be able to scale the one worker per queue to handle any load that needed (under the limits of your hardware for sure) and utilize your hardware. When and why somebody should look into spawning N > 1 Temporal Workers inside the same JVM using multiple calls to WorkerFactory#newWorker(useSameQueueNameSeveralTimes) ?

I don’t think there is a valid reason to start multiple workers for the same task queue name.

Won’t that be necessary for high-availability of the Worker for that particular Task Queue (assuming the Workers are in different JVM)?

For fault tolerance we do recommend running multiple worker processes in different hosts and availability zones. Note that the original question was about multiple workers inside a single JVM.