Tweetdeck validating problem
To expose this data to Graph QL, they built a "Subscriptions" service that subscribes to Event Bus streams.
This Subscriptions service is separate from the Graph QL API.
Each service exposes an asynchronous, typed interface, so communication between microservices already uses types. And here is where the Graph QL API fits in as an HTTP and Thrift service: Graph QL fits into this picture as an HTTP Thrift service alongside the others.
It uses many data sources including existing HTTP endpoints and other Thrift services.
The lower-level services are responsible for authorization (permissions) checks.
This becomes their success rate measure, so dashboards and alerting revolves around this metric. Imagine a pathologically nested query (followers of followers of followers...): They have two defences: complexity and depth. They assign a "score" (some point value) to each field, and calculate the total cost of a query.This means that the API receives both a query and an event, and uses the event as the basis for the query execution.