Author: Cheng Pu
New version preview
The version of Spring Cloud Alibaba 2.2.8 released this time is based on the project 2.2.x branch. Many components have been upgraded, including a component upgrade and a bug-modified version. The Spring Cloud Alibaba 2.2.8 version released this time has upgraded the following component versions:
- Nacos: Upgrade the Nacos client to version 2.1.0 [ 1] , which adds related capabilities including authentication plug-ins and configuration encryption plug-ins.
- RocketMQ: Upgraded to version 4.9.3 [ 2] , which provides many features including lightweight message queue and asynchronous sending function for delayed messages.
- Sentinel: Upgraded to version 1.8.4 [ 3] , which improves the extensibility of the transport and gateway flow control parameter parsing modules, and provides interceptor extensions to support user-defined authentication.
- Seata: Upgraded to version 1.5.1 [ 4] , which provides many new features including console, SkyWalking APM capability, etc.
In addition to the component upgrade, some problems existing in the previous version were also fixed, which further improved the stability and robustness of Spring Cloud Alibaba. For more information, please refer to the release announcement [ 5] . For the correspondence between Spring Cloud Alibaba and the current versions of Spring Cloud and Spring Boot, please refer to the official website Wiki version description [ 6] .
Create better microservice technology
After more than three years of rapid development, as of now, Spring Cloud Alibaba has released a total of 28 versions, the cumulative number of stars on GitHub has exceeded 22.5k, the number of forks has reached 7.0k, and the number of users has reached 24k. This key data is far ahead of similar open source microservice products launched by major cloud vendors at home and abroad.
In addition to supporting the daily complex microservice application scenarios of the Alibaba economy, Spring Cloud Alibaba is also widely used in production scenarios by thousands of external enterprise users.
In the future, Spring Cloud Alibaba will continue to align the development and evolution of the mainstream versions of Spring Cloud, while supporting the iteration of Spring Cloud Alibaba 2021.x and 2.2.X versions corresponding to the two current mainstream versions of Spring Cloud 2021.x and Hoxton.
In terms of development planning, the first stage of Spring Cloud Alibaba's past work is to provide microservice solution components to enrich the Spring Cloud ecosystem, so that external users can easily embrace microservices. In the future, in the second stage, Spring Cloud Alibaba will make good use of microservices for external users through its own efforts, and meet the higher-level demands of users in the process of using microservices by building microservice governance and business high availability related capabilities. . Specifically, it will invest in building the capabilities of the Spring Cloud ecosystem in terms of microservice governance, microservice high availability, and distributed task scheduling. The content of the main plan in the near future includes the following two parts.
Relying on Service Mesh to build Spring Cloud ecological application microservice governance capabilities
At present, the Spring Cloud ecosystem lacks mature and complete microservice governance capabilities. As a popular technology in the field of cloud-native microservice governance, service mesh is decoupled from business and framework through Sidecar proxy. There are many advantages such as multi-language and easy application migration. Among them, Istio is the most representative implementation in the service grid. Many of the rules it defines have become a general description in the field of service governance. Through the Istio + Sidecar model, canary publishing, authentication, and observability can be implemented. Microservice governance capabilities. Relying on Service Mesh technology to build micro-Spring Cloud ecological micro-service governance capabilities include the following two specific solutions:
- Sidecar mode
The sidecar proxy mode is a general method for application meshing. It adds a sidecar proxy container to the business Pod deployed in Kubernetes to hijack business traffic and realize microservice governance functions such as service authentication and canary release. , the application implements the microservice governance function through the Sidecar mode. The detailed architecture is shown in the following figure:
In this mode, the traffic of Spring Cloud applications is hosted by the Sidecar proxy in the business Pod, and all governance rule management and rule execution rely on the control plane and data plane capabilities in Service Mesh. The service governance function can be conveniently provided for Spring Cloud applications under the condition that the application framework needs to be changed. The sidecar proxy mode provides Spring Cloud applications with service governance capabilities that fully retain the native fine design of Mesh Service, but due to an additional layer of proxy for traffic forwarding during the application invocation process, there will be a certain loss in performance.
- Proxyless Service Mesh Mode
Due to the insufficient performance of the Sidecar proxy mode, the proxyless service mesh technology of Proxyless Service Mesh was proposed by the industry. As another meshing solution compared to the Sidecar proxy mode, it no longer uses the traffic interception of the sidecar on the data plane in the original Service Mesh. Instead, it only uses the rule management and distribution capabilities of the control plane Istio. By connecting the xDS protocol at the framework level, the service discovery and load balancing functions that connect with the xDS protocol are re-implemented in the framework (here, Spring Cloud Alibaba). It can parse the governance rules issued from the control plane to realize service governance. Its architecture is shown in the following figure:
This method better inherits the governance rule management and control capabilities of the control plane Istio in the Mesh Service, and abandons the performance shortcomings of the Sidecar solution. It is a compromise between the current microservice framework and Service Mesh, which can solve the existing problems. The lack of microservice governance capabilities in the microservice framework, while avoiding obvious performance bottlenecks. Next, the community plans to make related explorations in both of the above-mentioned Service Mesh methods to build the microservice governance capabilities of the Spring Cloud ecosystem.
Integrate the AppActive solution to build a high-availability solution for the Spring Cloud ecosystem
AppActive, an open source middleware that is open sourced by Alibaba in December 2021 to build a cloud-native high-availability, multi-active and disaster-tolerant architecture for business applications. It provides standards, implementations, and demos for applying a multi-active disaster recovery architecture, which is suitable for rich business scenarios (single-AZ, single-region, single-cloud, multi-AZ, multi-region, multi-cloud, self-built IDC, etc.).
AppActive is built on Alibaba's 8 years of experience in using the AHAS-MSHA system to run production application systems on a large scale, and combines the best practices from multiple external customers and communities from Alibaba Cloud's commercial services. It is highly reliable and scalable. and other characteristics. Its overall solution starts from gateway to business application and finally to data service, which covers all the components of today's conventional software system. The detailed solution is shown in the following figure:
Next, the community plans to work with the AppActive community to integrate AppActive's related capabilities into Spring Cloud Alibaba to provide Spring Cloud users with out-of-the-box application high availability capabilities.
Incentive plan
Quarterly Active Contributor Program
Due to the many modules of the Spring Cloud Alibaba project, the content covers a wide range of features. The code review and issues processing of PR involving a few students in all modules has a large amount of tasks and low efficiency. The community decided to divide the modules into 3-month rounds. The project is divided into 5 modules: Nacos, Sentinel, RocketMQ, Seata and Sidecar. Each module recruits 1~2 students to be responsible for the issue processing and PR Code of the corresponding module. Review work.
Require:
- Have a certain understanding of relevant modules, preferably have relevant contribution experience;
- During the recruitment period, you need to browse the relevant issues and PRs on GitHub every 1~2 days. Issues and PRs related to the responsible modules need to be dealt with in a timely manner, and generally try to give a reply within 3 days;
- During the recruitment period, if there is no special reason, you can participate in the biweekly community meeting on time.
\
reward:
- All students participating in the recruitment task can sign up to get 1 Spring Cloud Alibaba community custom shirt, and if the recruitment task can be successfully completed at the end of the 3-month event, you can get 1 community customized water cup;
- A good opportunity to allow yourself to participate in community activities for a long time, help external students to improve their understanding of related modules in the process of solving problems, master the implementation principles of related open source frameworks, and help improve their core competitiveness;
- If you can participate in and contribute to related modules and contribute valuable contributions that are recognized by community members, you have the opportunity to nominate as a community Committer.
Monthly Active Participant Program
In order to give certain rewards to students who participate in community activities for a long time (weekly meetings, community discussions or online/offline Meetups, etc.), actively solve external user problems in community communication groups, and are active on the GitHub homepage of community projects, the community starts from 6 From the beginning of the month, core contributors will nominate and vote for 1 monthly active participant of the Spring Cloud Alibaba community every month, and reward the community with 1 custom-made t-shirt.
illustrate:
- There is no requirement for the status of award-winning students, all internal and external students participating in the community have the opportunity to obtain;
- Whether participating in community activities, answering issues or submitting PRs, it can be counted as participating in community contributions;
- Awards must be nominated and voted by the core contributing members of the community;
- Students participating in the quarterly active contributor program cannot be nominated as monthly active participants at the same time during the recruitment period.
Interested students are welcome to join the Spring Cloud Alibaba community by scanning the QR code below, and work together to build a better microservice technology!
Reference link:
*[1] Version 2.1.0:*
https://nacos.io/zh-cn/blog/2.1.0-release.html
[2] Version 4.9.3:
https://rocketmq.apache.org/release_notes/release-notes-4.9.3/
[3] Version 1.8.4:
https://sentinelguard.io/en-us/blog/sentinel-1-8-4-release.html
[4] Version 1.5.1:
https://github.com/seata/seata/releases
[5] Release announcement:
https://github.com/alibaba/spring-cloud-alibaba/releases/tag/2.2.8.RELEASE
[6] Official website Wiki version description:
https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
10% discount for the first purchase of MSE Registration and Configuration Center Professional Edition, 15% discount for MSE Cloud Native Gateway Prepaid Full Specifications.
Click here to take advantage of the discount!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。