Home / Companies / Yugabyte / Blog / Post Details
Content Deep Dive

Building Resilient GraphQL Apps and Scaling Them to 1M Subscriptions

Blog post from Yugabyte

Post Details
Company
Date Published
Author
Nikhil Chandrappa
Word Count
1,111
Language
English
Hacker News Points
-
Summary

GraphQL provides a query language for APIs, giving UX developers autonomy over querying APIs and the database. The advantages of using GraphQL include retrieving only needed data, strong type system, increased velocity, and minimized feedback cycles. For cloud native API developers, factors like performance, handling infrastructure outages, and scalability are crucial. In enterprise development, scaling and resilience needs must be addressed before sending applications to production. To explore scalable and resilient GraphQL apps with distributed SQL databases, a benchmark was conducted using Hasura GraphQL Engine connecting to YugabyteDB. The results showed that the subscription performance tool tested linear scalability of GraphQL subscriptions without downtime. The setup simulated a real-world e-commerce user order management system, scaling resources from 25K subscribers to 1 million subscribers linearly. High availability was also measured during a database pod failure scenario, observing minimal impact due to the stateless nature of Hasura GraphQL Engine and YugabyteDB's stateful service. A sample application was created to benchmark GraphQL subscriptions, demonstrating the importance of addressing scale and resiliency needs in building scalable and resilient GraphQL apps.