Go to file
王聪洋 983ac31f8b Merge branch 'glcc_pu' of https://github.com/wcy666103/dubbo into glcc_pu 2024-06-25 13:49:15 +08:00
.github Merge branch 'apache-3.2' into apache-3.3 2024-06-23 19:46:55 +08:00
.mvn/wrapper Bump Maven Wrapper to 3.8.7 (#11260) 2023-01-12 10:16:56 +08:00
codestyle Exact to support dynamic cert (#11578) 2023-03-08 20:11:07 +08:00
dubbo-cluster bug fix 2024-06-25 13:48:35 +08:00
dubbo-common New metadata service (#14210) 2024-06-25 11:01:35 +08:00
dubbo-compatible feat:remove old zookeeper (#14028) 2024-05-15 17:09:28 +08:00
dubbo-config New metadata service (#14210) 2024-06-25 11:01:35 +08:00
dubbo-configcenter feat:remove old zookeeper (#14028) 2024-05-15 17:09:28 +08:00
dubbo-demo Merge branch 'apache-3.2' into apache-3.3 2024-06-23 19:46:55 +08:00
dubbo-dependencies Bump version to 3.3.0-beta.5-SNAPSHOT 2024-06-23 19:47:25 +08:00
dubbo-dependencies-bom Bump version to 3.3.0-beta.5-SNAPSHOT 2024-06-23 19:47:25 +08:00
dubbo-distribution Triple Unary Call Support On Servlet (#14314) 2024-06-16 17:55:19 +08:00
dubbo-maven-plugin Merge branch 'apache-3.2' into apache-3.3 2024-06-17 10:00:57 +08:00
dubbo-metadata New metadata service (#14210) 2024-06-25 11:01:35 +08:00
dubbo-metrics upgrade opentelemetry and zipkin-reporter version (#14338) 2024-06-19 09:37:55 +08:00
dubbo-plugin Fix Compilation failure in jdk8 (#14350) 2024-06-20 15:41:07 +08:00
dubbo-registry New metadata service (#14210) 2024-06-25 11:01:35 +08:00
dubbo-remoting Merge branch 'apache-3.2' into apache-3.3 2024-06-17 10:00:57 +08:00
dubbo-rpc Merge branch 'apache-3.2' into apache-3.3 2024-06-23 19:46:55 +08:00
dubbo-serialization Update hessian-lite to 4.0.1 (#14315) 2024-06-14 16:56:39 +08:00
dubbo-spring-boot Merge branch 'apache-3.2' into apache-3.3 2024-06-23 19:46:55 +08:00
dubbo-test Merge branch 'apache-3.2' into apache-3.3 2024-06-23 19:46:55 +08:00
.artifacts Triple Unary Call Support On Servlet (#14314) 2024-06-16 17:55:19 +08:00
.asf.yaml Add github collaborators 2024-03-12 13:58:13 +08:00
.editorconfig Fix conflicts 2024-01-19 15:19:48 +08:00
.gitattributes [3.0] Code reformat (#8019) 2021-06-10 20:13:39 +08:00
.gitignore Update gitignore - Eclipse IDE specific conf (#14099) 2024-05-08 11:06:02 +08:00
.licenserc.yaml [Feature 3.3] Triple Rest Cors Support (#14073) 2024-05-23 11:05:17 +08:00
CHANGES.md Update CHANGES.md (#12960) 2023-08-27 23:16:56 +08:00
CODE_OF_CONDUCT.md Fix minor issues reported in 2.6.2 RC1 2018-05-22 08:20:10 +08:00
CONTRIBUTING.md Migrate master bugfix (#7927) 2021-06-01 14:14:35 +08:00
Jenkinsfile [CI] fix source jar upload issue for snapshot 2020-03-06 21:28:59 +08:00
Jenkinsfile.sonar Disable test for jenkins (#10928) 2022-11-13 23:01:08 +08:00
LICENSE Add Istio LICENSE 2021-06-13 14:40:09 +08:00
NOTICE Merge branch 'apache-3.2' into apache-3.3 2024-01-19 15:19:31 +08:00
README.md Merge branch 'apache-3.2' into apache-3.3 2024-05-06 15:12:13 +08:00
SECURITY.md Update SECURITY.md 2024-01-08 19:50:50 +08:00
codecov.yml Merge branch 'apache-3.2' into apache-3.3 2023-12-27 23:27:35 +08:00
licenseCheck.sh add license header for licenseCheck.sh file (#5143) 2019-10-08 13:10:31 +08:00
mvnw Bump Maven Wrapper to 3.8.7 (#11260) 2023-01-12 10:16:56 +08:00
mvnw.cmd Bump Maven Wrapper to 3.8.7 (#11260) 2023-01-12 10:16:56 +08:00
pom.xml Bump version to 3.3.0-beta.5-SNAPSHOT 2024-06-23 19:47:25 +08:00

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 an easy-to-use Web and RPC framework that provides multiple language implementations(Java, Go, Rust, Node.js, Web) for communication, service discovery, traffic management, observability, security, tools, and best practices for building enterprise-ready microservices.

We are now collecting Dubbo user info to help us to improve Dubbo further. Kindly support us by providing your usage information on Wanted: who's using dubbo, thanks :)

Architecture

Architecture

  • Consumer and provider communicate with each other using RPC protocol like triple, tcp, rest, etc.
  • Consumers automatically trace provider instances registered in registries(Zookeeper, Nacos) and distribute traffic among them by following traffic strategies.
  • Rich features for monitoring and managing the cluster with dynamic configuration, metrics, tracing, security, and visualized console.

Getting started

Follow the instructions below to learn how to:

Programming with lightweight RPC API

5 minutes step-by-step guide

Dubbo supports building RPC services with only a few lines of code while depending only on a lightweight SDK (<10MB). The protocol on the wire can be Triple(fully gRPC compatible and HTTP-friendly), Dubbo2(TCP), REST, or any protocol of your choice.

Building a microservice application with Spring Boot

5 minutes step-by-step guide

It's highly recommended to start your microservice application with the Spring Boot Starter dubbo-spring-boot-starter provided by Dubbo. With only a single dependency and yaml file, and optionally a bunch of other useful spring boot starters, you can enable all of the Dubo features like service discovery, observability, tracing, etc.

Next, learn how to deploy, monitor, and manage the traffic of your Dubbo application and cluster.

More Features

Get more details by visiting the links below to get your hands dirty with some well-designed tasks on our website.

Which Dubbo version should I use?

Dubbo3 JDK Dependencies Description
3.3.0-beta 1.8 17 dependency list - Unstable version
- Features
   - Triple - gRPC and cURL compatible.
   - Rest-style programming support.
   - Spring Boot Starters.
3.2.5 1.8 17 dependency list - Stable version (active)
- Features
  - Out-of-box metrics and tracing support.
  - Threadpool Isolation
  - 30% performance
  - Native Image
3.1.11 1.8 11 dependency list Stable version (not active)
Dubbo2 JDK Dependencies Description
2.7.23 1.8 dependency list EOL
2.6.x, 2.5.x 1.6 1.7 EOL

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

How does the Dubbo Community collaborate?

The Dubbo Community primarily communicates on GitHub through issues, discussions, and pull requests.

  • Issues: We use issues to track bugs and tasks. Any work-related item is associated with an issue.
  • Discussions: We use discussions for questions, early proposals, and announcements. Any idea-related item is associated with a discussion.
  • Pull Requests: We use pull requests to merge a set of changes from contributors into Dubbo.

We have also implemented a project board to monitor all the items.

Any essential changes should be discussed on the mailing list before they happen.

Seeking for help

If you have questions such as:

  • What is Dubbo?
  • How do I use Dubbo?
  • Why did an unexpected result occur?

Please start a discussion at https://github.com/apache/dubbo/discussions.

However, if you encounter the following situations:

  • You're certain there's a bug that Dubbo needs to fix,
  • You believe a feature could be enhanced,
  • You have a detailed proposal for improving Dubbo,

Please open an issue at https://github.com/apache/dubbo/issues.

To ask effective questions, we recommend reading How To Ask Questions The Smart Way first.

Contribution

  • Browse the "help wanted" tasks in the Dubbo project board.
  • Participate in discussions on the mailing list. See the subscription guide.
  • Respond to queries in the discussions.
  • Resolve bugs reported in issues and send us a pull request.
  • Review existing pull requests.
  • Enhance the website. We typically need:
    • Blog posts
    • Translations for documentation
    • Use cases showcasing Dubbo integration in enterprise systems.
  • Improve the dubbo-admin.
  • Contribute to the projects listed in the ecosystem.
  • Any other forms of contribution not listed above are also welcome.
  • If you're interested in contributing, please send an email to dev@dubbo.apache.org to let us know!

For further details, please refer our guide about how to contribute Dubbo.

Reporting bugs

Please follow the template for reporting any issues.

Reporting a security vulnerability

Please report security vulnerabilities to us privately.

Contact

  • WeChat: apachedubbo
  • DingTalk group: 37290003945
  • Mailing list: guide
  • Twitter: @ApacheDubbo
  • Security issues: please mail to us privately.

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

How can I contribute?

  • Take a look at issues with tags marked Good first issue or Help wanted.
  • Join the discussion on the mailing list, subscription guide.
  • Answer questions on issues.
  • Fix bugs reported on issues, and send us a pull request.
  • Review the existing pull request.
  • Improve the website, typically we need
    • blog post
    • translation on documentation
    • use cases around the integration of Dubbo in enterprise systems.
  • Improve the dubbo-admin/dubbo-monitor.
  • Contribute to the projects listed in ecosystem.
  • Other forms of contribution not explicitly enumerated above.
  • If you would like to contribute, please send an email to dev@dubbo.apache.org to let us know!

Reporting bugs

Please follow the template for reporting any issues.

Reporting a security vulnerability

Please report security vulnerabilities to us privately.

Dubbo ecosystem

Language

License

Apache Dubbo is licensed under the Apache License Version 2.0. See the LICENSE file for details.