dubbo README

The project's README from github.com/apache/dubbo. As one markdown file: README.md.

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


🚀 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

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
✅ Affinity Router
✅ Method-level TPS Limiting
✅ Spring 6 Security Plugin
✅ Enhanced Environment Variable Config
3.3.5 1.8 – 21 View Dependencies ✅ Actively Maintained
✅ Triple Protocol (gRPC/cURL)
✅ REST Support
✅ Spring Boot Starters
3.2.16 1.8 – 17 View Dependencies ✅ Actively Maintained
✅ Metrics & Tracing
✅ Thread Pool Isolation
✅ +30% Performance
✅ 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

💡 How You Can Help

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


📄 License

Apache Dubbo is licensed under the Apache License 2.0.

dubbo (apache/dubbo)

Searching Database…

41.6K ·GitHub
这是什么?Apache Dubbo 是一个 RPC 和微服务框架——这个仓库是它的 Java 实现。它涵盖了通信、服务发现、流量管理、可观测性、安全性,以及构建企业级微服务所需的各类工具。
这只是一个 Java 库,还是一个更大的框架?它是一个完整的 Web 和 RPC 框架,而不是一个小库——而且 Java 也不是唯一的版本:Dubbo 还有 Go、Python、PHP、Erlang、Rust 和 Node.js/Web 版本。这个仓库里放的是 Java 版。
我该怎么把第一个服务跑起来?有两条路:一是用轻量级 RPC API 配合极简的代码(有一份 5 分钟上手指南),二是用 Spring Boot Starter——只需一个依赖加一个 YAML 配置,就能获得服务发现、可观测性和链路追踪。
我需要哪个版本的 JDK?取决于你用的 Dubbo 版本:3.3.6 支持 JDK 1.8-21(3.3.7 快照版新增了对 JDK 25 的支持),而 3.2.16 最高只支持到 JDK 17,更早的 2.6.x/2.5.x 则运行在 JDK 1.6-1.7 上。
现在新项目还能放心用老的 Dubbo2 系列吗?不行——Dubbo2 的各个版本(2.7.23 以及更早的 2.6.x/2.5.x)都已经停止维护,连 3.1.11 也虽然稳定但不再积极维护了。想要持续支持,请选择 3.3.x 或 3.2.x。
我的服务可以用哪些协议通信?Triple(兼容 gRPC,可以用 cURL 测试)、经典的基于 TCP 的 Dubbo2 协议、REST,或者你自己定义的自定义协议。
服务在运行时是怎么互相找到对方的?消费方通过 Zookeeper 或 Nacos 这类注册中心动态发现提供方的实例,它们之间的流量则按照你设定的策略来走。
它能和 Kubernetes 以及服务网格集成吗?可以——Kubernetes 和服务网格支持是文档中重点讲解的实操领域之一,此外还有流量管理、可观测性、扩展性和安全性。
有没有管理服务用的控制台?有——Dubbo 内置了可视化控制台,同时还支持动态配置、指标监控、链路追踪和安全功能。
Creator
apache
Size
60.3 MB
Stars
41.6K
Age
14y
Commits · 90 Days