第2章 微服务环境搭建
我们本次是使用的电商项目中的商品、订单、用户为案例进行讲解。
2.1 案例准备
2.1.1 技术选型
- maven:3.3.9
- 数据库:MySQL 5.7
- 持久层: SpingData Jpa
- 其他: SpringCloud Alibaba 技术栈
2.1.2 模块设计
- springcloud-alibaba 父工程
- shop-common 公共模块【实体类】
- shop- user 用户微服务 【端口: 807x】
- shop- product 商品微服务 【端口: 808x】
- shop- order 订单微服务 【端口: 809x】
2.1.3 微服务调用
在微服务架构中,最常见的场景就是微服务之间的相互调用。我们以电商系统中常见的用户下单为 例来演示微服务的调用:客户向订单微服务发起一个下单的请求,在进行保存订单之前需要调用商品微 服务查询商品的信息。 我们一般把服务的主动调用方称为服务消费者,把服务的被调用方称为服务提供者。
在这种场景下,订单微服务就是一个服务消费者, 商品微服务就是一个服务提供者。
2.2 创建父工程
创建一个maven工程,然后在pom.xml文件中添加下面内容
版本对应:
2.3 创建基础模块
1 创建shop-common 模块,在pom.xml中添加依赖
2 创建实体类
2.4 创建用户微服务
步骤:
1 创建模块 导入依赖
2 创建SpringBoot主类
3 加入配置文件
4 创建必要的接口和实现类(controller service dao) 新建一个shop-user 模块,然后进行下面操作
1 创建pom.xml
2 编写主类
3 创建配置文件
2.5 创建商品微服务
1 创建一个名为shop_product 的模块,并添加springboot依赖
2 创建工程的主类
3 创建配置文件application.yml
4 创建ProductDao接口
5 创建ProductService接口和实现类
6 创建Controller
7 启动工程,等到数据库表创建完毕之后,加入测试数据
INSERT INTO shop_product VALUE(NULL,‘小米’,‘1000’,‘5000’);
INSERT INTO shop_product VALUE(NULL,‘华为’,‘2000’,‘5000’);
INSERT INTO shop_product VALUE(NULL,‘苹果’,‘3000’,‘5000’);
INSERT INTO shop_product VALUE(NULL,‘OPPO’,‘4000’,‘5000’);
8 通过浏览器访问服务
2.6 创建订单微服务
1 创建一个名为shop-order 的模块,并添加springboot依赖
2 创建工程的主类
3 创建配置文件application.yml
4 创建OrderDao接口
5 创建OrderService接口和实现类
6 创建RestTemplate
7 创建Controller
8启动工程,通过浏览器访问服务进行测试