The main issues you probably will face developing a GraphQL API

Image for post
Image for post
Snowflake: Ice Rainbow by Alexey Kljatov

This post is a branch of "Sharing data in a Microservices Architecture using GraphQL" where I explore some problems integrating services in a Microservices Architecture and how GraphQL comes in handy to solve some of them.

For some time working and studying GraphQL, I have found some important concerns for anyone considering using this tool. In this post I’ll summarize these concerns and list some actions that can be taken as workarounds.

We will cover three main types of concerns/problems:

1 — Almost impossible to solve:

  • Query In Indefinite Depth
    TL;DR: GraphQL cannot query in indefinite depth, so if you have a tree and want to return a branch without knowing the depth, you’ll have to do some pagination.


English version here.

Aqui no GetNinjas, passamos por alguns dilemas integrando componentes da nossa Arquitetura de Microsserviços e explorando as opções disponíveis, o GraphQL mostrou-se como uma excelente ferramenta. Vou listar aqui alguns problemas com três maneiras comuns de fazer essas integrações, e no final, sugerir o GraphQL como uma opção melhor para alguns casos.

Estratégias comuns

Estratégia #1 — Compartilhar acesso ao banco de dados

Integrar sistemas através dos seus bancos de dados parece ser tão fácil que nos sentimos seduzidos à fazer isso. …


Here at GetNinjas we’ve faced some problems integrating components of our Microservices Architecture and exploring available options, GraphQL showed up as an excellent fit. I’ll focus on exploring problems with three common ways to do that, and in the end suggest GraphQL as a better option for some cases.

Common strategies

Strategy #1 — Share database access

Integrate systems by their databases seems to be so easy that we feel seduced to do this. …

Bruno Soares

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store