在学习以及开始使微服务架构前,我们需要先选择各各模块适配的版本。以此来避免生产过程或者学习过程出现令人头疼的版本问题,避免花费大量时间去找更正这些版本错误,导致耽误学习,影响项目进度。
项目源码,及源文档地址:
https://gitee.com/liao-haiquan/cloud-alibaba
微服务框架版本选择
参考Gitub网址:
https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明
这个网址举例了近年以来不同Alibaba各各版本的适配情况。在这里可以根据自己的需求去选择不同的版本配置。
当然还有其他版本选择的方法,这里再介绍一种方法。
我们可以去Gitub上面直接翻看Star数比较多的开源项目,进入他的pom.xml文件去直接拷贝一个配置。
位于dependencyManagement标签中,他们对应的版本配置统一在标签properties中管理。
本专栏后续项目环境搭配情况
<spring-boot.version>2.6.11</spring-boot.version>
<spring-cloud-alibaba.version>2021.0.4.0</spring-cloud-alibaba.version>
<spring-cloud.version>2021.0.4</spring-cloud.version>
项目的环境版本参考若依开源项目。
若依pom.xml地址
父工程配置:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jp</groupId>
<artifactId>my-springcloud-alibaba</artifactId>
<version>1.0-SNAPSHOT</version>
<modules>
<module>provide</module>
<module>gateway</module>
<module>consumer</module>
</modules>
<packaging>pom</packaging>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<spring-boot.version>2.6.11</spring-boot.version>
<spring-cloud-alibaba.version>2021.0.4.0</spring-cloud-alibaba.version>
<spring-cloud.version>2021.0.4</spring-cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- bootstrap 启动器 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
</dependencies>
</project>
后续安排顺序:
- 注册中心、配置中心Nacos
- 网关Gateway
- 流控中心Sentinel
- 远程调用工具OpenFeign
- 分布式事务Seata
大体顺序如上,中间会穿插一些其他内容。