Skip to main content

Federated Repositories

Federated repositories pattern

The federated repositories pattern builds off of the Bi-Directional Proxying pattern. As with bi-directional proxying, the geographically separated teams may only share portions of what they create (e.g., perhaps they don't share their Maven components but only the finished wars/Docker containers).

The example above comprises three separate teams in three separate regions. There is bi-directional proxying between regions A and B; regions A and C; and regions B and C. To zoom in and see what bi-directional proxying looks like between each of these regions, see the Bi-Directional Proxying pattern.

This pattern allows for teams in different regions to proxy content from another region on-demand.

Combines With

This pattern extends the Bi-Directional Proxying pattern

Problems Addressed

  • Bi-directional distribution for geographically separated teams

  • Some content is used only within one region, some is distributed

Prerequisites

  • High-bandwidth, low-latency network connection between sites

Factors to Consider

  • Must maintain corresponding repository structures between sites

  • Configuration can be complex with many sites and formats

  • Can increase network traffic and latency

  • Consider resiliency and recovery separately for each region

  • Must manage cleanup independently by region; this can add complexity

  • Must manage user tokens and access controls independently by region

Available Resources

The following help topics may be helpful when implementing this pattern: