Spring open source community's first domestic project successfully graduated

Spring Cloud Alibaba on July 27, 2018 filed in Spring Cloud Incubator warehouse code for the first time, to August 1, 2019 released the first version of a graduate in Alibaba warehouse, full time for nearly a year.

Year, Spring Cloud Alibaba completed the transformation from the most obscure Spring Cloud Spring Cloud hottest items to the project, and graduated from the incubator warehouse!

Officially graduated Spring Cloud Alibaba can not do without the help of the community, thank you very much Spring Cloud Alibaba's contributor, but also very grateful to the open source enthusiasts to create a community issue, every issue is of help to Spring Cloud Alibaba.

 

Spring Cloud Alibaba graduate course of some small episode

1, at the end of May when, Spring Cloud Alibaba Team with Spring Cloud Team had a graduate of communication, and preparing to announce Spring Cloud Alibaba graduation when Spring Cloud Hoxton officially released. But then Spring Cloud official adjust the project strategy, the need for warehouse migration. The two sides team has therefore opened a follow-up video conferencing, Spring Cloud Alibaba therefore graduate early.

2, Spring Cloud Team hope starter after graduation naming format consistent with the provisions of spring boot starter, a command to alibaba- <X> -spring-cloud-starter format. Taking into account the incubator starter are beginning to spring-cloud-starter-alibaba- <X>, Spring Cloud Alibaba does not want to destroy the original rules. Eventually the two sides discussed several times before deciding to follow the old starter named.

3, within a few days after the warehouse migration, there are communities of open source enthusiasts created specifically why the issue questions left spring cloud warehouse, Spring Cloud Alibaba is a variety of questions. Later Spring Cloud Leader - Spencer Gibb reply on the issue explained.

4, Spring Cloud Alibaba originally planned to be released in June graduation version, was delayed until now. In order to cause unnecessary risk public opinion, we have been waiting for Spring Cloud Team official announcement, during the Spring Cloud Team to communicate with a good number of night (a 12-hour time difference).

 

The official interpretation of the article

The official content of the article written a bit more, we translate it and make a simple conclusion:

 

 

 

 

 

 

 

Integrated into Spring Cloud Release Train inconvenience caused by:

  • The project maintainer can not send its own version, which can not be integrated with the project roadmap technology components consistent, we must wait until next Spring Cloud Release Train to post a new updated version of the integrated technology components. 

  • The project maintainer no way to see key statistics, such as critical data github, as well as the dependencies are downloaded many times.

The following cooperation, in fact, has nothing to do with the absence Spring Cloud Release Train in:

  • Spring Cloud Team will be involved in the project, code review help better integrate into Spring Cloud.

  • Spring Cloud Alibaba Starter will be added to start.spring.io, the choice for users.

  • Spring Team Spring Cloud Alibaba project will be placed on the official introduction page https://spring.io/projects/spring-cloud-alibaba important version of some of the hair and features, introduced the item.

Warehouse migration for developers, what actually mean?

  • Spring Cloud migration is not from github in the development and maintenance mode means that these projects have changed, Spring Cloud Alibaba Team & Spring Cloud Team still maintain the project.
  • The new model means groupId will change, even artifactId some projects will change, the project will change the package name. Required user-side code modifications.
  • Developers need to clearly indicate the dependent version in development, can not be inherited by Spring Cloud BOM dependent.
  • As a pioneer, Spring Cloud Alibaba will be the first to follow the new policy, Spring Cloud Alibaba migration is an appropriate time in this great graduation time. In the future we will see more of the components to migrate away from the Spring Cloud Release Train.

 

This graduation version release note

1, Greenwich corresponding version that supports this version Greenwich.SR2

2, Finchley corresponding version that supports this version Finchley.SR4

3、Sentinel

  • sentinel of dependencies updated to version 1.6.3. Sentinel each version release information: https://github.com/alibaba/Sentinel/releases
  • # 615: Support Spring Cloud Gateway, spring-cloud-alibaba-sentinel-zuul rename spring-cloud-alibaba-sentinel-gateway. The adaptation module implements Sentinel gateway (Spring Cloud Gateway, Netflix Zuul) associated logic 

  • # 614: Support WebFlux, spring-cloud-alibaba-starter-sentinel internal adaptation of WebServlet respectively and WebFlux 

  • # 626: The next scene solves the Sentinel OpenFeign call the parent class interface methods in the interface inheritance scenario error bug

  • # 782: Under Sentinel OpenFeign scene to solve the wrong method calls the default method under the default interface bug exists

  •  # 741 # 615: new gateway and http-method-specify associated configuration

  • # 716: optimized SlotChainBuilderloading logic to ensure the entry into force of the non-gateway HotParamSlotChainBuilder scene, the scene at the gateway SlotChainBuilderinto force 

  • # 707: Delete DataSource related loading logs, change implemented by Sentinel own SPI (future implementations) 

  • # 265: Adding SentinelHealthIndicator to the health status query Sentinel 

  • Nacos Discovery

    • nacos-client update to version 1.1.1. Nacos each version release information: https://github.com/alibaba/nacos/releases

    • # 765: Add heartbeat-related configuration parameters. Including the heartbeat cycle, heartbeat timeout and delete instances timeout 

    • # 669: Adding NacosRule heavy weights Ribbon support routing rules 

    • # 728: Support for ServiceRegistryEndpoint the operation of the current state of application services / query 

    •  # 708: Support and Spring Cloud Config common use

    • # 650: adaptation ServerIntrospector, as well as secure information is available metadata 

    •  # 644: NacosWatch Delete internal logic, only HeartbeatEvent to send events 

  • Nacos Config

    • nacos-clinet updated to version 1.1.1. Nacos each version release information: https://github.com/alibaba/nacos/releases

    • # 652: repair NacosConfigEndpoint thread-safe bug 

  • RocketMQ Binder

    • # 541: adaptation MessageSource, consumer side can inject PollableMessageSource a message pulling 

    • # 709: solve different jvm instanceName same cause rebalance failure bug

  • Dubbo Spring Cloud

    • dubbo update to version 2.7.3. Dubbo each version release information: https://github.com/apache/dubbo/releases

    • # 589: ip acquisition strategies using Spring Cloud official InetUtils acquisition tools 

    • # 592: Spring Cloud registry configuration spring-cloud://localhost becomes optional and defaults Spring Cloud registry directly follow the native 

    • # 623: new sensing mechanism to change the service instance 

    • # 591: fix some scenes at the start NPE bug report

    • # 600: No longer dependent on a strong spring-boot-actuator, become optional dependency 

  • SEAT

    • seata update to version 0.7.1. Seata each version release information, click here .

    • # 686: Fix bug xid failed delivery load balancing FeignClient scene

 

