Skip to content

Files

Latest commit

 

History

History
67 lines (45 loc) · 2.61 KB

microservices-fwk-overview.md

File metadata and controls

67 lines (45 loc) · 2.61 KB

Microservices Frameworks Overview

📌 A comparison between Spring Boot, Micronaut, Quarkus & Helidon

🚧 ⚠️ 👷

Global Overview

Spring Boot Micronaut Quarkus Helidon
Description Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". A modern, JVM-based, full-stack framework for building modular, easily testable microservice and serverless applications. Supersonic Subatomic Java. A Kubernetes Native Java stack tailored for OpenJDK HotSpot and GraalVM, crafted from the best of breed Java libraries and standards. Helidon is a collection of Java libraries for writing microservices that run on a fast web core powered by Netty.
Home page https://spring.io/projects/spring-boot https://micronaut.io/ https://quarkus.io/ https://helidon.io/
Sponsor VM Ware Object Computing Red Hat Oracle
Starter page Spring Initializr Micronaut Launch Quarkus Start Coding none : archetype:generate
Run the app mvn spring-boot:run -Dspring-boot.run.profiles=foo,bar java -jar target/myapp.jar mvn compile quarkus:dev  java -jar target/myapp.jar

Health Checks URL

  • Spring-Boot :
    • (/actuator)/health
    • (/actuator)/health/liveness
    • (/actuator)/health/readiness
  • Micronaut :
    • /health
    • /health/liveness
    • /health/readiness
  • Quarkus / Helidon (Microprofile) :
    • /health
    • /health/live
    • /health/ready

Reactive implementations

Spring Boot, Micronaut 3.X

Use : netty

Reactor is a fourth-generation reactive library, based on the Reactive Streams

  • reactor.core.publisher.Mono
  • reactor.core.publisher.Flux

Micronaut 2.X

Use : netty

ReactiveX (RxJava) - An API for asynchronous programming with observable streams

  • io.reactivex.Single
  • io.reactivex.Maybe
  • io.reactivex.Flowable

Quarkus

Use : vert.x

SmallRye Mutiny - Intuitive Event-Driven Reactive Programming Library for Java

  • io.smallrye.mutiny.Uni - for asynchronous action providing 0 or 1 result
  • io.smallrye.mutiny.Multi - for multi-item (with back-pressure) streams

Helidon

Use : netty

  • io.helidon.common.reactive.Single
  • io.helidon.common.reactive.Multi