微服务项目整合
一. 微服务项目结构预览
本项目模拟的是一个简单的商城管理系统,项目整体结构如下图所示
项目通过一个名为microservice-mallmanagement的Maven父项目构建了四个子项目,子项目具体描述如下:
- microservice-eureka-server:用于服务注册发现
- microservice-gateway-zuul:用于API网关
- microservice-orderservice:用于订单管理服务
- microservice-userservice:用于用户管理服务
其中订单管理服务和用户管理服务是我们需要实际开发的微服务项目,服务注册发现和API网关属于辅助服务
二.微服务项目功能介绍
1.microservice-eureka-server(Eureka注册中心)
该子项目使用Spring Cloud的组件Eureka,主要用于搭建一个服务注册中心,microservice-gateway-zuul、microservice-orderservice、microservice-userservice都将通过配置注册到改注册中心
配置文件:
2.microservice-gateway-zuul(Zuul API网关)
该子项目使用Spring Cloud的组件Zuul,主要作为其他微服务项目的API网关,来实现其他微服务接口的动态代理。microservice-orderservice、microservice-userservice微服务都可以使用Zuul网关服务进行代理请求
配置文件:
3.microservice-orderservice(订单管理微服务)
该子项目就是一个使用传统Spring Boot框架开发的订单管理微服务项目,主要用于进行商城订单管理,并提供有关订单管理的RESTFUL风格的API接口方法
配置文件:
该项目对应的控制器类OrderController:
4.microservice-userservice(用户管理微服务)
该子项目也是一个传统的Spring Boot框架开发的用户管理微服务项目,主要用于进行商城用户管理,并提供有关用户管理的RESTFUL风格的API接口方法
配置文件:
该项目对应的控制器类UserController:
三.微服务项目功能介绍
由于microservice-orderservice和microservice-userservice都涉及了MySQL数据库的连接使用,所以在启动这两个微服务项目之前必须先创建好对应的数据库和表,并初始化数据库
完成全部子项目的启动并运行成功后,通过访问地址:http://localhost:8761/即可访问Eureka服务注册中心
启动成功后,即可对系统的功能进行测试
(1)测试接口方法。分别通过microservice-orderservice和microservice-userservice两个微服务项目的地址来访问各自暴露的API接口方法进行测试
(2)测试API网关服务—针对上面的microservice-orderservice和microservice-userservice两个微服务项目,可以通过Zuul组件提供的API网关进行对应的接口代理测试
接口可视化工具—Swagger-UI
一.Swagger-UI使用方法
- 下载Swagger-UI项目
从GitHub上拉取Swagger-UI项目代码,具体地址为:
https://github.com/swagger-ui.git - 引入Swagger-UI
- 加入Swagger依赖
在microservice-userservice项目的pom文件中加入Swagger依赖
4.编写配置类
二. Swagger-UI使用测试
- 整合测试
重新启动所有整合了Swagger-UI接口文档工具的微服务项目,启动成功后,通过对应“服务地址IP+端口+/swagger-ui.html”请求路径即可进入测试页面
- 接口测试
以用户管理API接口测试文档为例,先单击user-controller面板,会展示出接口中的所有方法(项目只有一个GET方法),再单击某个具体的方法会展示出详细信息
,然后单击“Try it out!”按钮即可进行测试