Take a scenario with a federated graphQL with multiple services where there are some services that depends on the others, like this:
The gateway was defined using Apollo:
const gateway = new ApolloGateway({
serviceList: services
});
Where services is an array of available running services.
There is a kubernetes managing the availability of each service, so every time a service goes up or goes down kubernetes warns the gateway so it update this array and with gateway.load()
it updates the server with the correct available services.
The problem is when a service goes down and some other service depends on it, like on the previous picture if Role goes down, Person is also affected.
I would like to know if it's possible to configure the gateway to change the schema of a service in order to take the dependency out. In this case when Role goes down, change Person schema so the client is not able to use this field anymore (since it is down).
If it is not possible, is there a work around solution?
question from:
https://stackoverflow.com/questions/65602520/federated-graphql-gateway-update-services-and-schema 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…