dubbo

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

41,553 stars Java Markdown Skills API Spec #distributed-systems#dubbo#framework#grpc
AI Prompts & Specs

Repository: apache/dubbo


Stars: 41591

README.md


Apache Dubbo Project

![Build and Test For PR](https://github.com/apache/dubbo/actions/workflows/build-and-test-pr.yml)
![Codecov](https://codecov.io/gh/apache/dubbo)
![Maven](https://github.com/apache/dubbo/releases)
![License](https://github.com/apache/dubbo/blob/3.3/LICENSE)
![Average time to resolve an issue](http://isitmaintained.com/project/apache/dubbo)
![Percentage of issues still open](http://isitmaintained.com/project/apache/dubbo)

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:

- Triple (gRPC-compatible)
- Dubbo2 (TCP)
- REST
- Custom protocols

🌱 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:

- Launch a Dubbo project
- RPC protocols
- Traffic management
- Service discovery
- Observability
- Extensibility
- Security
- Visualized Console
- Kubernetes & Service Mesh

---

📦 Which Dubbo Version Should I Use?

Dubbo3

📦 Version Compatibility

| Version | JDK Support | Dependencies | Highlights |
|--------------------|-------------|-----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|
| 3.3.7-SNAPSHOT | 1.8 – 25 | Coming Soon | ✅ JDK 25 Support
| 3.3.6 | 1.8 – 21 | View Dependencies | ✅ Mutiny Reactive Support <br> ✅ Affinity Router <br> ✅ Method-level TPS Limiting <br> ✅ Spring 6 Security Plugin <br> ✅ Enhanced Environment Variable Config |
| 3.3.5 | 1.8 – 21 | View Dependencies | ✅ Actively Maintained <br> ✅ Triple Protocol (gRPC/cURL) <br> ✅ REST Support <br> ✅ Spring Boot Starters |
| 3.2.16 | 1.8 – 17 | View Dependencies | ✅ Actively Maintained <br> ✅ Metrics & Tracing <br> ✅ Thread Pool Isolation <br> ✅ +30% Performance <br> ✅ Native Image Support |
| 3.1.11 | 1.8 – 17 | View Dependencies | ⚠️ Stable, but Not Actively Maintained |

Dubbo2

| Version | JDK | Dependencies | Description |
|-------------|-----------|--------------------------------------------------------------------------------------------------------|-------------|
| 2.7.23 | 1.8 | dependency list | ❌ EOL |
| 2.6.x, 2.5.x| 1.6 - 1.7 | dependency list | ❌ EOL |

---

🤝 Contributing

See our CONTRIBUTING guide to get started!

🔁 Community Collaboration

- Issues: For bugs or tasks – GitHub Issues
- Discussions: For questions, ideas – GitHub Discussions
- PRs: For merging your contributions – GitHub Pull Requests
- Project Board: Dubbo Project Board

💡 How You Can Help

- Check out "help wanted" issues: Project Board
- Join mailing list discussions
- Engage in discussions
- Fix bugs or review pull requests
- Enhance the website
- Improve dubbo-admin
- Contribute to the ecosystem

If you're interested in contributing, email us at [email protected].

---

🐞 Reporting Issues

Please use our issue template when reporting bugs.

---

🔐 Reporting Security Vulnerabilities

Please report vulnerabilities privately to [email protected].

---

📬 Contact

- WeChat: apachedubbo
- DingTalk: Group ID 37290003945
- Mailing List: Contact Guide
- Twitter: @ApacheDubbo
- Security: [email protected]

---

📄 License

Apache Dubbo is licensed under the Apache License 2.0.