Open-source durable execution engine for orchestrating microservices, AI agents and adaptive workflow graphs, with workers in multiple languages.
apache/dubbo
Java implementation of Apache Dubbo, an RPC and microservice framework for building service communication, discovery and traffic management.
- Stars
- 41,578
- Forks
- 26,330
- Open issues
- 1,049
- Last commit
- yesterday
What is it?
Apache Dubbo is a Web and RPC framework for building microservices. This repository holds the Java implementation, with sibling projects providing Go, Python, PHP, Erlang, Rust and Node.js/Web clients under the same umbrella.
Dubbo covers service communication over protocols such as Triple (gRPC-compatible), Dubbo2 over TCP, and REST, and integrates with registries like Zookeeper and Nacos for service discovery. It also provides traffic management, observability, tracing, security, and a visualized console. A Spring Boot Starter lets developers enable these features through a dependency and YAML configuration.
The project is organized into version lines: 3.3.x is the current line with JDK 1.8 through 25 support, while 3.2.x and 3.1.x remain available, and Dubbo2 versions are end-of-life.
Key features
- 01Triple protocol compatible with gRPC, plus Dubbo2 TCP and REST
- 02Service discovery through registries such as Zookeeper and Nacos
- 03Traffic management and method-level rate limiting
- 04Metrics, tracing and a visualized console for observability
- 05Spring Boot Starter for configuration-driven setup
Use cases
- Building RPC services between Java microservices
- Migrating Spring-based services to a registry-driven microservice setup
- Exposing Java services to gRPC or REST clients through Triple
- Running cross-language services alongside Go or Python Dubbo clients
Quick start
- 1
Follow the 5-minute lightweight RPC guide to build a service with the Dubbo SDK
- 2
Or use the Spring Boot Starter guide to add Dubbo to a Spring Boot project
Things to know
- Dubbo 2.x versions are end-of-life and no longer supported.
- Dubbo 3.1.11 is stable but not actively maintained.
- Dubbo 3.3.7-SNAPSHOT dependencies are not yet available.
Topics
FAQ
- What is dubbo?
- Java implementation of Apache Dubbo, an RPC and microservice framework for building service communication, discovery and traffic management. Apache Dubbo is a Web and RPC framework for building microservices. This repository holds the Java implementation, with sibling projects providing Go, Python, PHP, Erlang, Rust and Node.js/Web clients under the same umbrella.
- Is dubbo free to use? What license does it have?
- dubbo is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is dubbo still maintained?
- Actively maintained. The last commit to dubbo was on Oct 20, 2026.
- What can I use dubbo for?
- Building RPC services between Java microservices Migrating Spring-based services to a registry-driven microservice setup Exposing Java services to gRPC or REST clients through Triple Running cross-language services alongside Go or Python Dubbo clients
- How do I install dubbo?
- Follow the 5-minute lightweight RPC guide to build a service with the Dubbo SDK Or use the Spring Boot Starter guide to add Dubbo to a Spring Boot project
- Where can I get dubbo?
- The source code and installation instructions are on GitHub: https://github.com/apache/dubbo
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A high-performance HTTP web framework for Go with a Martini-like API, built for REST APIs, web apps and microservices.
An HTTP client for the JVM, Android, and GraalVM that reuses connections, supports HTTP/2, and caches responses by default.
A fast, Flask-style C++ microframework for building HTTP and WebSocket web services, header-only and easy to use.
A Java rule and component orchestration engine that defines business flows in a DSL, with hot rule refresh and AI Agent nodes.
Annotation-driven Java admin framework: annotate a JPA entity with @Erupt and get a generated admin UI, RBAC, audit logs and REST APIs at runtime.