微服务项目的结构与预览
本项目模拟的是一个简单的商城管理系统。
项目测试代码下载地址:https://github.com/shi469391tou/microservice-mallmanagement.git
microservice-eureka-server:用于服务注册发现
microservice-gateway-zuul:用于API网关
microservice-orderservice:用于订单管理服务
microservice-userservice:用于用户管理服务
使用PHP Study快速构建一个测试用MySQL数据库(或直接安装MySQL)
在MySQL管理工具中编写以下SQL代码,生成测试库表
CREATE DATABASE microservice_mallmanagement;
USE microservice_mallmanagement;
DROP TABLE IF EXISTS `tb_order`;
CREATE TABLE `tb_order` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`createtime` datetime DEFAULT NULL,
`number` varchar(255) DEFAULT NULL,
`userid` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=UTF8;
INSERT INTO `tb_order` VALUES ('1', '2017-10-09 10:15:44', '201709181459001', '1');
INSERT INTO `tb_order` VALUES ('2', '2017-10-24 18:22:12', '201709181459008', '1');
DROP TABLE IF EXISTS `tb_user`;
CREATE TABLE `tb_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`address` varchar(255) DEFAULT NULL,
`username` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=UTF8;
INSERT INTO `tb_user` VALUES ('1', 'beijing', 'shitou');
启动项目
启动项目时,必须先启动microservice-eureka-server(Eureka注册中心),然后在启动microservice-gateway-zuul(Zuul API网关),microservice-userservice(用户微服务管理),microservice-orderservice。
在项目启动并运行成功后,通过地址http://localhost:8761/,访问Eureka服务注册中心
接口测试: 通过http://localhost:7900/order/findOrders/1和http://localhost:8030/user/findOrders/shitou两个微服务项目的地址来访问各自暴露的API接口放法进行测试
测试API网关服务:通过http://localhost:8050/order-service/order/findOrders/1和http://localhost:8050/user-service/user/findOrders/shitou进行测试
接口可视化工具——Swagger-UI
下载Swagger-ui项目
- 从GitHub上拉取Swagger-UI项目代码:http://github.com/swagger-api/swagger-ui.git
- Swagger-UI使用测试
整合测试:通过http://localhost:8030/swagger-ui.html(服务地址IP+端口+/swagger-ui.html)
接口测试:通过http://localhost:7900/swagger-ui.html和http://localhost:8030/swagger-ui.html#!/user-controller/getOrderByUsernameUsingGET进行测试
在上面的参数框中填写username的参数值1或shitou(之前数据库初始化时插入的数据),然后单击“Try it out!”按钮即可进行测试,结果如下: