I’m new to Temporal, and am doing a POC.
I see that Temporal can handle 100s of millions of active workflows. We would want to handle a load of ~500K signals/day that would execute activities on these workflows, would temporal be able to handle this load?
Also per workflow ID, we would want to process the signals in the order it was received, would you suggest that we enable EnableSessionWorker, and have one worker per task queue; or would it make sense update the task queue partitions to 1?
We would want to handle a load of ~500K signals/day
How many signals per workflow per second do you expect? Temporal can process very high rates of signals per second, but I you would have to check the rate of signals to a single workflow per second is not too high.
we would want to process the signals in the order it was received
Can you give more info on the rate limiting requirements you have for activities You can control signal order in your workflow code and process one at a time if needed. Your workflows would need to call continueAsNew after some X number of signals / activity executions to avoid large workflow history (50K limit).
Note that the session worker is absolutely unrelated to the number of parallel workflows or how they handle signals. The session is used to route activities to the same process or host.