The introduction

Micro service the heat of the word since it appeared, has been a high fever, and micro service is so hot, in fact, and the entrepreneurial atmosphere of the Internet in recent years is inseparable.

Different from traditional industries, Internet enterprises have one characteristic, that is, the market expansion speed is very fast. It may be just a few days, an Internet company whose name has not been widely known will be known, and a unicorn company will be born.

These are followed by rapid business change and scale expansion, which puts higher demands on the ability of applications to cope with change.

Microservices are the cure for this.

Therefore, the vast majority of Internet companies have gradually introduced microservices architecture in order to cope with the increasingly rapid development of corporate business.

Nowadays, programmers chat, especially the Java backend, and you can’t even say a word unless you detest a few micro-services.

Today, on the morning of October 31, 2018, on this great day, Spring Cloud Alibaba officially entered the official Incubator of Spring Cloud and released the first version in Maven central library.

Some of you might ask, why do you do it in the wee hours of the morning? Is it because it’s more ritualistic?

I’m responsible to tell you, no, it’s because of the time difference between us and the United States.

Talk about the Spring Cloud

When it comes to microservices, we have to mention Spring Cloud and Spring’s amazing team.

I have always been a fan of the Spring team, not only because of their open source sentiments, but also because the Spring team’s code is the only one I can’t find fault with.

This is very difficult to happen to programmers, especially the author who is a bit of a code cleanliness freak, because programmers have a characteristic, that is to see who’s code is garbage, including their own past are no exception.

This is a testament to the strength of the Spring team and their craftsman spirit.

Well, that’s it. It’s time to talk about Spring Cloud.

What is Spring Cloud?

A lot of people are using Spring Cloud, but they don’t really know what Spring Cloud is, they only know how to develop micro services, so they can use Spring Cloud.

Let’s take a look at the official introduction of Spring Cloud. In fact, this sentence basically tells the essence of Spring Cloud.

Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems.Coordination of distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. They will work well in any distributed environment, including the developer’s own laptop, bare metal data centres, and managed platforms such as Cloud Foundry.

Spring Cloud provides tools that allow developers to quickly build distributed applications based on some common patterns. The coordination of distributed applications follows “boiler plate patterns” and with Spring Cloud, developers can more quickly build services and applications that implement these patterns. These services and applications also work well in any distributed environment, including developers’ own laptops, bare-metal data centers, and hosting platforms like Cloud Foundry.

Similar to what the Spring team has done in the past, both with the Spring Framework and later with Spring Boot, the Spring team has focused on making development “faster and better.”

This is why the Spring team has always been well known in the developer community, because the Spring team has always been there for developers, and they are all open source projects, so it’s fair to say that the Spring team is responsible for the popularity of Java.

After a flurry of cryptic business flattery, let’s get down to specifics about what Spring Cloud offers.

From the Spring Cloud official documentation, we can extract the core features of Spring.

Distributed/versioned configuration

Service Registration and Discovery

Routing【 Routing 】

Service-to-service calls【 Service-to-service calls 】

【 Load balancing 】

4. Circuit Breakers

Distributed messaging

It is not difficult to find that, in fact, these functions are often used to develop distributed applications under the microservice architecture.

The great thing about the Spring team, however, is that they rarely re-build the wheel. Instead, they let others build the wheel for them.

For example, the original Spring framework only provides the core functions of IOC and AOP, while the specific MVC framework, ORM framework, caching and so on, Spring only provides good support and compatibility, and will not implement one by itself.

Of course, unless the other party is not good enough, for example, Spring MVC, because of the original Struts2 has many defects, came into being, and soon replaced Struts2, become the mainstream MVC framework.

The same is true of Spring Cloud. The core of Spring Cloud does not implement any of these features. Let’s take a look at the introduction to the official Spring Cloud documentation.

Many of those features are covered bySpring Boot, on which Spring Cloud builds. Some more features are delivered by Spring Cloud as two libraries: Spring Cloud Context and Spring Cloud Commons. Spring Cloud Context provides utilities and special services for theApplicationContextof a Spring Cloud application (bootstrap context, encryption, refresh scope, and environment endpoints). Spring Cloud Commons is a set of abstractions and common classes used in different Spring Cloud implementations (such as Spring Cloud Netflix and Spring Cloud Consul).

Translation by Author:

