This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch 3.3
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.3 by this push:
new ae150c01e5 3.3 readme (#12898)
ae150c01e5 is described below
commit ae150c01e5d96d37bf8b65b86ee355ee866370b3
Author: Ken Liu <[email protected]>
AuthorDate: Thu Aug 17 09:53:09 2023 +0800
3.3 readme (#12898)
---
PULL_REQUEST_TEMPLATE.md | 23 +----
README.md | 253 ++++++++---------------------------------------
2 files changed, 48 insertions(+), 228 deletions(-)
diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md
index e924748243..acc7d007d8 100644
--- a/PULL_REQUEST_TEMPLATE.md
+++ b/PULL_REQUEST_TEMPLATE.md
@@ -1,21 +1,8 @@
-## What is the purpose of the change
+## What is the purpose of the change?
-
-## Brief changelog
-
-
-## Verifying this change
-
-
-<!-- Follow this checklist to help us incorporate your contribution quickly
and easily: -->
-
## Checklist
-- [x] Make sure there is a
[GitHub_issue](https://github.com/apache/dubbo/issues) field for the change
(usually before you start working on it). Trivial changes like typos do not
require a GitHub issue. Your pull request should address just this issue,
without pulling in other changes - one PR resolves one issue.
-- [ ] Each commit in the pull request should have a meaningful subject line
and body.
-- [ ] Write a pull request description that is detailed enough to understand
what the pull request does, how, and why.
-- [ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
-- [ ] Write necessary unit-test to verify your logic correction, more mock a
little better when cross module dependency exist. If the new feature or
significant change is committed, please remember to add sample in [dubbo
samples](https://github.com/apache/dubbo-samples) project.
-- [ ] Add some description to
[dubbo-website](https://github.com/apache/dubbo-website) project if you are
requesting to add a feature.
-- [ ] GitHub Actions works fine on your own branch.
-- [ ] If this contribution is large, please follow the [Software Donation
Guide](https://github.com/apache/dubbo/wiki/Software-donation-guide).
+- [x] Make sure there is a
[GitHub_issue](https://github.com/apache/dubbo/issues) field for the change.
+- [x] Write a pull request description that is detailed enough to understand
what the pull request does, how, and why.
+- [x] Write necessary unit-test to verify your logic correction. If the new
feature or significant change is committed, please remember to add sample in
[dubbo samples](https://github.com/apache/dubbo-samples) project.
+- [x] Make sure gitHub actions can pass. [Why the workflow is failing and how
to fix it?](./CONTRIBUTING.md)
diff --git a/README.md b/README.md
index e34ee20894..504b42f014 100644
--- a/README.md
+++ b/README.md
@@ -10,236 +10,69 @@
[](https://twitter.com/intent/follow?screen_name=ApacheDubbo)
[](https://gitter.im/alibaba/dubbo?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
-Apache Dubbo is a high-performance, Java-based open-source RPC framework.
Please visit the [official site](http://dubbo.apache.org) for the quick start
guide and documentation, as well as the
[wiki](https://github.com/apache/dubbo/wiki) for news, FAQ, and release notes.
+Apache Dubbo is an easy-to-use Web and RPC framework that provides multiple
+language implementations(Java, [Go](https://github.com/apache/dubbo-go),
[Rust](https://github.com/apache/dubbo-rust),
[Node.js](https://github.com/apache/dubbo-js),
[Web](https://github.com/apache/dubbo-js)) 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 [issue#9436: Wanted:
who's using dubbo](https://github.com/apache/dubbo/issues/9436), thanks :)
+Visit [the official website](https://dubbo.apache.org/) for more information.
## Architecture
-

-## Features
-
-* Transparent interface based RPC
-* Intelligent load balancing
-* Automatic service registration and discovery
-* High extensibility
-* Runtime traffic routing
-* Visualized service governance
+* 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:
-The following code snippet comes from [Dubbo
Samples](https://github.com/apache/dubbo-samples.git). You may clone the sample
project and step into the `dubbo-samples-api` subdirectory before proceeding.
-
-```bash
-git clone https://github.com/apache/dubbo-samples.git
-cd dubbo-samples/1-basic/dubbo-samples-api
-```
-
-There's a
[README](https://github.com/apache/dubbo-samples/blob/389cd612f1ea57ee6e575005b32f195c442c35a2/1-basic/dubbo-samples-api/README.md)
file under `dubbo-samples-api` directory. We recommend referencing the samples
in that directory by following the below-mentioned instructions:
-
-### Maven dependency
-
-```xml
-<properties>
- <dubbo.version>3.0.10</dubbo.version>
-</properties>
-
-<dependencies>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo</artifactId>
- <version>${dubbo.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-dependencies-zookeeper</artifactId>
- <version>${dubbo.version}</version>
- <type>pom</type>
- </dependency>
-</dependencies>
-```
-
-### Define service interfaces
-
-```java
-package org.apache.dubbo.samples.api;
-
-public interface GreetingsService {
- String sayHi(String name);
-}
-```
-
-*See
[api/GreetingsService.java](https://github.com/apache/dubbo-samples/blob/389cd612f1ea57ee6e575005b32f195c442c35a2/1-basic/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/api/GreetingsService.java)
on GitHub.*
-
-### Implement service interface for the provider
-
-```java
-package org.apache.dubbo.samples.provider;
-
-import org.apache.dubbo.samples.api.GreetingsService;
-
-public class GreetingsServiceImpl implements GreetingsService {
- @Override
- public String sayHi(String name) {
- return "hi, " + name;
- }
-}
-```
-
-*See
[provider/GreetingsServiceImpl.java](https://github.com/apache/dubbo-samples/blob/389cd612f1ea57ee6e575005b32f195c442c35a2/1-basic/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/provider/GreetingsServiceImpl.java)
on GitHub.*
-
-### Start service provider
-
-```java
-package org.apache.dubbo.samples.provider;
-
-
-import org.apache.dubbo.config.ApplicationConfig;
-import org.apache.dubbo.config.RegistryConfig;
-import org.apache.dubbo.config.ServiceConfig;
-import org.apache.dubbo.samples.api.GreetingsService;
-
-import java.util.concurrent.CountDownLatch;
-
-public class Application {
- private static String zookeeperHost =
System.getProperty("zookeeper.address", "127.0.0.1");
-
- public static void main(String[] args) throws Exception {
- ServiceConfig<GreetingsService> service = new ServiceConfig<>();
- service.setApplication(new ApplicationConfig("first-dubbo-provider"));
- service.setRegistry(new RegistryConfig("zookeeper://" + zookeeperHost
+ ":2181"));
- service.setInterface(GreetingsService.class);
- service.setRef(new GreetingsServiceImpl());
- service.export();
-
- System.out.println("dubbo service started");
- new CountDownLatch(1).await();
- }
-}
-```
-
-*See
[provider/Application.java](https://github.com/apache/dubbo-samples/blob/389cd612f1ea57ee6e575005b32f195c442c35a2/1-basic/dubbo-samples-spring-xml/src/main/java/org/apache/dubbo/samples/provider/Application.java)
on GitHub.*
-
-### Build and run the provider
+### Programming with lightweight RPC API
+[5 minutes step-by-step
guide](https://dubbo.apache.org/zh-cn/overview/quickstart/rpc/java)
-```bash
-mvn clean package
-mvn -Djava.net.preferIPv4Stack=true
-Dexec.mainClass=org.apache.dubbo.samples.provider.Application exec:java
-```
+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](https://dubbo.apache.org/zh-cn/overview/reference/protocols/triple/)(fully
gRPC compatible and HTTP-friendly), Dubbo2(TCP), REST, or any protocol of your
choice.
-### Call remote service in the consumer
-```java
-package org.apache.dubbo.samples.client;
+### Building a microservice application with Spring Boot
+[5 minutes step-by-step
guide](https://dubbo.apache.org/zh-cn/overview/quickstart/microservice)
+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.
-import org.apache.dubbo.config.ApplicationConfig;
-import org.apache.dubbo.config.ReferenceConfig;
-import org.apache.dubbo.config.RegistryConfig;
-import org.apache.dubbo.samples.api.GreetingsService;
+Next, learn how to
[deploy](https://dubbo.apache.org/zh-cn/overview/tasks/deploy/),
[monitor](https://dubbo.apache.org/zh-cn/overview/tasks/observability/), and
[manage the
traffic](https://dubbo.apache.org/zh-cn/overview/tasks/traffic-management/) of
your Dubbo application and cluster.
-public class Application {
- private static String zookeeperHost =
System.getProperty("zookeeper.address", "127.0.0.1");
+## More Features
+Get more details by visiting the links below to get your hands dirty with some
well-designed tasks on our website.
- public static void main(String[] args) {
- ReferenceConfig<GreetingsService> reference = new ReferenceConfig<>();
- reference.setApplication(new
ApplicationConfig("first-dubbo-consumer"));
- reference.setRegistry(new RegistryConfig("zookeeper://" +
zookeeperHost + ":2181"));
- reference.setInterface(GreetingsService.class);
- GreetingsService service = reference.get();
- String message = service.sayHi("dubbo");
- System.out.println(message);
- }
-}
-```
-*See
[client/Application.java](https://github.com/apache/dubbo-samples/blob/389cd612f1ea57ee6e575005b32f195c442c35a2/1-basic/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/client/Application.java)
on GitHub.*
+* [Launch a Dubbo
project](https://dubbo.apache.org/zh-cn/overview/tasks/develop/template/)
+* [RPC
protocols](https://dubbo.apache.org/zh-cn/overview/core-features/protocols/)
+* [Traffic
management](https://dubbo.apache.org/zh-cn/overview/core-features/traffic/)
+* [Service
discovery](https://dubbo.apache.org/zh-cn/overview/core-features/service-discovery/)
+*
[Observability](https://dubbo.apache.org/zh-cn/overview/core-features/observability/)
+*
[Extensibility](https://dubbo.apache.org/zh-cn/overview/core-features/extensibility/)
+* [Security](https://dubbo.apache.org/zh-cn/overview/core-features/security/)
+* [Visualized console and control
plane](https://dubbo.apache.org/zh-cn/overview/reference/admin/)
+* [Kubernetes and Service
mesh](https://dubbo.apache.org/zh-cn/overview/core-features/service-mesh/)
-### Build and run the consumer
+## Which Dubbo version should I use?
+| **Dubbo3** | **JDK** | **Dependencies** | **Description** |
+| --- | --- | --- | --- |
+| 3.3.0-beta| 1.8 ~ 17 | [dependency
list](https://github.com/apache/dubbo/blob/3.3/dubbo-dependencies-bom/pom.xml#L94)
| **- Unstable version** <br/> **- Features** <br/> - Triple -
gRPC and cURL compatible.<br/> - Rest-style programming
support.<br/> - Spring Boot Starters. |
+| 3.2.5 | 1.8 ~ 17 | [dependency
list](https://github.com/apache/dubbo/blob/dubbo-3.2.5/dubbo-dependencies-bom/pom.xml#L94)
| **- Stable version (active)** <br/> **- Features** <br/> -
Out-of-box metrics and tracing support.<br/> - Threadpool
Isolation<br/> - 30% performance<br/> - Native Image|
+| 3.1.11 | 1.8 ~ 11 | [dependency
list](https://github.com/apache/dubbo/blob/dubbo-3.2.11/dubbo-dependencies-bom/pom.xml#L94)
| **Stable version (not active)** |
-```bash
-mvn clean package
-mvn -Djava.net.preferIPv4Stack=true
-Dexec.mainClass=org.apache.dubbo.samples.client.Application exec:java
-```
+| **Dubbo2** | **JDK** | **Dependencies** | **Description** |
+| --- | --- | --- | --- |
+| 2.7.23 | 1.8 | [dependency
list](https://github.com/apache/dubbo/blob/dubbo-2.7.23/dubbo-dependencies-bom/pom.xml#L92)
| EOL |
+| 2.6.x, 2.5.x | 1.6 ~ 1.7 | | EOL |
-The consumer will print out `hi, dubbo` on the screen.
-
-
-### Next steps
-
-* [Your first Dubbo
application](https://dubbo.apache.org/en/blog/2018/08/07/dubbo-101/) - A 101
tutorial to reveal more details, with the same code above.
-* [Dubbo user manual](https://dubbo.apache.org/en/overview/what/) - How to use
Dubbo and all its features.
-* [Dubbo developer guide](https://dubbo.apache.org/en/docs3-v2/java-sdk/) -
How to involve in Dubbo development.
-* [Dubbo admin manual](https://dubbo.apache.org/en/docs/v2.7/admin/ops/) - How
to admin and manage Dubbo services.
-
-## Building
-
-If you want to try out the cutting-edge features, you can build with the
following commands. (Java 1.8 is needed to build the master branch)
-
-```
- mvn clean install
-```
-
-## Recommended Test Environment
-To avoid intermittent test failures (i.e., flaky tests), it is recommended to
have a machine or virtual machine with the following specifications:
-
-* Minumum of 2CPUs.
-* Minimum of 2Gb of RAM.
+## Contributing
+See
[CONTRIBUTING](https://github.com/apache/dubbo/blob/master/CONTRIBUTING.md) for
details on submitting patches and the contribution workflow.
## Contact
-
-* Mailing list:
- * dev list: for dev/user discussion.
[subscribe](mailto:[email protected]),
[unsubscribe](mailto:[email protected]),
[archive](https://lists.apache.org/[email protected]),
[guide](https://github.com/apache/dubbo/wiki/Mailing-list-subscription-guide)
-
-* Bugs:
[Issues](https://github.com/apache/dubbo/issues/new?template=dubbo-issue-report-template.md)
-* Gitter: [Gitter channel](https://gitter.im/alibaba/dubbo)
+* WeChat: apachedubbo
+* DingTalk group: 37290003945
+* Mailing list: [guide](https://dubbo.apache.org/zh-cn/contact/)
* Twitter: [@ApacheDubbo](https://twitter.com/ApacheDubbo)
-
-## Contributing
-
-See
[CONTRIBUTING](https://github.com/apache/dubbo/blob/master/CONTRIBUTING.md) for
details on submitting patches and the contribution workflow.
-
-### How can I contribute?
-
-* Take a look at issues with tags marked [`Good first
issue`](https://github.com/apache/dubbo/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
or [`Help
wanted`](https://github.com/apache/dubbo/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22).
-* Join the discussion on the mailing list, subscription
[guide](https://github.com/apache/dubbo/wiki/Mailing-list-subscription-guide).
-* Answer questions on [issues](https://github.com/apache/dubbo/issues).
-* Fix bugs reported on [issues](https://github.com/apache/dubbo/issues), and
send us a pull request.
-* Review the existing [pull request](https://github.com/apache/dubbo/pulls).
-* Improve the [website](https://github.com/apache/dubbo-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](https://github.com/apache/dubbo-admin).
-* Contribute to the projects listed in [ecosystem](https://github.com/dubbo).
-* Other forms of contribution not explicitly enumerated above.
-* If you would like to contribute, please send an email to
[email protected] to let us know!
-
-## Reporting bugs
-
-Please follow the
[template](https://github.com/apache/dubbo/issues/new?template=dubbo-issue-report-template.md)
for reporting any issues.
-
-## Reporting a security vulnerability
-
-Please report security vulnerabilities to
[us](mailto:[email protected]) privately.
-
-## Dubbo ecosystem
-
-* [Dubbo Ecosystem
Entry](https://github.com/apache?utf8=%E2%9C%93&q=dubbo&type=&language=) - A
GitHub group `dubbo` to gather all Dubbo relevant projects not appropriate in
[apache](https://github.com/apache) group yet
-* [Dubbo Website](https://github.com/apache/dubbo-website) - Apache Dubbo
official website
-* [Dubbo Samples](https://github.com/apache/dubbo-samples) - samples for
Apache Dubbo
-* [Dubbo Spring Boot](https://github.com/apache/dubbo-spring-boot-project) -
Spring Boot Project for Dubbo
-* [Dubbo Admin](https://github.com/apache/dubbo-admin) - The reference
implementation for Dubbo admin
-* [Dubbo Awesome](https://github.com/apache/dubbo-awesome) - Dubbo's slides
and video links in Meetup
-
-#### Language
-
-* [Go](https://github.com/dubbo/dubbo-go) (recommended)
-* [Node.js](https://github.com/apache/dubbo-js)
-* [Python](https://github.com/dubbo/py-client-for-apache-dubbo)
-* [PHP](https://github.com/apache/dubbo-php-framework)
-* [Erlang](https://github.com/apache/dubbo-erlang)
+* Security issues: please mail to [us](mailto:[email protected])
privately.
## License
-
-Apache Dubbo software is licenced under the Apache License Version 2.0. See
the [LICENSE](https://github.com/apache/dubbo/blob/master/LICENSE) file for
details.
+Apache Dubbo is licensed under the Apache License Version 2.0. See the
[LICENSE](https://github.com/apache/dubbo/blob/master/LICENSE) file for details.