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.
Thank you so much for the quick response!
We expect ~5 signals per workflow, and ~5 million active workflows per month
It looks like a good fit for Temporal. A small number of signals per workflow and a large number of workflow executions.
Great! Thank you so much!