# 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:

- Combine with [Federated Repositories](https://help.sonatype.com/en/federated-repositories.html "Federated Repositories") to provide on-demand proxying across regions
- Combine with [Content Replication Pattern](https://help.sonatype.com/en/content-replication-pattern.html "Content Replication Pattern") to pull content across regions automatically

## Problems Addressed

- Sharing components on demand between distributed teams

## Prerequisites

- 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:

- [Scaling with Proxy Nodes](https://help.sonatype.com/en/scaling-with-proxy-nodes.html "Scaling with Proxy Nodes")
- [Repository Management](https://help.sonatype.com/en/repository-management.html "Repository Management")
