1_基础环境介绍
2_商品微服务
3_订单微服务
4_配置中心
5_Nginx限流
建立数据库相关表的代码:
# 创建数据库
CREATE DATABASE IF NOT EXISTS renda01 DEFAULT CHARACTER SET utf8;
# 选择使用数据库
USE renda01;
# 创建商品表
DROP TABLE IF EXISTS products;
CREATE TABLE products
(
`id` INT PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(50), # 商品名称
`price` DOUBLE,
`flag` VARCHAR(2), # 上架状态
`goods_desc` VARCHAR(100), # 商品描述
`images` VARCHAR(400), # 商品图片
`goods_stock` INT, # 商品库存
`goods_type` VARCHAR(20) # 商品类型
) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8;
INSERT INTO products
VALUES (1, 'HUAWEI P40', 5999, '1', '华为P40 5G手机 分期 麒麟990 晨曦金 8+256GB', 'https://img14.360buyimg.com/n0/jfs/t1/133822/33/8832/135985/5f4da578E7c6efde1/2cd53a53083ab2ed.jpg', 99, '1');
INSERT INTO products
VALUES (2, 'XIAOMI', 6999, '1', '小米 P40 5G手机 分期 麒麟990 晨曦金 8+256GB', 'https://img14.360buyimg.com/n0/jfs/t1/133822/33/8832/135985/5f4da578E7c6efde1/2cd53a53083ab2ed.jpg', 99, '1');
INSERT INTO products
VALUES (3, 'APPLE', 7999, '1', '苹果 P40 5G手机 分期 麒麟990 晨曦金 8+256GB', 'https://img14.360buyimg.com/n0/jfs/t1/133822/33/8832/135985/5f4da578E7c6efde1/2cd53a53083ab2ed.jpg', 99, '2');
# 创建订单表
DROP TABLE IF EXISTS orders;
CREATE TABLE orders
(
`id` INT PRIMARY KEY AUTO_INCREMENT,
`flag` VARCHAR(2), # 订单状态(未支付、已支付、已失效、已删除)
`create_time` DATETIME # 创建时间
) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8;
INSERT INTO orders VALUES (1, '1', '2020-10-11 15:41:46');
INSERT INTO orders VALUES (2, '1', '2020-10-12 15:41:46');
INSERT INTO orders VALUES (3, '3', '2020-10-13 15:41:46');
INSERT INTO orders VALUES (4, '4', '2020-10-14 15:41:46');
# 创建订单商品中间表
DROP TABLE IF EXISTS orders_products_relation;
CREATE TABLE orders_products_relation
(
`id` INT PRIMARY KEY AUTO_INCREMENT,
`order_id` INT, # 订单 id
`product_id` INT # 商品 id
) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8;
INSERT INTO orders_products_relation VALUES (1, 1, 1);
INSERT INTO orders_products_relation VALUES (2, 1, 2);
INSERT INTO orders_products_relation VALUES (3, 2, 1);
INSERT INTO orders_products_relation VALUES (4, 2, 2);
INSERT INTO orders_products_relation VALUES (5, 2, 3);
INSERT INTO orders_products_relation VALUES (6, 3, 1);
INSERT INTO orders_products_relation VALUES (7, 4, 1);
INSERT INTO orders_products_relation VALUES (8, 4, 2);
访问域名:www.springcloudgateway.com
lagou-parent
:父微服务,所有微服务继承
lagou-cloud-gateway
:网关微服务,集群环境,端口号分别为:9000、9001
lagou-service-order
:订单微服务,集群环境,端口号分别为:9100、9101
lagou-service-goods
:商品微服务,商品微服务,集群环境,端口号为别为:9200、9201
laoug-service-common
:公共组件微服务,放置所有业务微服务的 POJO 和 Feign 接口
lagou-cloud-eureka
:服务注册与发现微服务,集群环境,端口号分别为 9300、9301
lagou-cloud-config
:配置管理微服务,非集群环境,端口号 9400
Boot 版本:2.1.6.RELEASE
数据访问:Mybatis-plus
编译插件:Lombok
访问风格:Restful
测试工具:Postman
通过 id 查询商品。
通过 id 删除商品。
通过 id 编辑商品。
分页查询:
pageSize = 10
商品表自行设计,保证核心字段存在。
根据 id 查询订单。
分页查询:
pageSize = 10
根据订单 id 查询商品列表:
订单表自行设计,注意表的拆分,遵循三大范式。
设置 Gateway 访问 Gateway 负载均衡。
Nginx 限流(选做):
所有请求经过 Gateway 转发。
配置动态路由策略。
支付负载均衡。
从配置获取公司宣传标语 slogan - 中国梦!
。
支持动态刷新。