I have some difficulties to understand how azure durable orchestration functions parallelization (and scaling) works under the hood. I am referring to this official document. There it states:
Because the orchestrator and entity function instances are statefull singletons, it's important that each orchestration or entity is only processed by one worker at a time.
What exactly does "orchestration function and entity function instances are statefull singletons" exactly mean when it comes to running multiple orchestration functions in parallel?
Lets say I have a client function which listens to a HTTP trigger and then starts a new orchestration function instance. If I trigger this client function twice, will there be two instances of the orchestration function running with two separate instance IDs in parallel, or will they run in sequence? Will each instance have its own control queue?
Or by taking this example, does CallSubOrchestratorAsync always execute on the same orchestration instance? If so, whats the benefit here since it won't be really running multiple instances in parallel? Or is "parallelization" here just referring to the process of restarting the instance and re-applying the history table based on the different input values?