Go to file
namelessssssssssss f020f3e3d1
Remaining works of config-api refactor (#13045)
* * Move Configurator & Factory to common

* * Move ServiceNameMapping & MappingListener & MappingChangedEvent to common
* Add ServiceNameMappingUtils

* * Move ClusterUtils to common

* * Add ClusterInvokerFactory

* * Move InterfaceConfigValidator & MethodConfigValidator to cluster
* Move ConfigCenterConfigValidator to configcenter-api

* * Move DefaultMetricsServiceExporter to metrics-default

* * Move Lifecycles

* * Fix a part cyclic dependencies problem

* * Move ApplicationPostOfflineLifecycle to dubbo-registry

* * Fix a part cycle dependencies problem

* * Fix ut about MetadataReportInstance & Move Prometheus ut to metrics
* Move ClusterInvokerFactory to rpc-api

* * Update config-api pom

* * Add license

* * Fix module version of metadata-api

* * Move some MetadataService API to registry-api

* Add interface ApplicationMetadataUpdater to reduce the depedencies of  dubbo-metadata on dubbo-registry

* Temporary remove some tests that caused cyclic reference

* Temporary remove some tests that caused cyclic reference

* Add license

* Add test-config module for test

* Add license

* Fix pom

* Tests fix

* Pom fix

* Fix a bean registry problem

* Move config-test to dubbo-config

* Fix pom

* Add removed test

* Add removed test

* Remove application.yaml

* Fix version

* Fix codestyle

* Fix spi file

* Fix dependencies of dubbo-demo-native

* Fix dependencies of dubbo-demo-native

* Fix dependencies of dubbo-demo-native

* Fix dependencies of dubbo-demo-native

* Fix dependencies of dubbo-demo-native

* Fix dependencies of dubbo-demo-native

* Fix dependencies of dubbo-rpc

* Fix dependencies of dubbo-rpc-rest

* Fix dependencies of dubbo-rpc-rest

* Fix dependencies of dubbo-rpc-rest

* Fix dependencies of dubbo-rpc-rest

* Fix spi file of ApplicationDeployListener

* Fix test about exporter count

* Fix test about exporter count

* Update pom

* Add test msg

* Change MetadataUpdater init process

* Change MetadataUpdater init process

* Change MetadataUpdater init process

* Change MetadataUpdater init process

* Fix dependencies of dubbo-rpc-rest

* Using lifecycle instead of ApplicationDeployListener

* Update doc

* Update log

* Fix pom of dubbo-config-spring & dubbo-plugin-security & dubbo-rpc-rest

* Add scope for ApplicationLifecycle

* Fix pom of dubbo-config-spring

* Fix ut of rpc-rest(PR#13087)

* Fix bug of DefaultClusterInvokerFactory

* Fix bug of DefaultClusterInvokerFactory

* Fix bug of DefaultClusterInvokerFactory

* Fix bug of ServiceInstanceCustomizer

* Add dubbo-config-test to ignore list

* Code style & bug fix

* Remove unused import

* Add zookeeper-curator for test

* Test zookeeper version

* Test zookeeper version

* Test fix zookeeper

* Remove unnecessary modification

* Add test props

* Remove unused dependencies

* Code style fix

* Remove unnecessary dependencies & Code style fix

* Fix dependencies

* Update pom.xml

* Add dubbo-config-test as ignored

* Refactor ClusterInvokerFactory

* Refactor ClusterInvokerFactory

* Refactor ClusterInvokerFactory
2023-10-03 22:40:12 +08:00
.github Native Support Springboot3 (#12072) 2023-04-25 11:30:17 +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-annotation-processor Add Dubbo Annotation Processor (Add deprecated method warn when called by user, #10850) (#11513) 2023-03-24 09:48:08 +08:00
dubbo-build-tools Add Dubbo Annotation Processor (Add deprecated method warn when called by user, #10850) (#11513) 2023-03-24 09:48:08 +08:00
dubbo-cluster Remaining works of config-api refactor (#13045) 2023-10-03 22:40:12 +08:00
dubbo-common Remaining works of config-api refactor (#13045) 2023-10-03 22:40:12 +08:00
dubbo-compatible refactor dubbo module (#12276) 2023-07-03 15:55:42 +08:00
dubbo-compiler auto detect proxy type (#12232) 2023-05-05 16:18:31 +08:00
dubbo-config Remaining works of config-api refactor (#13045) 2023-10-03 22:40:12 +08:00
dubbo-configcenter Remaining works of config-api refactor (#13045) 2023-10-03 22:40:12 +08:00
dubbo-container Enhance logger adapter to use a configured logger (#10952) 2022-11-26 10:39:34 +08:00
dubbo-demo Remaining works of config-api refactor (#13045) 2023-10-03 22:40:12 +08:00
dubbo-dependencies Bump to 3.2.6-SNAPSHOT 2023-08-09 13:58:04 +08:00
dubbo-dependencies-bom Merge branch 'apache-3.2' into apache-3.3 2023-08-31 18:59:20 +08:00
dubbo-distribution Split DefaultConfigValidator to SPI implements (#12948) 2023-09-10 20:56:10 +08:00
dubbo-filter Remove logic to simplify ConstraintViolationException to ValidationException. (#11883) 2023-03-27 10:04:14 +08:00
dubbo-kubernetes refactor dubbo module (#12276) 2023-07-03 15:55:42 +08:00
dubbo-maven-plugin Bump maven-core from 3.9.0 to 3.9.1 (#11869) 2023-03-23 19:48:52 +08:00
dubbo-metadata Remaining works of config-api refactor (#13045) 2023-10-03 22:40:12 +08:00
dubbo-metrics Remaining works of config-api refactor (#13045) 2023-10-03 22:40:12 +08:00
dubbo-monitor Split DefaultConfigValidator to SPI implements (#12948) 2023-09-10 20:56:10 +08:00
dubbo-native Ignore class loading failure when native is compiled (#13009) 2023-09-05 11:31:54 +08:00
dubbo-plugin Remaining works of config-api refactor (#13045) 2023-10-03 22:40:12 +08:00
dubbo-registry Remaining works of config-api refactor (#13045) 2023-10-03 22:40:12 +08:00
dubbo-remoting Split DefaultConfigValidator to SPI implements (#12948) 2023-09-10 20:56:10 +08:00
dubbo-rpc Remaining works of config-api refactor (#13045) 2023-10-03 22:40:12 +08:00
dubbo-serialization Merge branch 'apache-3.2' into apache-3.3 2023-08-22 15:05:41 +08:00
dubbo-spring-boot Merge branch 'apache-3.2' into apache-3.3 2023-08-31 18:59:20 +08:00
dubbo-test Remaining works of config-api refactor (#13045) 2023-10-03 22:40:12 +08:00
dubbo-xds refactor dubbo module (#12276) 2023-07-03 15:55:42 +08:00
.artifacts Remaining works of config-api refactor (#13045) 2023-10-03 22:40:12 +08:00
.asf.yaml Update project meta (#12897) 2023-08-14 16:23:42 +08:00
.editorconfig add editorconfig (#8027) 2021-06-10 23:05:28 +08:00
.gitattributes [3.0] Code reformat (#8019) 2021-06-10 20:13:39 +08:00
.gitignore Dynamically generate native image config (#11795) 2023-03-14 11:31:48 +08:00
.licenserc.yaml log messages support use placeholders and parameters (#12365) 2023-07-13 19:52:23 +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 2023-05-08 08:07:10 +08:00
PULL_REQUEST_TEMPLATE.md 3.3 readme (#12898) 2023-08-17 09:53:09 +08:00
README.md Fix readme.md for dubbo version (#12943) 2023-08-22 14:02:26 +08:00
SECURITY.md Migrate Github Rule Profile (#8090) 2021-06-18 11:43:18 +08:00
codecov.yml remove dubbo-native-plugin module (#12358) 2023-05-21 21:00:46 +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 to 3.2.6-SNAPSHOT 2023-08-09 13:58:04 +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 Tweet Twitter Follow Gitter

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.

Visit the official website for more information.

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.

Contact

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

License

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