We are trying to achieve a workflow with saga implementation that can span across multiple regions. The workflow has activities A and B that are executed serially. Activity A can be in region 1 and activity B can be in region 2. If activity B fails, it should rollback the workflow and compensate activity A.
As I understand, Temporal cluster requires strongly consistent DB so it is not feasible to share one DB across multiple clusters. Also, Temporal only supports multi-cluster use case for HA (active-passive) deployment.
Currently we are using one Temporal cluster in region 1 and let both activity workers talk to the same cluster. As a result, activity B would suffer some performance overhead as the gRPC calls have to travel cross region.
What would be a good way to approach this problem? Has there been any use-case such as this?