App1 receives the request, calls the controller in App2 and inside the controller, the workflow is started.
The worker (workflow, activity code) also resides in App2
- Everything about temporal is in App2 application only.
- Adds an additional layer of complexity (Rest Controller/gRPC Service)
App1 recieves the request and starts the workflow. App2 will contain the worker (workflows, activity code )
More resilient than Choice 1 (say App2 is down, App1 can still start the workflow. And once App2 is back, workers can continue the workflow execution)
Simplifies the design and removes complexity (Rest Controller/gRPC Service)
- Some part of temporal code is shared between App1 and App2
- Are there any more pros and cons you can identiy from temporal perspective?
- Which choice do you recommend?