What’s New in Dubbo 3.2? Deep Dive into Cloud‑Native Features and Performance Boosts

Dubbo 3.2 introduces native REST support, enhanced observability with Metrics and Tracing, GraalVM Native Image compatibility, JDK 17/21 readiness, significant RPC performance gains, and a smooth upgrade path, all aimed at strengthening its role as a cloud‑native RPC framework for microservices.

Alibaba Cloud Native
Alibaba Cloud Native
Alibaba Cloud Native
What’s New in Dubbo 3.2? Deep Dive into Cloud‑Native Features and Performance Boosts

Background

Apache Dubbo is an open‑source RPC framework that provides service governance and communication for micro‑service architectures. It offers Java, Go and other SDKs, supports service discovery, load balancing, traffic routing, and is highly extensible for custom traffic interception and routing logic.

REST Protocol Support (01)

Dubbo 3.2 adds native support for the REST protocol using Spring Web annotations, eliminating the need for external components such as Resteasy, Tomcat, or Jetty. Developers can simply replace @Controller with @DubboService to expose services via REST, and existing Spring Boot or Spring Cloud applications can migrate to Dubbo with minimal changes.

Why REST?

REST, built on HTTP, offers flexibility, readability, and ease of testing with tools like cURL or Postman, making integration with diverse systems simpler than binary RPC protocols.

Improvements Over Previous Versions

Supports Spring Web annotations instead of only JAX‑RS, reducing complexity.

Removes heavy external dependencies, lowering operational cost.

Observability System (02)

A complete observability suite now includes Metrics, Tracing, and Logging.

Metrics

Dubbo integrates Micrometer to expose core service metrics (QPS, latency, request counts, success/failure rates, thread‑pool status) via Prometheus pull/push modes and provides ready‑made Grafana dashboards. Adding the dubbo-spring-boot-observability-starter dependency enables metrics exposure at http://127.0.0.1:22222/metrics or through Spring Actuator.

Tracing

Tracing is implemented via a native Filter that records request spans and can export data to Zipkin, SkyWalking, Jaeger, etc., enabling full‑link analysis and visualization.

Logging

Since Dubbo 3.1, a unified error‑code mechanism provides complete WARN/ERROR logging coverage, with quick links to official troubleshooting documentation.

Metrics dashboard
Metrics dashboard

Native Image Support (03)

Dubbo 3.2 officially supports GraalVM Native Image. The build plugin has been switched from native-image-maven-plugin to a combined dubbo-maven-plugin + native-maven-plugin, simplifying configuration. Adaptive code generation is now automatic, and native‑image configuration files are packaged under target instead of the project source tree.

Other Enhancements (04)

JDK 17 & Spring Boot 3 Compatibility

Dubbo runs flawlessly on JDK 17, using Fastjson2 and an optimized Javassist to resolve reflection restrictions introduced in JDK 16. Preparations for JDK 21 and Project Loom are underway for the next minor release.

RPC Performance Improvements

Dubbo 3.2 removes synchronization bottlenecks, reduces thread‑switch overhead, and optimizes I/O. Benchmarks show:

Triple protocol: 40‑45% faster for small payloads, comparable to gRPC; 17% faster for large payloads.

Dubbo protocol: up to 180% faster for small messages, 1000% faster for large list operations.

Performance comparison chart
Performance comparison chart

Upgrade Guide (05)

To upgrade to Dubbo 3.2:

Update Maven coordinates to

<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>3.2.0</version>

.

Replace @Controller with @DubboService for REST services.

Add dubbo-spring-boot-observability-starter for metrics.

Security and Compatibility Tweaks (06)

Dubbo 3.2 enables strict serialization whitelist checking by default; users can set -Ddubbo.application.serialize-check-status=WARN to monitor warnings before enforcing strong checks. The default serializer switches from Hessian2 to Fastjson2, with automatic fallback to Hessian2 for mixed‑version clusters. Empty‑address protection is disabled by default but can be enabled via dubbo.application.enable-empty-protection=true if needed.

Conclusion

Dubbo 3.2 marks a major step toward cloud‑native readiness, offering native REST, comprehensive observability, GraalVM support, JDK 17 compatibility, and substantial performance gains, while maintaining a smooth upgrade experience for existing users.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

JavaperformanceCloud NativeObservability
Alibaba Cloud Native
Written by

Alibaba Cloud Native

We publish cloud-native tech news, curate in-depth content, host regular events and live streams, and share Alibaba product and user case studies. Join us to explore and share the cloud-native insights you need.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.