Integrating Multiple Microservices with GraphQL

One interesting issue I faced in the runs project is the need to call multiple microservices REST endpoints. As we discussed earlier, all of the REST endpoints in the run project follow the zero trust security model. This means each of them has a JWT implementation for authenticating and authorizing. Maintaining so many logins and deployment of all these things created an inter dependency in my dev ops cycle.

Then was the idea of introducing one gateway. This gateway can help me make all the REST calls via the Spring boot Web client builder framework. It would expose one single end point to my front-end application. I looked at several gateways. I considered the Spring gateway. Yet, the GraphQL gateway was fitting well for the Runs app.

The diagram illustrates the architecture of the Runs project. It showcases the integration of multiple microservices (Gamin, Strata, NIKE). These are connected through a GraphQL gateway to a front-end application.

I plan to do a deep dive on how this is implemented in Runs project. For now this post is about what is planned for the next iteration of runs app.