A demonstration of building federated GraphQL services using Netflix's DGS framework with Apollo Federation.
Netflix/dgs-federation-example is a demonstration project that shows how to build federated GraphQL services using Netflix's DGS framework with Apollo Federation. It provides a working example of decomposing a GraphQL schema across multiple microservices (one for shows data, another for reviews) that are combined through a federated gateway. This solves the problem of scaling GraphQL APIs across teams while maintaining a unified interface for clients.
Backend developers and architects implementing GraphQL federation in Java/Kotlin ecosystems, particularly those using Netflix's DGS framework who need practical examples of federated service patterns.
Developers choose this example because it provides a complete, runnable reference implementation from Netflix themselves, demonstrating real-world federation patterns with their DGS framework. It shows how to properly structure federated services with clear separation of concerns between different domains (shows vs reviews).
This project is a practical example of implementing GraphQL federation using Netflix's Domain Graph Service (DGS) framework alongside Apollo Federation Server. It illustrates how to decompose a GraphQL schema across multiple microservices, enabling teams to independently develop and deploy their GraphQL services while maintaining a unified API for clients.
shows-dgs and reviews-dgs) into a single federated graph.The example consists of three components: a Kotlin-based shows-dgs service providing core Show data, a Java-based reviews-dgs service extending the Show type with reviews, and an apollo-gateway Node.js service that federates the schemas and serves as the entry point for client queries.
The project follows a microservices-based approach to GraphQL, promoting separation of concerns and team autonomy while maintaining a cohesive API through federation.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.