The Future of Federation: Replacing GraphQL Subgraphs with gRPC Services
Blog post from Wundergraph
Federation in API design is a powerful concept that allows splitting a unified API into multiple subsystems, but the traditional approach using GraphQL Subgraphs has limitations, particularly in terms of type safety, manual data loading, and performance constraints tied to Apollo's specifications. Jens Neuse, CEO of WunderGraph, explores a new approach by replacing GraphQL with gRPC at the Subgraph level to improve performance, simplify architecture, and enhance developer experience, while retaining GraphQL on the client-side. This method removes the dependency on Apollo's gatekeeping, allows faster feature rollouts, and provides more flexibility in language choice for implementing federated services. The Cosmo Router, an open-source project, is central to this approach, handling data loading and batching internally and offering a more predictable and efficient protocol. Despite the shift towards gRPC, GraphQL will continue to be supported for client-facing APIs, ensuring a seamless transition for developers. Neuse emphasizes this evolution as a step towards breaking free from vendor lock-in and fostering innovation in API development.