Microservice architecture patterns with GraphQL

Visa fullständig post


Titel: Microservice architecture patterns with GraphQL
Författare: Touronen, Ville
Medarbetare: Helsingin yliopisto, Matemaattis-luonnontieteellinen tiedekunta
University of Helsinki, Faculty of Science
Helsingfors universitet, Matematisk-naturvetenskapliga fakulteten
Utgivare: Helsingin yliopisto
Datum: 2019
Språk: eng
Permanenta länken (URI): http://urn.fi/URN:NBN:fi:hulib-201908133199
Nivå: pro gradu-avhandlingar
Ämne: Networking and Service
Abstrakt: In this thesis the GraphQL query language was studied in the context of the microservice architecture. The thesis was a combination of a literary study and expert interviews. Most prevalent microservice architecture patterns were gathered from peer reviewed studies and grey literature. Four expert interviews were held to detect which patterns were used in projects which used a microservice architecture and GraphQL APIs. Based on the interviews, a typical GraphQL microservice architecture consists of up to 10 REST or GraphQL microservices exposed to public networks using a GraphQL API gateway. The studied microservice architectures typically had a flat structure where a GraphQL API gateway exposed the other microservices in a protected network, which used a persistence layer to store data. Most of the microservice architectures seemed to rely on synchronous communication patterns, using a platform provided service discovery mechanisms to implement load balancing. The most prominent authorization mechanism was to use web tokens via an authorization header. An aggregating GraphQL service seemed to work well as an API gateway layer, which exposes the functionality of underlying microservices to clients. A pattern called schema stitching was successfully used in some of the interviewed projects to automatically combine multiple microservice GraphQL schemas together. Overall the interviewed developers had a positive experience using GraphQL in their projects. The API exploration tools and built-in documentation enabled by the GraphQL schema introspection functionality made client application development easier.

Filer under denna titel

Totalt antal nerladdningar: Laddar...

Filer Storlek Format Granska
Touronen_Ville_Pro_gradu_2019.pdf 1.043Mb PDF Granska/Öppna

Detta dokument registreras i samling:

Visa fullständig post