Skip to main content

Bi-Directional Proxying


Bi-directional proxying allows teams in separate regions to share components.

In the example above, there are two teams in two different regions; each team also has their own build/CI server. They may be sharing only a portion of what they create, but they accomplish this sharing by each publishing to a hosted repository in their own region. A proxy repository in the other region then pulls the components from the hosted repository, making them accessible to the other team.

To make reads simple, they group together the hosted and proxy repositories in each of their regions. This way, they have on-demand access to both components written to the hosted repository in their own region as well as those pulled from the other region by their proxy repository.

Combines With

Bi-directional proxying is a building block pattern that is typically combined with one of the following patterns:

Problems Addressed

  • Sharing components on demand between distributed teams


  • High bandwidth, low-latency network connectivity

Factors to Consider

  • Configuration overhead of several repositories

Available Resources

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