微服务项目的整合和测试(九)
学习目标
l 微服务项目的整合
l 接口可视化工具——Swagger-UI
一.微服务项目整合
1.微服务服务项目结构预览(本项目模拟的是一个简单的商城管理系统)
- 1.下载项目地址:https://github.com/shi469391tou/microservice-mallmanagement.git
- 2.导入包
- 3.项目整体结构
本项目通过一个名为microservice-mallmanagement的Maven父项目构建了四个子项目,关于这四个子项目的描述具体如下。
microservice-eureka-server: 用于服务注册发现。
microservice-gateway-zuul: 用于API网关。
microservice-orderservice:用于订单管理服务。
microservice-userservice: 用于用户管理服务。
其中的microservice-orderservice和microservice-userservice就是我们实际需要开发的微服务项目,也是商城管理项目的核心,而另外的microservice- eureka-server和microservice-gateway-zuul子项目则属于辅助服务。
本商城项目只编写了其中的用户和订单管理服务,实际开发中还会涉及到更多服务,例如后台管理服务、日志管理服务等。若要添加其他服务,只需参考用户或订单管理微服务项目在所开发的服务项目中添加相关的配置,并将服务注册到Eureka注册中心即可。
2.微服务项目功能介绍
- 1.microservice-eureka-server(Eureka注册中心)
该子项目使用了Spring Cloud 的组件Eureka, 主用于搭建一个服务注册中心,microservice-gateway-zuul、microservice-orderservice、microservice-userservice都将通过配置注册到该注册中心。对应的配置文件application.yml内容,如图所示:(修改完成“Ctrl+s”保存)
图中,配置了应用名称和服务端口,同时通过Eureka 的相关配置指定了Eureka注册中心的地址http://eureka-server:${server.port}/eureka/(即http://localhost:8761/eureka/),当部署到测试或线上环境时,需要根据上面注释中的提示信息进行地址更改。 - 2.microservice-gateway-zuul(Zuul API网关)
该子项目使用了Spring Cloud的组件Zuul,主要作为其他微服务项目的API网关,来实现其他微服务接口的动态代理。microservice-orderservice和microservice-userservice微服务都可以使用Zuul网关服务进行代理请求。其对应的配置文件application.yml的具体内容,如图所示: