What is Quarkus?

Quarkus is a new and already popular Java framework by Red Hat. Common Java paradigms are optimized to meet the demands of responsive native apps. This goal is achieved through extremely fast start times in the dimension of milliseconds in combination with low memory usage. To configure Quarkus with all required extensions, a single file is sufficient. Since the first release in March 2019 there have already been several updates with new features and bug fixes.

Use Case Quarkus:
MQTT LoadTest

Use Case Quarkus:

Distribution of geolocation Data via AWS Fargate

Challenge

  • simulation of a highly scalable MQTT based application in Kubernetes

  • necessary startup times in the millisecond range

  • small memory footprint, so that many clients > 100 can be started in Minikube for testing

quarkus-herausforderung-icon

Challenge

  • a service in AWS Fargate is used to distribute geolocation information

  • highly available and scalable for the rapidly growing market

  • necessary startup times in the millisecond range

  • small image memory footprint (fast scaling in Fargate)

pfeil-unten
pfeil-unten

Know-how

  • Java developers

  • MicroProfile

  • Kubernetes

  • Docker

quarkus-know-how-icon

Know-how

  • JEE 8 MicroProfile developers

  • Redis

  • Apache Kafka

  • Kubernetes

  • Docker

  • AWS

pfeil-unten
pfeil-unten

Route to success with Quarkus

  • Java

  • MicroProfile

  • Native Compilation (startup)

  • memory footprint

quarkus-weg-zum-ziel-icon

Route to success with Quarkus

  • Java

  • MicroProfile

  • Native Compilation (startup)

  • Memory Footprint

  • Native AWS Lambda support

pfeil-unten
pfeil-unten

Implementation

  • client with Quarkus 1.2.0

  • HiveMQ lib for MQTT 5 communication

quarkus-umsetzung-icon

Implementation

  • microservices connected to Redis

  • microservices connected to Kafka

pfeil-unten
pfeil-unten

Benefits for customers

  • client was created within one week

  • client with memory footprint approx. 30 MB in Kubernetes

  • more than 100 test clients in the local Minikube

  • clients fully scalable in cloud environments

  • startup in 0.029 seconds

Successful LoadTest could be performed

 

quarkus-vorteil-icon

Benefits for customers

  • microservices were implemented within four weeks

  • has been running productively in AWS Fargate ever since

  • the smallest Fargate instance is sufficient to operate a microservice

  • highest availability, no failures