Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Federation/Microservices Support #863

Open
nklayman opened this issue May 15, 2020 · 3 comments
Open

Federation/Microservices Support #863

nklayman opened this issue May 15, 2020 · 3 comments
Labels
scope/schema Related to the schema component scope/server Related to the server component type/feat Add a new capability or enhance an existing one

Comments

@nklayman
Copy link

Related: graphql-nexus/nexus#148

Perceived Problem

If you don't know what microservices are: https://microservices.io/

Currently, a Nexus server can only be easily implemented as a monolith. This can cause issues for large scale deployments with many teams working on the code. By using a microservices-based architecture, teams can work independently on their own server, package it as a container, and deploy it along with many other "microservices" (servers) to form a complete API. There are many other benefits to microservices (and some drawbacks), see the link above for more details.
Tools like Apollo Federation allow multiple graphql servers to be stiched together to expose a single graph that functions like a monolith server. This makes it really easy to create a microservices-based api.

Ideas / Proposed Solution(s)

Support the Apollo Federation specification or create a new specification that allows multiple nexus servers to be stitched together to expose a single graph.

I really love the code-first approach of Nexus and the great Prisma 2 integration, but Apollo Federation is just too good to give up. I really hope I'll be able to use Nexus one day, keep up the great work with this project!

@nklayman nklayman added the type/feat Add a new capability or enhance an existing one label May 15, 2020
@ManAnRuck
Copy link

🤩 this would be awesome if nexus/prisma works in combination with Apollo Federation!

@jasonkuhrt jasonkuhrt added this to Triage in Prisma GraphQL WG Team via automation Jun 11, 2020
@jasonkuhrt jasonkuhrt pinned this issue Jun 11, 2020
@jasonkuhrt jasonkuhrt unpinned this issue Jun 25, 2020
@sanderkooger
Copy link

We are just in the beginning stages of development for an app that runs a microservice backend. We choose for a federated gateway to be able to give developers ownership over the types for their part of the GQL schema. We too would really like to see federation support being ported to Nexus.

@jasonkuhrt jasonkuhrt pinned this issue Jul 14, 2020
@Weakky Weakky added scope/schema Related to the schema component scope/server Related to the server component labels Jul 20, 2020
@paniavula
Copy link

first class support for apollo federation (or an equivalent) would simplify quite many things. Since we now switched to apollo server, I hope this can be achieved soon.

@jasonkuhrt jasonkuhrt unpinned this issue Sep 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope/schema Related to the schema component scope/server Related to the server component type/feat Add a new capability or enhance an existing one
Projects
None yet
Development

No branches or pull requests

5 participants