Skip to content

GraphQL Fusion

Warning

At the moment Fusion is not being actively used and is still under experimental mode.

Overview

Suite Framework uses Hot Chocolate Fusion as its standard for GraphQL federation.

Hot Chocolate Fusion is a GraphQL federation specification that allows multiple independent GraphQL services (subgraphs) to be composed into a single unified GraphQL gateway.

Each service exposes its own schema, which is packaged and combined during build time to produce a single gateway schema that clients can query a single unified API.

Why Fusion?

Suite Framework previously used schema stitching to aggregate multiple GraphQL services into a single gateway. While functional, schema stitching is a manual approach — gateways need explicit knowledge of each downstream service's schema, and keeping them in sync as services evolve adds ongoing maintenance overhead.

Hot Chocolate Fusion is the successor to schema stitching and the standard federation approach going forward in the Hot Chocolate ecosystem. The key improvements over stitching are:

Build-time composition instead of runtime stitching
With schema stitching, the gateway fetches and merges schemas from downstream services at startup. This means any schema incompatibility or misconfiguration is only discovered when the gateway boots — or worse, when a query hits it in production. Fusion moves composition entirely to build time: schemas are packaged, composed, and validated as part of the CI/CD pipeline via the Suite CLI, before anything is deployed.

Schema errors caught before deployment
Because composition happens at build time, conflicts between subgraph schemas — such as type mismatches, naming collisions, or missing fields — are surfaced as CLI errors during the build. This shifts schema validation left, making issues visible to developers immediately rather than as runtime failures.

Migrating an existing Stitching schema to Fusion? See Migrating from Schema Stitching.

Fusion architecture

graph TD
    A[Subgraph A]
    B[Subgraph B]
    C[Subgraph C]

    A --> D[Fusion Composition]
    B --> D
    C --> D

    D --> E[BFF Gateway]
    E --> F[Clients]

Continue reading