Most of these features (the ones listed above) are covered by Spring Boot, on which Spring Cloud is built. Spring Cloud provides more functionality as two libraries. The two libraries are Spring Cloud Context and Spring Cloud Commons.

The Spring Cloud Context provides some tools, as well as special services for the ApplicationContext of a Spring Cloud application, such as the bootstrap Context (for this guy, ), encryption, refresh, and environment endpoints.

Spring Cloud Commons, on the other hand, is a set of abstractions and generic classes used in different Spring Cloud implementations, such as Spring Cloud Netflix and Spring Cloud Consul.

Spring Cloud Netflix and Spring Cloud Consul are the implementations of the Spring Cloud specification.

Of course, starting from today, there is another implementation of Spring Cloud, Spring Cloud Alibaba, -_-.

Then, let’s talk about Spring Cloud Alibaba.

The Spring Cloud Alibaba that has revolutionized the micro services field

The title of the article from a little less smoke, but I always believe in a word, tube it 37, 21, first blow again, -_-.

Those of you who have read the previous content should already know very clearly the relationship between Spring Cloud Alibaba and Spring Cloud. Spring Cloud Alibaba (SCA) and Spring Cloud Netflix (SCN) are a set of implementations of the Spring Cloud specification.

Why am I talking about SCN?

Because the so-called “weather change” is actually related to SCN.

At the risk of sounding a bit combative, I would say that SCA is intended to replace SCN as the default implementation of the Spring Cloud specification, which has a sort of court seraglion-esque double vision.

Why is the writer so confident? In fact, this is not blind confidence, but based on evidence.

First of all, it has to be admitted that the vast majority of Spring Cloud developers currently use SCN, but most of these developers are characterized by small scale and traffic. Generally, they can have about 20 micro-services, which is considered relatively large.

However, SCA components, which are basically transformed from Alibaba’s internal middleware, have experienced multiple double 11 tests, which means that SCA has enough scenarios to prove its ability to withstand high concurrency.

Of course, SCN may also have such customers, but I do not know about it, but this does not hinder the strength of SCA, because there are few big countries with a population of more than one billion in the world, and China is one of them. Therefore, the traffic peak of Double 11 is enough to make the whole world tremble.

In addition, domestically, SCA also has an absolute advantage in terms of geography and language. After all, SCA has Chinese documentation, and most programmers who are not prone to self-abuse prefer To read Chinese documentation rather than English.

Finally, on a component-by-component basis, SCA has a lot of advantages, but I won’t go into detail here because there are too many. I’ll write a separate article on component by component.

Therefore, I am very optimistic about the future of SCA.

But after all, some students may complain, “I believe you, you are such a bad writer, you only talk big, what is SCA? I haven’t said anything yet.”

Well, here’s a quick list of the features supported by the current version of SCA.

Open Source Components (starting with Spring-Cloud-Alibaba) :

Service Discovery

Configuration Management

Safeguarding for High Availability

Commercial Services (starting with Spring-Cloud-Alicloud) :

ANS — Application Naming Service

ACM — Application Configuration Management

Object Storage Service (OSS)

In the meantime, SCA will support the following features as quickly as possible in the coming months.

Open Source Components (starting with Spring-Cloud-Alibaba) :

Message Queue (RocketMQ)

Commercial Services (starting with Spring-Cloud-Alicloud) :

Task SchedulerX

Log Service (SLS)

conclusion

Write here, the author should blow basically blow over.

Spring Cloud Alibaba has officially released its first version to Maven central library, and it can be used officially

I can probably guess that your inner monologue at this time is probably like this.

“I believe you a ghost, you a dead author is very bad, make me read so much nonsense.”

I just want to tell you that in a few years, you’ll be glad you read this article and heard about Spring Cloud Alibaba.

Welcome Java engineers who have worked for one to five years to join Java architecture development: 854393687

Group provides free Java architecture learning materials (which have high availability, high concurrency, high performance and distributed, Jvm performance tuning, Spring source code, MyBatis, Netty, Redis, Kafka, Mysql, Zookeeper, Tomcat, Docker, Dubbo, multiple knowledge architecture data, such as the Nginx) reasonable use their every minute and second time to learn to improve yourself, don’t use “no time” to hide his ideas on the lazy! While young, hard to fight, to the future of their own account!