> Markdown version of [/videos/89-development-of-reactive-applications-with-quarkus?t=565](https://www.wearedevelopers.com/videos/89-development-of-reactive-applications-with-quarkus?t=565). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Development of reactive applications with Quarkus Ditch synchronous APIs and bulky memory footprints. Learn to build non-blocking, reactive microservices with Quarkus that process massive request volumes in half the time. - **Speakers:** Niklas Heidloff - **Event:** WeAreDevelopers LIVE - **Published:** December 3, 2020 - **Duration:** 39:10 - **URL:** https://www.wearedevelopers.com/videos/89-development-of-reactive-applications-with-quarkus ## Summary Transitioning from traditional imperative Java to reactive applications fundamentally shifts how developers approach memory consumption, request handling, and scalability. This session explores the practical development of reactive systems using Quarkus, an optimized framework designed specifically for container workloads. By replacing synchronous REST APIs with non-blocking asynchronous endpoints, applications can process significantly higher request volumes in half the time while drastically lowering their resource footprint. This efficiency is achieved by never blocking the main thread, instead utilizing interfaces like CompletionStage and CompletableFuture to defer execution until responses are fully available. Adopting a reactive programming model requires developers to relearn core paradigms, particularly around error handling and timeouts. Instead of standard try-catch blocks, reactive systems manage failures through callback methods like exceptionally, ensuring applications remain resilient and responsive. Furthermore, combining Quarkus with Eclipse MicroProfile and Apache Kafka enables seamless message-driven architectures. Developers can leverage the MicroProfile Reactive Messaging specification to efficiently consume Kafka events and push automated updates directly to web interfaces using Server-Sent Events, removing the need for resource-heavy client polling. When deployed on modern cloud platforms, Quarkus applications demonstrate extreme operational efficiency. By pushing integration frameworks to build time and utilizing memory-optimized runtimes like the OpenJ9 JVM or GraalVM, startup times and memory footprints are reduced to a fraction of traditional Java stacks. Ultimately, aligning reactive programming with container-native orchestration provides a robust foundation for building elastic, cloud-native microservices capable of seamless horizontal scaling. **Keywords:** reactive java applications, quarkus framework, microprofile reactive messaging, eclipse vert.x, asynchronous non-blocking programming, cloud-native microservices, kubernetes container workloads, completablefuture implementation, apache kafka integration, server-sent events routing, openj9 JVM optimization, red hat openshift, reactive REST endpoints, scalable reactive systems ## Chapters 1. **Understanding the capabilities and value of reactive technologies** (00:17) — How adopting reactive software patterns improves overall system reliability and cloud efficiency. 1. **Real-world scenarios for reactive web and REST applications** (02:07) — Demonstrating automatic user interface refreshes and improved server efficiency under high traffic loads. 1. **Key traits of reactive systems and the reactive manifesto** (04:25) — How elasticity, resiliency, and responsiveness define modern cloud-native architectures. 1. **Shifting to reactive programming paradigms in Java code** (06:48) — Navigating the paradigm shift of completion stages, chained methods, and non-blocking concepts. 1. **Technology stack for building robust microservices applications** (09:25) — Exploring Quarkus, MicroProfile, Vert.x, and Kubernetes as a unified reactive network foundation. 1. **Optimizing container workloads with Quarkus and lightweight JVMs** (10:44) — Reducing cloud memory consumption and startup times using GraalVM or OpenJ9. 1. **Leveraging Vert.x and MicroProfile within Kubernetes runtime environments** (13:21) — Combining imperative and reactive programming models into portable and observable cloud-native pods. 1. **Implementing asynchronous REST endpoints using completable futures** (14:52) — Keeping main execution threads unblocked by returning completable futures and chaining intermediate stages. 1. **Managing runtime exceptions natively without classical try-catch blocks** (20:24) — Handling failures asynchronously using exceptionally blocks and specific completable failure methods. 1. **Controlling asynchronous execution timeouts during networked database operations** (22:12) — Using the Java 9 timeout method on completable futures to prevent hanging database threads. 1. **Calling microservices asynchronously with the MicroProfile REST client** (24:02) — Abstracting underlying networking and serialization layers transparently between distributed Java services. 1. **Processing message streams dynamically with MicroProfile reactive messaging** (25:33) — Connecting backend endpoints through Kafka topics using incoming and outgoing processor annotations. 1. **Streaming server updates to web clients using sent events** (29:32) — Exposing a media type endpoint to trigger JavaScript event source updates dynamically. 1. **Exploring the cloud-native sample application and testing scripts** (31:33) — Utilizing an open source repository for quick iterative local testing and deployments. 1. **Running Kubernetes clusters efficiently on enterprise cloud platforms** (33:46) — Leveraging managed OpenShift and bare metal cluster resources for scalable cloud-native architectures. 1. **Recapping reactive concepts and open source community engagement** (37:12) — Summarizing overall performance benefits and sharing key resources to start writing non-blocking code. ## Related Moments - [Demonstrating event-driven auto-scaling with native Quarkus and Kafka](https://www.wearedevelopers.com/videos/1008-serverless-java-in-action-cloud-agnostic-design-patterns-and-tips) (from "Serverless Java in Action: Cloud Agnostic Design Patterns and Tips") - [Combining imperative and reactive execution models with Quarkus](https://www.wearedevelopers.com/videos/751-is-reactive-the-new-black-imperative-vs-reactive-programming-with-quarkus) (from "Is reactive the new black? Imperative vs. reactive programming with Quarkus") - [Building scalable applications with reactive programming](https://www.wearedevelopers.com/videos/383-kubernetes-native-java) (from "Kubernetes Native Java") - [Introduction to developer joy and the Quarkus ecosystem](https://www.wearedevelopers.com/videos/1591-developer-joy-with-quarkus) (from "Developer Joy with Quarkus") - [Overcoming Java cold starts using the Quarkus framework](https://www.wearedevelopers.com/videos/243-serverless-native-java-with-quarkus) (from "Serverless-Native Java with Quarkus") - [Deploying native Quarkus applications to a Knative cluster](https://www.wearedevelopers.com/videos/243-serverless-native-java-with-quarkus) (from "Serverless-Native Java with Quarkus") ## Related Articles - [The Best JavaScript Framework to Learn](https://www.wearedevelopers.com/magazine/229-the-best-javascript-framework-to-learn) - [Building AI Solutions with Rust and Docker](https://www.wearedevelopers.com/magazine/494-building-ai-solutions-with-rust-and-docker) - [c't <webdev> 2023](https://www.wearedevelopers.com/magazine/307-c-t-webdev-2023) - [Web Development Best Practices: What The Data Tells us](https://www.wearedevelopers.com/magazine/84-web-development-best-practices-what-the-data-tells-us) ## Related Jobs - [Platform Engineer - Mercury Runtime Platform](https://www.wearedevelopers.com/jobs/ext/293235-platform-engineer-mercury-runtime-platform) at **Raiffeisen Bank International AG** - [Platform Engineer (f/m/x) - Mercury Runtime Platform](https://www.wearedevelopers.com/jobs/48266-platform-engineer-f-m-x-mercury-runtime-platform) at **Raiffeisen Bank International AG** - [Java Softwareentwickler - Spring Boot & Microservices](https://www.wearedevelopers.com/jobs/ext/1306817-java-softwareentwickler-spring-boot-microservices) at **Aok Systems Gmbh** - [Mid/Senior Full-Stack Engineer (Web-first)](https://www.wearedevelopers.com/jobs/ext/1210833-mid-senior-full-stack-engineer-web-first) at **SMG Swiss Marketplace Group** - [Junior Frontend Engineer](https://www.wearedevelopers.com/jobs/ext/1532351-junior-frontend-engineer) at **Almedia** - [Working Student Frontend Development](https://www.wearedevelopers.com/jobs/ext/1185791-working-student-frontend-development) at **ZEISS Group**