Single Pane and Version Set Replication¶
Digital Rebar supports two distinct replication styles: single pane, and version set replication. This page describes these replication styles, their differences, and how to toggle them on manager endpoints.
Overview¶
Replication in Digital Rebar governs how various resources (such as Machines, Clusters, content, etc.) are synchronized between downstream endpoints and their upstream managers. By default, both replication styles are active, but can be separately toggled.
The two styles serve different goals, and replicate in different directions:
- Single Pane replication prioritizes centralized visibility and management, like a single pane of glass into your system.
- Version Set replication prioritizes controlled, explicit distribution of content through shared catalogs across your endpoint hierarchy.
Single Pane Replication¶
Description¶
Single Pane replication is the mode by which database objects replicate upstream.
Note
As of v4.17, Single Pane replication is lazy. Prior versions streamed each downstream endpoint's database into the manager, which kept a full local replica. The manager now fetches objects on demand and caches them instead. See Manager Replication.
In this model:
- Manager endpoints fetch database objects from their downstream endpoints on demand, caching them briefly to answer read operations.
- Upstream managers aggregate replicated objects from all downstream endpoints.
- Managers have a view into objects across the entire system by lazily asking for them.
This acts as a single pane of glass, where manager endpoints present a unified view of all replicated objects across the hierarchy. Changes made at the single pane are proxied downstream to their respective owning endpoints.
Behavior¶
- If a Machine, Cluster, or other replicated database object changes on a downstream endpoint, that change is reflected on all upstream manager endpoints when requested.
- Manager endpoints request objects from downstream endpoints when a client reads them, rather than receiving them automatically.
- Replication is lazy: objects are fetched on read and cached for a short time. See Manager Replication.
Tradeoffs¶
- Read operations on a manager incur a round trip to the downstream endpoints, so they are slower than local reads and sensitive to network latency between tiers.
- Less control over which objects are visible upstream.
- Reads may return data up to the cache lifetime old, and a downstream endpoint the manager cannot reach contributes nothing to results.
Version Set Replication¶
Description¶
Version Set replication is a controlled replication model based on explicit Version Sets, which replicate content bundles (and other resources) downstream, from manager to downstream endpoint.
In this model:
- Content is defined as required by Version Sets.
- Version Sets are explicitly replicated downstream to endpoints.
- Replication is intentional and scoped, rather than automatic and global.
- Downstream endpoints choose when to replicate by "applying" a Version Set.
Behavior¶
- Only content required by a Version Set is replicated.
- Replication flows from manager to downstream endpoints, not upstream.
- Downstream endpoints do not automatically push local object changes back to managers as part of this model.
- Changes to content at the manager do not automaticlly replicate to downstream endpoints. Replicated content is fetched from shared catalog(s).
Use Cases¶
Version Set replication is ideal for:
- Large-scale or multi-tenant deployments
- Environments requiring strict control over content distribution
Summary¶
Single pane replication provides a consistent, on-demand replicated view of downstream database objects into their upstream manager endpoints.
Version set replication is the idiomatic way to consistently replicate necessary versioned content from upstream managers to downstream endpoints.
Disabling Replication Styles¶
In some deployments, it may be desirable to explicitly disable one replication style while leaving the other enabled. This can be done using fields set on the Endpoint object.
Disable Version Set Replication¶
To disable Version Set replication on an endpoint, set:
When set:
- The endpoint will not participate in Version Set-based replication.
- Version Sets will not be applied or synchronized to this endpoint.
- The
VersionSetsfield on the Endpoint object will be ignored.
Disable Single Pane Replication¶
To disable Single Pane replication on an endpoint, set:
When set:
- The manager will no longer aggregate database objects from this endpoint.
- Upstream managers will not query or cache objects from this endpoint.
- The endpoint will no longer contribute to the "single pane of glass" view.