02-微服务架构技术

参考资料:

技术架构图(1)

image-20220301211344495

项目技术栈

⦁ 开发工具:Maven, IDEA, GitHub

⦁ 开发环境:Linux, Docker, Redis, RabbitMQ, ElasticSearch

⦁ 数据库:PowerDesigner, Mysql, SQLyog

⦁ 服务器:Nginx-集群, Tomcat-后端, Apache-静态, 物理机/云服务器

⦁ 架构:微服务-前后端分离, 单体-后台

⦁ 技术:Spring, SpringMVC, SpringBoot, Mybatis, SpringCloud Alibaba, Druid, EasyExcel, JWT, OAuth2.0, RabbitMQ, Redis(Jedis/Redission), Elasticsearch(Transport/SpringData Elasticsearch, 第三方接口(短信/内容审核/图片识别/人脸比对/邮箱/天气/微信&支付宝支付), Seata(分布式事务)

⦁ 前端:Vue全家桶(Vue.js+VueX+Vue-Router+Vue-Cli+Element-UI) + Webpack+npm+Node.js+HTML+JS+JQuery+LayUI+Ajax(Axios/fetch)+Socket.js

⦁ 微服务架构:SpringCloud + SpringCloudAlibaba

技术架构图(2)

image-20230610234035307

项目技术栈

image-20230610233918537

SpringCloud Alibaba微服务父子工程搭建

1、搭建父工程

image-20260406191928466

我们给项目起个名字就叫做’mdx-shop’ 迷迭香的商店

image-20260406191945070

接下来配置下maven

image-20260406192001056

删除掉src目录(父目录不需要)

image-20260406192036613

2、引入依赖

先看下springcloud和springcloud alibaba 和各个组件之间的版本对应关系

image-20260406192106545

image-20260406192132585

image-20260406192149225

引入springboot springcloud spingcloud alibaba 依赖,如下

版本选取:

springboot – 2.6.4

springcloud – 2021.0.1

springcloud alibaba – 2021.0.1.0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.4</version>
</parent>
<groupId>com.mdx</groupId>
<artifactId>mdx-shop</artifactId>
<version>1.0.0</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<spring-cloud.version>2021.0.1</spring-cloud.version>
<spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.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>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

3、创建子模块

我们模拟创建一个用户模块

image-20260406192207108

image-20260406192238558


02-微服务架构技术
https://janycode.github.io/2020/03/02/14_微服务/00_技术架构/02-微服务架构技术/
作者
Jerry(姜源)
发布于
2020年3月2日
许可协议