Introduction of Dubbo

If you still don’t know what Dubbo is, here’s a wave of literacy:

Apache Dubbo is a high-performance, lightweight, open source Java service framework

Dubbo features 6:

1. High-performance RPC call for interface proxy;

2. Automatic service registration and discovery;

3. Intelligent load balancing strategy;

4, high scalability;

5. Flow scheduling during operation;

6. Visual service governance and operation maintenance;

Dubbo Architecture diagram:

Here’s a look at Dubbo’s history:

2011/10/27: Alibaba announces Dubbo open source.

2012/10/23: Release the last version 2.5.3 and stop maintenance updates.

2017/07/31: Back from the dead, officially announced to open the re-update, and will receive key maintenance, reference: Dubbo announced to restart maintenance.

2017/09/07: Release the first version of resurrection: Dubo-2.5.4.

2018/01/08:

1. Dubbo team announced the official start of Dubbo 3.0, reference: great news, Dubbo 3.0 is coming.

2. Released Dubbo-2.6.0, which mainly merged dubbox project branch which was open source by Dangdang. PS: Dubbo maintenance period, Dangdang open source dubBox based on Dubbo.

Dubbo Spring Boot release: Dubbo – Spring-boot-Starter V1.0.0 public beta.

2018/02/09: Dubbo has been voted into the Apache Foundation incubator and the Apache domain name has been updated and is no longer limited to Java.

Reference:

  • Dubbo is officially in the Apache Foundation incubator
  • Dubbo domain name has been changed and is no longer limited to Java!

2019/05/20: Apache Software Foundation announces Dubbo’s graduation as Apache’s Top project.

Dubbo3 is back

Dubbo 3.0.0 was officially released a few days ago:

Maven dependencies have been updated:

<dependency> <groupId>org.apache. Dubbo </groupId> <artifactId>dubbo</artifactId> <version>3.0.0</version> </dependency>Copy the code

Dubbo3 was born in the background of cloud native. The microservices constructed with Dubbo follow the idea of cloud native, and can better reuse the underlying cloud native infrastructure and fit into the cloud native microservice architecture.

In addition, Dubbo 3.0.0 is compatible with almost all 2.7.x behaviors. Dubbo3 is based on Dubbo2. While maintaining the original core functions and features, Dubbo3 has been comprehensively upgraded in terms of ease of use, ultra-large scale micro-service practice, and cloud native infrastructure adaptation.

Here’s what’s new:

Dubbo 3.0.0 core features

1. Application-level service discovery mechanism;

2. Next generation RPC protocol: Triple;

Triple protocol is the main protocol of Dubbo3. It is fully compatible with gRPC over HTTP/2 and extends load balancing and flow control mechanisms at the protocol level.

3. New routing rules;

4. Significantly improve performance;

5. Kubernetes service integration;

Dubbo 3.0.0 extension

The Dubbo core no longer provides third-party SDK extensions, which need to be supported through the Dubbo-spI-Extensions project.

Currently supported extensions are:

1. Zookeeper serves as the registry, metadata report, and configuration center;

2. Nacos serves as the registry, metadata reporting and configuration center;

3. Kubernetes as the registration center;

4. Redis as metadata report;

5. Apollo as the configuration center;

Hessian2 and JDK as default serializers

7. Triple protocol supports Protobuf;

Dubbo 3.0.0 upgrade alert

1. The spring-based configuration list is subject to change. Please leave a message in the official upgrade document.

Dubbo 3 allows multiple registrations and multiple subscriptions by default in earlier versions for high compatibility.

Stack length has something to say

Dubbo is also an old RPC framework, open source by Ali, once popular in China to become the most mainstream RPC framework.

Unfortunately, Dubbo didn’t take up the flag. It was suspended for a few years, then resumed maintenance and donated to the Apache Software Foundation, but with the rise of microservices in recent years and the emergence of Spring Cloud, Dubbo’s shine has long since faded and is now fading.

Why do you say so?

My first instinct is that this big release of Dubbo, which has been out for a couple of days, has had almost no coverage and is currently being updated on Github, which makes me feel a bit sad.

I gasped! In contrast, Spring Cloud, naturally combined with Spring Boot, almost every small repair version, there will be a lot of interpretation, from the degree of activity and application, Spring Cloud has been the king of facts.

Yes, a few years ago, Dubbo’s suspension caused a lot of negative impact on Dubbo, and domestic technical people gradually lost confidence in Dubbo. Later, even when an expanded version of Dubbox was developed, it did not help. With the popularity of Spring Cloud, Many companies have migrated from Dubbo/ Dubbox to Spring Cloud.

Even so, Dubbo is an excellent RPC framework, and there are still many companies using it.

To be honest, I have used both Dubbo and Spring Cloud. Personally, I prefer Dubbo’s interface proxy invocation, pure Java support, interface oriented programming, to Spring Cloud Restful invocation. Calling a remote service is just as straightforward as calling a local interface.

In addition, although Spring Cloud family bucket component is very complete, the community is also very active, but there is also a big problem, that is, version changes too fast, continuous upgrade, the abolition of various components, reconstruction, replacement, Spring Cloud framework version upgrade has become a nightmare of technical personnel.

Now a lot of people talk about micro services, how many companies can really have micro services on the scale? I think a lot of companies are also to catch up with the trend of technology, afraid of being eliminated, for the purpose of application and application, blind application I’m afraid is more harm than good.

So, there’s no need to follow the latest technology blindly. The technology is for the business. If Dubbo works well, there’s no need to migrate to Spring Cloud.

However, we can not forget to learn, can not use, but not to understand, learn, technical people should have the awareness of danger in peace, after all, Spring Cloud is the mainstream trend (I also wrote a series of Spring Cloud tutorials, you can pay attention to the public account Java technology stack, read in the menu, I have sorted out), But it is not very mature and stable, if the company wants to use it, it is better to take a marginal project to test the waters…

And finally, what servitization framework do you use? Welcome to vote ~

In the end, let’s look forward to Dubbo’s success.

In the future, the stack manager will continue to follow and share the Java series of tutorials and information, follow the public account of the Java technology stack the first time push.

References:

Github.com/apache/dubb…

dubbo.apache.org/

Copyright notice: this article is the public account “Java technology stack “original, original is not easy, reprint, quote the content of this article please indicate the source, do not plagiarize, wash manuscript, please respect others work achievements and intellectual property rights.

Recent hot articles recommended:

1.1,000+ Java Interview Questions and Answers (2021)

2. I finally got the IntelliJ IDEA activation code thanks to the open source project. How sweet!

3. Ali Mock is officially open source, killing all Mock tools on the market!

4.Spring Cloud 2020.0.0 is officially released, a new and disruptive version!

5. “Java Development Manual (Songshan version)” the latest release, quick download!

Feel good, don’t forget to click on + forward oh!