The document says "Propagators are also useful for distributing replication loads in configurations that involve a master database that must replicate to a large number of subscribers".
My question is how do we define this " large number ". Is 5 a large number or 10 a large number ?
I've a bidirectional legacy replication scheme wherein a node replicates to 10 other nodes. Should i introduce Propagator between these nodes.
There is no hard and fast rule for what constitutes 'large number' in this context. It depends on workload, hardware spec, network bandwidth etc. 10 might certainly be bordering on 'large' if the workload is heavy or the hardware underpowered.
If you are not seeing any issues with replication performance then I would stick with what you have. Adding propagators can be beneficial in some usage scenarios but they do add an extra level of complexity and if a propagator fails then this will interrupt replication to the downstream databases until the propagator is back up and running.
Thanks Chris. I get your point.
But I've a following question to it...What should be ideal scenario of using Propagators ? Does propagators make sense only if the replication performance is not optimum and it is limited by infrastructural constraints.
Well, propagators are just a tool or capability like anything else so you use them where it makes sense to do so.
The two common use scenarios are:
1. Where the overall number of subscribers are such that the CPU/IO load on the master or the network bandwidth is stressed. Adding one or more propagar=tors will reduce the load.
2. Where you have multiple subscribers remote over a WAN type connection. By locating a propagator at the remote site you reduce the multipel replication streams to the site down to a single replication stream thus reducing bandwidth requirements.