一、分布式基础
1.1 简介
1.2 从单体到集群架构
-
单体架构
-
集群
-
分布式架构
1.3 创建微服务项目
-
环境准备
- 创建微服务架构项目
- 引入 SpringCloud、Spring Cloud Alibaba 相关依赖
- 注意版本适配
SpringBoot版本 | SpringCloud版本 | SpringCloud Alibaba版本 |
---|---|---|
3.4.x+ | 2024.0.x | 未适配 |
3.2.x - 3.3.x | 2023.0.x | 2023.0.* |
3.0.2 - 3.2.x | 2022.0.x | 2022.0.* |
2.6.x - 2.7.x | 2021.0.x | 2021.0.* |
2.4.x - 2.5.x | 2020.0.x | 2020.0.* |
2.3.x- | Hoxton/Greenwich- | 2.2.*- |
注意事项
- 在创建项目时,需要确保 Spring Boot、Spring Cloud 和 Spring Cloud Alibaba 的版本是兼容的。
- 可以参考 GitHub 上的文档获取更多详细信息:
- 版本选择
- 框架版本
- SpringBoot: 3.3.4
- SpringCloud: 2023.0.3
- SpringCloud Alibaba: 2023.0.3.2
- 组件版本
- Nacos: 2.4.3
- Sentinel: 1.8.8
- Seata: 2.2.0
- 项目工程结构图
idea创建项目
-
安装Spring插件
- 打开IDEA,进入File -> Settings。
- 在左侧导航栏中选择Plugins。
- 使用搜索框查找Spring Assistant或其他与Spring相关的插件,并点击安装按钮。
- 安装完成后,重启IDEA以使更改生效
-
创建SpringBoot项目
选择构建工具:- 在“Project”部分,选择你的构建工具。你可以选择Gradle - Groovy, Gradle - Kotlin, 或者Maven。
- 如果你更熟悉Maven,可以选择Maven。
选择语言:
- 在“Language”部分,选择你的编程语言。你可以选择Java或Kotlin。
- 如果你使用Java,选择Java。
选择Spring Boot版本:
- 在“Spring Boot”部分,选择你需要的Spring Boot版本。建议选择稳定的版本,如3.3.7
生成项目
- 确认所有设置无误后,点击右下角的“GENERATE”按钮或按CTRL + Enter来生成项目
创建成功后
删除其他不必要文件
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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<packaging>pom</packaging>
<modules>
<module>service</module>
</modules>
<groupId>com.example</groupId>
<artifactId>cloud-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>cloud-demo</name>
<description>cloud-demo</description>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring-cloud.version>2023.0.3</spring-cloud.version>
<spring-cloud-alibaba.version>2023.0.3.2</spring-cloud-alibaba.version>
</properties>
<dependencyManagement