Greetings. Hopefully I can explain this series of questions clearly.
Imagine two namespaces, N1 and N2, with workflows in each. Workflows in N1 will start child workflows in N2, but not the reverse. When starting a child workflow from N1 for instantiation in N2, and calling from within an activity, we: (i) set the WorkflowClientOptions to the correct target namespace (N2) and (ii) set the correct task-list when instantiating the workflow. When the workflow in N2 completes, an event is written to the parent workflow in N1. I assume this works.
Is it possible to run N1 and N2 on separate instances of Temporal (I1 and I2), i.e. as a cluster, using Kafka or whatever between them (see diagram attached)? Specifically, from N1, can I start a workflow in N2, and get usual event notification when it’s complete?
Going further: imagine the activity in I1 that starts the workflow in I2 has a doNotComplete() and sends it’s activity task-token to the workflow in I2, either as workflow input or a signal. When the task-token is completed within I2, does it get routed to originating activity in I1?
On the diagram, I’m assuming the red-line use-cases are not supported in the cluster case (I’m assuming call routing is done by namespace – if it is supported at all).