One of the advantages of GraphQL is that it provides great ergonomics for working with realtime data via subscriptions: long-lived, query-like operations that allow us to continuously receive data updates from the server, without worrying too much about the underlying data transfer details. But what do we need to worry about when developing realtime apps with GraphQL, especially if we’re trying to do so at scale? And if we run into performance problems (spoiler: we will!), what can we do about it?
In this talk, we’ll dig into how GraphQL subscriptions work, and some of the resulting challenges that crop up when dealing with huge amounts of data. We’ll explore approaches to addressing those challenges as implemented in Hasura’s open-source GraphQL engine, with the goal of a better developer experience for building scalable realtime apps.