Routing for Supergraphs
Learn about self-hosted and cloud routing options
With supergraph architecture (also known as Apollo Federation), each component service is known as a subgraph. A router acts as an entry point to your subgraphs and provides a unified interface for clients to interact with. Clients send operations to your router's public endpoint instead of directly to your APIs.
The router intelligently executes each incoming client operation 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
GraphOS comes with a fully integrated router called the GraphOS Router. You can choose for Apollo to provision and manage a cloud-hosted GraphOS Router for you:
Or you can choose to self-host your GraphOS Router:
Both cloud and self-hosted GraphOS Routers are based on the Apollo Router Core—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 type | Description | Configurability | Plan availability |
---|---|---|---|
Shared cloud router | Apollo provisions and manages routers on shared infrastructure. | Basic configurability, including HTTP header rules, CORS settings, and subgraph error inclusion | Serverless |
Dedicated cloud router | Apollo provisions and manages routers on dedicated infrastructure that you control and scale. | Highly configurable, including all options for shared cloud routers and additional configurations | Dedicated |
Self-hosted router | You host and manage the router on your own infrastructure. | Highly configurable and customizable, including all options for Cloud Dedicated routers and additional customization options | The 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 routers automatically have access to GraphOS Router features, while self-hosted routers must be authenticated with a GraphOS Enterprise license 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: