back to home

apache / dubbo

The java implementation of Apache Dubbo. An RPC and microservice framework.

41,740 stars
26,552 forks
926 issues
JavaGroovyMustache

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing apache/dubbo in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/apache/dubbo)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview

Apache Dubbo Project

Build and Test For PR Codecov Maven License Average time to resolve an issue Percentage of issues still open

Apache Dubbo is a powerful and user-friendly Web and RPC framework. It supports multiple language implementations such as Java, Go, Python, PHP, Erlang, Rust, and Node.js/Web.

Dubbo provides solutions for communication, service discovery, traffic management, observability, security, tooling, and best practices for building enterprise-grade microservices.

🚀 We're collecting user info to improve Dubbo. Help us out here: Who's using Dubbo


🧱 Architecture

Architecture

  • Communication between consumers and providers is done via RPC protocols like Triple, TCP, REST, etc.
  • Consumers dynamically discover provider instances from registries (e.g., Zookeeper, Nacos) and manage traffic using defined strategies.
  • Built-in support for dynamic config, metrics, tracing, security, and a visualized console.

🚀 Getting Started

📦 Lightweight RPC API

Start quickly with our 5-minute guide

Dubbo allows you to build RPC services using a minimal codebase and a lightweight SDK. It supports protocols like:

🌱 Microservices with Spring Boot

Kickstart your project using Spring Boot Starter.

Using just a dependency and a YAML config, you can unlock the full power of Dubbo: service discovery, observability, tracing, etc.

➡️ Learn how to deploy, monitor, and manage traffic for Dubbo services.


🛠️ More Features

Explore more through our hands-on tasks:


📦 Which Dubbo Version Should I Use?

Dubbo3

📦 Version Compatibility

VersionJDK SupportDependenciesHighlights
3.3.7-SNAPSHOT1.8 – 25Coming Soon✅ JDK 25 Support
3.3.61.8 – 21View Dependencies✅ Mutiny Reactive Support <br> ✅ Affinity Router <br> ✅ Method-level TPS Limiting <br> ✅ Spring 6 Security Plugin <br> ✅ Enhanced Environment Variable Config
3.3.51.8 – 21View Dependencies✅ Actively Maintained <br> ✅ Triple Protocol (gRPC/cURL) <br> ✅ REST Support <br> ✅ Spring Boot Starters
3.2.161.8 – 17View Dependencies✅ Actively Maintained <br> ✅ Metrics & Tracing <br> ✅ Thread Pool Isolation <br> ✅ +30% Performance <br> ✅ Native Image Support
3.1.111.8 – 17View Dependencies⚠️ Stable, but Not Actively Maintained

Dubbo2

VersionJDKDependenciesDescription
2.7.231.8dependency list❌ EOL
2.6.x, 2.5.x1.6 - 1.7dependency list❌ EOL

🤝 Contributing

See our CONTRIBUTING guide to get started!

🔁 Community Collaboration

💡 How You Can Help

If you're interested in contributing, email us at dev@dubbo.apache.org.


🐞 Reporting Issues

Please use our issue template when reporting bugs.


🔐 Reporting Security Vulnerabilities

Please report vulnerabilities privately to security@dubbo.apache.org.


📬 Contact


📄 License

Apache Dubbo is licensed under the Apache License 2.0.