0
点赞
收藏
分享

微信扫一扫

使用XLua在Unity中获取lua全局变量和函数

一脸伟人痣 2023-10-13 阅读 29

在这里插入图片描述

目录

引出

使用Nacos、Open Feign、Gateway、Sentinel技术栈实现XX公司订单、库存、积分的案例开发,以下是服务调用关系

git代码:https://gitee.com/pet365/spring-cloud-goods

在这里插入图片描述

https://github.com/RainbowForest/e-commerce-microservices

在这里插入图片描述

https://awesomeopensource.com/project/RainbowForest/e-commerce-microservices

在这里插入图片描述

小项目要求

使用Nacos、Open Feign、Gateway、Sentinel技术栈实现XX公司订单、库存、积分的案例开发,以下是服务调用关系

技术栈:Nacos、Open Feign、Gateway、Sentinel技术栈

在这里插入图片描述

(二)数据库设计:

(1)订单表、订单明细表
(2)商品表
(3)积分表

(三)项目需求

(1)现订单增删改查除功能
(2)实现商品增删改查除功能
(3)实现积分增删改查除功能
(4)实现nacos配置中心
(5)实现网关用户认证功能

  • 在网关,使用token,实现认证功能

(6)实现对外提供接口API走网关功能

  • ①积分查询列表
  • ②商品查询列表
  • ③订单查询列表
  • ④下单功能

(7)实现内部服务调用功能

  • ①内部服务使用Open Feign
  • ②下单调用商品服务减库存
  • ③下单调用积分服务加积分

(8)Sentinel降级服务(制造异常情况实现降级)

(9)实现网关限流功能

  • 使用Sentinel限流,流量整形

创建极简数据库表

订单表,订单明细表

在这里插入图片描述

/*
 Navicat Premium Data Transfer

 Source Server         : 127.0.0.1
 Source Server Type    : MySQL
 Source Server Version : 80022
 Source Host           : 127.0.0.1:3306
 Source Schema         : consumer_goods_order

 Target Server Type    : MySQL
 Target Server Version : 80022
 File Encoding         : 65001

 Date: 10/10/2023 21:51:03
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for goods_order
-- ----------------------------
DROP TABLE IF EXISTS `goods_order`;
CREATE TABLE `goods_order`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键,暂不考虑高并发问题',
  `user_id` int NULL DEFAULT NULL COMMENT '用户id',
  `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '总价格',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for goods_order_detail
-- ----------------------------
DROP TABLE IF EXISTS `goods_order_detail`;
CREATE TABLE `goods_order_detail`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '订单明细表主键',
  `order_id` int NULL DEFAULT NULL COMMENT '订单表的id',
  `goods_id` int NULL DEFAULT NULL COMMENT '商品的id',
  `nums` int NULL DEFAULT NULL COMMENT '数量',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

商品表

在这里插入图片描述

/*
 Navicat Premium Data Transfer

 Source Server         : 127.0.0.1
 Source Server Type    : MySQL
 Source Server Version : 80022
 Source Host           : 127.0.0.1:3306
 Source Schema         : consumer_goods_product

 Target Server Type    : MySQL
 Target Server Version : 80022
 File Encoding         : 65001

 Date: 10/10/2023 21:52:45
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for goods_sku
-- ----------------------------
DROP TABLE IF EXISTS `goods_sku`;
CREATE TABLE `goods_sku`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '商品名',
  `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '价格',
  `stock` int NULL DEFAULT NULL COMMENT '数量',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of goods_sku
-- ----------------------------
INSERT INTO `goods_sku` VALUES (1, 'iPhone 15 Pro Max 超视网膜 XDR 显示屏', 8999.00, 39);

SET FOREIGN_KEY_CHECKS = 1;

积分表

在这里插入图片描述

/*
 Navicat Premium Data Transfer

 Source Server         : 127.0.0.1
 Source Server Type    : MySQL
 Source Server Version : 80022
 Source Host           : 127.0.0.1:3306
 Source Schema         : consumer_goods_points

 Target Server Type    : MySQL
 Target Server Version : 80022
 File Encoding         : 65001

 Date: 10/10/2023 21:53:48
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for goods_point
-- ----------------------------
DROP TABLE IF EXISTS `goods_point`;
CREATE TABLE `goods_point`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
  `user_id` int NULL DEFAULT NULL COMMENT '对应用户的主键',
  `point` decimal(10, 2) NULL DEFAULT NULL COMMENT '积分数量',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of goods_point
-- ----------------------------
INSERT INTO `goods_point` VALUES (1, 1, 10.89);
INSERT INTO `goods_point` VALUES (2, 1, 8999.00);
INSERT INTO `goods_point` VALUES (3, 1, 8999.00);
INSERT INTO `goods_point` VALUES (4, 1, 8999.00);
INSERT INTO `goods_point` VALUES (5, 1, 17998.00);
INSERT INTO `goods_point` VALUES (6, 1, 17998.00);
INSERT INTO `goods_point` VALUES (7, 1, 8999.00);
INSERT INTO `goods_point` VALUES (8, 1, 8999.00);

SET FOREIGN_KEY_CHECKS = 1;

相关微服务

积分微服务

在这里插入图片描述

产品微服务

在这里插入图片描述

订单微服务

在这里插入图片描述

调用积分和订单微服务

内部服务使用Open Feign
下单调用商品服务减库存
下单调用积分服务加积分

在这里插入图片描述

网关微服务

在这里插入图片描述

登陆认证通过网关

下面是我用的token

在这里插入图片描述

在这里插入图片描述

实现对外提供接口API走网关功能

①积分查询列表
②商品查询列表
③订单查询列表
④下单功能

在这里插入图片描述

sentinel相关

使用Sentinel限流,流量整形

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Sentinel降级服务(制造异常情况实现降级)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


总结

使用Nacos、Open Feign、Gateway、Sentinel技术栈实现XX公司订单、库存、积分的案例开发,以下是服务调用关系

举报

相关推荐

0 条评论