I'm wondering what the best practice is to achieve deferred replication of reliable state partitions in a Service Fabric cluster?
I'd like to have something like this:
The picture above is supposed to illustrate a single service fabric cluster where some nodes are located on one continent and some other nodes are located on another continent.
The node marked with P is the primary replica for some reliable state. R1 and R2 are secondary replicas for that state. R3..R5 are also replicas for that state, but more like secondary secondaries.
Replicating state between the two sub-clusters will be slow (they are far away from each other).
In this scenario, there will mostly be read-only clients on continent Y and those clients need not see "realtime" updates. Lagging behind is not a problem, as long as all (or at least most) replicas in that sub-cluster have consistent state.
I think that what I'd like to achieve can be summarized in these points:
I want the replicas in sub-cluster Y to be some kind of second class replicas. They should not be allowed to become the primary, and they should be allowed to lag behind.
All (or most) replicas for a given state in a given sub-cluster should be consistent.
I want replication traffic cross these two sub-clusters on a single path. I don't want traffic for the same replicated state to travel cross continent more than once (unless necessary). Perhaps by having something like a "primary deferred replica" on sub-cluster Y that spread the replicated state to the other replicas in that sub-cluster?
Note: For some other reliable state partition, it might as well be the other way around. That sub-cluster Y holds the primary, and that sub-cluster X is "deferred".
Is there some support for this available in the Service Fabric framework? Or are there any best practices available? Or, maybe this scenario is completely off the road?