Routing for Supergraphs

Learn about self-hosted and cloud routing options


With architecture (also known as Apollo Federation), each component service is known as a subgraph. A router acts as an entry point to your and provides a unified interface for clients to interact with. Clients send to your 's public endpoint instead of directly to your APIs.

Clients
Router
Subgraph A
Subgraph B

The router intelligently executes each incoming client across the appropriate combination of subgraphs. It then merges subgraph responses into a single response for the client. You can configure your router's error handling, CORS settings, other security features, and more. Your configuration options depend on your router type.

Router types

comes with a fully integrated router called the GraphOS Router. You can choose for Apollo to provision and manage a cloud-hosted for you:

Your infrastructure
GraphOS Cloud
Subgraph A
Subgraph B
GraphOS Router
Clients

Or you can choose to self-host your GraphOS Router:

Your infrastructure
GraphOS Router
Subgraph A
Subgraph B
Clients

Both cloud and self-hosted are based on the —a high-performance routing runtime packaged as a standalone binary.

NOTE

Apollo also offers the @apollo/gateway library, but we recommend GraphOS Routers over @apollo/gateway because they provide significant performance and security improvements. For more information about the differences and how to migrate, see the migration guide.

Router comparison

GraphOS offers the following router options, in increasing order of configurability:

Router typeDescriptionConfigurabilityPlan availability
Shared cloud routerApollo provisions and manages routers on shared infrastructure.Basic configurability, including HTTP header rules, CORS settings, and subgraph error inclusionServerless
Dedicated cloud routerApollo provisions and manages routers on dedicated infrastructure that you control and scale.Highly configurable, including all options for shared cloud routers and additional configurationsDedicated
Self-hosted routerYou host and manage the router on your own infrastructure.Highly configurable and customizable, including all options for Cloud Dedicated routers and additional customization optionsThe Apollo Core Router is available as a free and source-available runtime. Connecting a self-hosted router to GraphOS requires an Enterprise plan.

GraphOS Router features

Although all GraphOS Routers (both cloud- and self-hosted) are based on the source-available Apollo Router Core binary, they offer an expanded feature set that isn't available when running the Apollo Router Core without connecting it to GraphOS.

Cloud-hosted automatically have access to GraphOS Router features, while must be authenticated with a GraphOS to gain access to these features. Refer to the pricing page to compare GraphOS Router features across plan types.

Setup and configuration

For setup and configuration instructions, refer to the respective router documentation:

Rate articleRateEdit on GitHubEditForumsDiscord