David Leitner

Rethinking Reactive Architectures with GraphQL

GraphQL is more than a dynamic REST API. Its true power lies in subscriptions for building fully reactive systems.

Rethinking Reactive Architectures with GraphQL
#1about 5 minutes

Defining reactivity through asynchronous data streams

Reactivity is explained as programming with asynchronous data streams, which are data containers existing in plural space and asynchronous time.

#2about 5 minutes

Making relationships between variables explicit and automatic

Reactive programming uses streams to bind variables together, ensuring that changes to one variable automatically propagate to dependent variables.

#3about 4 minutes

Shifting from pull-based to push-based UI design

A mail client example illustrates the shift from a manual, pull-based refresh model to a reactive, push-based model where the UI automatically updates.

#4about 8 minutes

Applying the four principles of the Reactive Manifesto

The Reactive Manifesto's goal of responsiveness is achieved through elasticity and resilience, which are both enabled by a message-driven architecture.

#5about 7 minutes

Tracing the evolution of microservice communication patterns

Microservice architectures evolved from synchronous pull-based communication to fully asynchronous, stream-centric, and event-sourced patterns for better resilience.

#6about 2 minutes

Using GraphQL subscriptions for end-to-end streaming

GraphQL subscriptions solve the final pull-based bottleneck between the client and backend, enabling a fully push-based, end-to-end reactive system.

#7about 4 minutes

Building a real-time collaborative insurance portal

A reactive architecture with GraphQL enables real-time synchronization between an insurance agent's and a customer's UIs for a seamless collaborative experience.

#8about 4 minutes

Achieving resilience in mobile banking with projections

Projections, or specialized read models hydrated from an event store, allow mobile banking apps to remain functional for key features even when backend services are down.

#9about 1 minute

Weighing the benefits and complexity of reactive systems

Reactive architectures offer powerful benefits like resilience and real-time capabilities but come at the cost of increased complexity, so they should be adopted carefully.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.