Thanks for the contributors: @Rivers-Shall, @ly641921791, @JevonYang, @cdfive, @eacdy, @pyhblacksky, @george510257, @AbelSara, @slievrly, @pigxcloud, @lovepoem, @liudaomanbu, @lujian0571, @jsbxyyx, @pengzai170, @hero-zhanghao, @wzlee, @xingfudeshi

 

Roadmap

Spring Boot Admin is an open source community project, for managing and monitoring SpringBoot applications. But it does not do deep integration with Spring Cloud. We want to do a Spring Cloud Admin, it can provide the following functions:

    • Increase service management console, integrated micro-control services

    • Service inquiries, management

    • Configuration Management

    • Limiting demotion

    • Project Management / Monitoring

    • Azure Cloud Playground reference the Spring http://azure-spring-cloud.azurewebsites.net/ , create Spring Cloud Alibaba Playground, some best practices, video tutorials, features such as automatic generation of projects put up.

  • Increasing the Spring Cloud Alibaba Best Practice Program.

  • For various characteristics Spring Cloud Alibaba, the development of the corresponding real Demo.

  • Replace Spring Cloud service call client OpenFeign & Ribbon. The development of more generic client service calls, service calls to replace Spring Cloud Client OpenFeign & Ribbon.

 

Committer mechanism

 

After the project is moving to Alibaba's own GitHub repository, unlike not have permission to develop committer in spring-cloud-incubator warehouse. We now have permission to become a contributor of development committer. Anyone who submitted a project on Spring Cloud Alibaba Pull Request and is merge, it can become a contributor; contributor promoted as committer, requires these conditions:

1, there are at least five components submitted to Pull Request

2, involved in maintaining and important feature issue a list of discussion

3, involved in code review

We hope more and more open source enthusiasts Spring Cloud Alibaba to become the contributor or committer, let us work together to improve the ecological Spring Cloud.

 

After graduation user side code modifications

Warehouse migration must involve code modifications. We conclude modify point there are three points:

1, package names package name

2, the version number of the version number

3, if the uses Spring Cloud Alibaba inner classes, these classes need reimport (need to change only a small part of the case, most of these classes are blocked AutoConfiguration)

To use Spring Cloud Alibaba Bom and Spring Cloud Nacos Discovery, for example, learn how to edit point which in the end:

 

Bom incubator and the corresponding starter version dependency:

<dependency>    <groupId>org.springframework.cloud</groupId>    <artifactId>spring-cloud-alibaba-dependencies</artifactId>    <version>0.9.0.RELEASE</version>    <type>pom</type>    <scope>import</scope></dependency>
<dependency>    <groupId>org.springframework.cloud</groupId>    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

 

Graduation corresponding version dependency:

<dependency>    <groupId>com.alibaba.cloud</groupId>    <artifactId>spring-cloud-alibaba-dependencies</artifactId>    <version>2.1.0.RELEASE</version>    <type>pom</type>    <scope>import</scope></dependency>
<dependency>    <groupId>com.alibaba.cloud</groupId>  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

We offer a project on GitHub, click here to find out more, for comparing the difference between graduating version with version incubator development projects. The project uses Nacos Config & Nacos Discovery & Sentinel function, master branch is graduating version, incubator branch incubators version. This is a rather different from the code used two branches diff command:

Conclusion: We found that only pom in the package name and version number of inconsistencies, the code level without any modification.

The correspondence between the version:

 

 

 

 

 

Project Address: https://github.com/alibaba/spring-cloud-alibaba

 

Author: Jian Fang, Los playboy night, GitHub ID @ fangjian0423, open source enthusiasts, senior development engineer Ali Baba, Ali cloud EDAS product development, Spring Cloud Alibaba open source project leader.

Guess you like

Origin www.oschina.net/news/108868/spring-cloud-alibaba-graduation