Comparison of Java Microservice Frameworks: Spring Cloud, Vert.x, and Other Lightweight Options
This article compares several Java microservice frameworks—including Spring Cloud, Vert.x, SparkJava, Micronaut, Javalin, and Quarkus—by describing their features, resource consumption, and performance test results, highlighting the trade‑offs between heavyweight and lightweight solutions for small‑to‑medium services.
Introduction
Spring Boot is easy to set up, especially with the Spring Cloud suite, but its heavy memory usage makes it costly for small companies. Many new Java microservice frameworks market themselves as lightweight because Spring Boot is considered too heavy.
Spring Cloud (Java Microservice Framework No.1)
With Spring’s strong backing, updates, stability, and maturity are not a concern. Most Java developers are familiar with Spring, making it easy to find talent, and the entry barrier is low enough to skip hiring an architect.
However, you will need to provision on the server:
At least one service‑discovery server.
A unified gateway (optional).
A configuration center for distributed configuration (optional).
Service tracing to know request origins and destinations (optional).
Cluster monitoring (optional).
Additional servers as the project scales, which can become costly.
Performance Test – 30 seconds (Spring Cloud)
Memory usage before test
Memory consumption is 304 MB.
Memory usage during test
Memory rises to 1.5 GB and CPU usage spikes to 321%.
Overview
Summary (Spring Cloud)
A simple Spring Boot application needs at least 1 GB of memory; a minimal microservice JAR is about 50 MB, while Spring Cloud adds extra components and consumes more resources.
Startup time is roughly 10 seconds: Started Application in 10.153 seconds (JVM running for 10.915)
Vert.x – Reactive Toolkit for Java
Vert.x, built on Eclipse, is a toolkit for building reactive applications on the JVM. It does not conflict with Spring Boot and can be combined with it. Its many modules provide microservice components, making it a viable microservice architecture choice.
Huawei’s ServiceComb framework is based on Vert.x, and Vert.x performed well in the TechEmpower benchmark.
Performance Test – 30 seconds (Vert.x)
Memory usage before test
Memory consumption is 65 MB.
Memory usage during test
Memory rises to 139 MB and CPU usage is 2.1%.
Overview (Vert.x)
Summary (Vert.x)
A packaged Vert.x service is about 7 MB JAR and runs directly on the JVM without needing containers like Tomcat or Jetty.
Vert.x consumes very little resources; a 1‑core, 2 GB server can host many Vert.x services. An open‑source gateway VX‑API‑Gateway (https://duhua.gitee.io/vx-api-gateway-doc/) built on Vert.x supports multiple languages and is suitable for small projects.
Startup time is under 1 second: Started Vert.x in 0.274 seconds (JVM running for 0.274)
Other Java Microservice Frameworks
SparkJava
JAR size ~10 MB, memory usage 30–60 MB, performance comparable to Spring Boot.
Micronaut
Favored by the Grails team; supports Java, Groovy, Kotlin; more comprehensive than Spring Boot; good performance; similar coding style; efficient startup and memory usage; multi‑language support; built‑in cloud‑native features; newly released 1.0.0.
Javalin
Very easy to start; flexible for synchronous and asynchronous code; JAR size 4–5 MB; multi‑language; inspired by KOA; about 2000 lines of source code; supports embedded Jetty.
Quarkus
Fast startup; JAR size ~10 MB; documentation is limited.
Architect's Tech Stack
Java backend, microservices, distributed systems, containerized programming, and more.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.