优化为分布式秒杀系统

  • 一. Seckill-cache——缓存模块
    • ①. RedisConfig_redis配置信息
    • ②. RedisPoolFactory_jedis连接池
    • ③. RedisLockImpl_Redis分布式锁服务实现(注册服务到Dubbo)
    • ④. RedisServiceImpl_redis服务实现(注册服务到Dubbo)
    • ⑤. application.properties配置
  • 二. Seckill-commons——公共模块
    • ①. 服务接口
      • 1. DLockApi——分布式锁接口
      • 2. RedisServiceApi——redis 服务接口
      • 3. GoodsServiceApi——商品服务接口
      • 4. MqProviderApi——消息队列服务接口
      • 5. OrderServiceApi——订单服务接口
      • 6. SeckillServiceApi——秒杀服务接口
      • 7. UserServiceApi——用户服务接口
    • ②. 实体类
      • 1. Goods
      • 2. OrderInfo
      • 3. SeckillGoods
      • 4. SeckillOrder
      • 5. SeckillUser
    • ③. GlobalExceptionHandler_全局异常处理器
    • ④. util工具包
      • 1. DBUtil——数据库连接工具
      • 2. JsonUtil——json 工具类
      • 3. MD5Util——MD5工具类
      • 4. UUIDUtil——UUID工具类用于生成session
      • 5. ValidatorUtil——手机号码格式校验工具
      • 6. VerifyCodeUtil——验证码创建和计算
      • 7. IsMobile——自定义注解效验手机号
    • ⑤. result结果集返回封装
      • 1. Result——用户接口返回结果
      • 2. CodeMsg——响应结果状态码
  • 三. Seckill-user——用户模块
    • ①. 实体类
      • 1. SeckillUser——秒杀用户信息
    • ②. Mapper接口和Mapper.xml文件
      • 1. SeckillUserMapper
      • 2. SeckillUserMapper.xml
    • ③. UserServiceImpl——用户服务实现类(服务暴露到Dubbo,服务引用)
  • 四. Seckill-goods——商品模块
    • ①. GoodsMapper——goods 表的数据库访问层
    • ②. GoodsServiceImpl商品服务实现(注册服务到Dubbo)
    • ③. SeckillServiceImpl秒杀服务实现(注册服务到Dubbo)
  • 五. Seckill-order——订单模块
    • ①. OrderMapper——seckill_order 表数据访问层
    • ②. OrderServiceImpl订单服务实现(注册服务到Dubbo)
  • 六. Seckill-mq——消息队列模块
    • ①. MQConfig——通过配置文件获取消息队列
    • ②. MqConsumer——MQ消息接收者, 消费者
    • ③. MqProviderImpl消息队列服务化(注册服务到Dubbo)
  • 七. Seckill-gateway——网关模块
    • ①. Config配置
      • 1. AccessInterceptor——用户访问拦截器
      • 2. AccessLimit——用户访问拦截的注解
      • 3. UserContext——使用ThreadLocal保存用户
      • 4. UserArgumentResolver——解析请求,并将请求的参数设置到方法参数中
      • 5. WebConfig——自定义web配置
      • 6. Sentinel服务限流
    • ②. Controller接口
      • 1. Index——根路径,默认页面
      • 2. UserController——用户接口
      • 3. GoodsController——商品模块接口
      • 4. OrderController——订单服务接口
      • 5. SeckillController——秒杀接口

一. Seckill-cache——缓存模块

①. RedisConfig_redis配置信息

②. RedisPoolFactory_jedis连接池

③. RedisLockImpl_Redis分布式锁服务实现(注册服务到Dubbo)

④. RedisServiceImpl_redis服务实现(注册服务到Dubbo)

⑤. application.properties配置


二. Seckill-commons——公共模块

①. 服务接口

1. DLockApi——分布式锁接口

2. RedisServiceApi——redis 服务接口

3. GoodsServiceApi——商品服务接口

4. MqProviderApi——消息队列服务接口

5. OrderServiceApi——订单服务接口


6. SeckillServiceApi——秒杀服务接口

7. UserServiceApi——用户服务接口

②. 实体类

1. Goods

2. OrderInfo

3. SeckillGoods

4. SeckillOrder


5. SeckillUser


③. GlobalExceptionHandler_全局异常处理器

④. util工具包

1. DBUtil——数据库连接工具

2. JsonUtil——json 工具类

3. MD5Util——MD5工具类

4. UUIDUtil——UUID工具类用于生成session

5. ValidatorUtil——手机号码格式校验工具

6. VerifyCodeUtil——验证码创建和计算

7. IsMobile——自定义注解效验手机号

⑤. result结果集返回封装

1. Result——用户接口返回结果

2. CodeMsg——响应结果状态码

三. Seckill-user——用户模块

①. 实体类

1. SeckillUser——秒杀用户信息

②. Mapper接口和Mapper.xml文件

1. SeckillUserMapper

2. SeckillUserMapper.xml

③. UserServiceImpl——用户服务实现类(服务暴露到Dubbo,服务引用)

四. Seckill-goods——商品模块

①. GoodsMapper——goods 表的数据库访问层

②. GoodsServiceImpl商品服务实现(注册服务到Dubbo)

③. SeckillServiceImpl秒杀服务实现(注册服务到Dubbo)

五. Seckill-order——订单模块

①. OrderMapper——seckill_order 表数据访问层

②. OrderServiceImpl订单服务实现(注册服务到Dubbo)

六. Seckill-mq——消息队列模块

①. MQConfig——通过配置文件获取消息队列

②. MqConsumer——MQ消息接收者, 消费者

③. MqProviderImpl消息队列服务化(注册服务到Dubbo)

七. Seckill-gateway——网关模块

①. Config配置

1. AccessInterceptor——用户访问拦截器

2. AccessLimit——用户访问拦截的注解

3. UserContext——使用ThreadLocal保存用户

4. UserArgumentResolver——解析请求,并将请求的参数设置到方法参数中

5. WebConfig——自定义web配置

6. Sentinel服务限流

②. Controller接口

1. Index——根路径,默认页面

2. UserController——用户接口

3. GoodsController——商品模块接口

4. OrderController——订单服务接口

5. SeckillController——秒杀接口

秒杀商城项目----Dubbo+Zookeeper分布式秒杀系统模块分析相关推荐

  1. 分布式商城项目--dubbo 服务的发布和引用。

    分布式商城项目–dubbo 服务的发布和引用. dubbo服务需要zookeeper服务的支持,之前我们已经介绍过zookeeper的安装配置,这里就不在赘述 1.启动zookeeper 2. Pro ...

  2. (五)springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - maven构建根项目

    上一篇我们介绍<springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - maven模块规划>,从今天开始,我们将对代码的每一个构建做详细的记录,能够帮助大家 ...

  3. 客户关系管理系统 java_Java高级项目实战02:客户关系管理系统CRM系统模块分析与介绍...

    先来CRM系统结构图: 每个模块作用介绍如下: 1.营销管理 营销机会管理:针对企业中客户的质询需求所建立的信息录入功能,方便销售人员进行后续的客户需求跟踪与联系,提高企业客户购买产品的几率. 营销开 ...

  4. 秒杀商城项目----全局异常处理和加入缓存预热,商品结束秒杀标记 Map

    全局异常处理和加入缓存预热 一. 全局异常处理 二. 自定义异常 三. 加入缓存预热 四. 商品结束秒杀标记 map 一. 全局异常处理 当我们业务代码throw抛出异常信息时,异常拦截器进行判断异常 ...

  5. 谷粒商城项目笔记之分布式基础(一)

    谷粒商城项目之分布式基础 目录 谷粒商城项目之分布式基础 前言 1 项目简介 1.1 项目背景 1.1.1 电商模式 1.1.2 谷粒商城 1.2 项目架构图 1.2.1 项目微服务架构图 1.2.2 ...

  6. 商城项目01 _电商系统基本模式、分布式基础概念、微服务架构图、微服务划分图

    文章目录 ①. 电商系统基本模式 ②. 分布式基础概念 ③. 微服务架构图详解 ④. 微服务划分图 ①. 电商系统基本模式 ①. B2C模式 就是我们经常看到的供应商直接把商品卖给用户,即" ...

  7. SpringBoot+Dubbo+Zookeeper分布式项目打包时子模块依赖找不到解决方案

    我的个人网站:等不见天亮等时光 问题描述:子模块打包依赖其他的子模块,打包显示找不到jar包 解决方案:由于springboot打包和maven打包最后出来的jar包不同需要在pom中新增以下插件 & ...

  8. springmvc+mybatis+dubbo+zookeeper分布式架构

    框架简介--主要定位于互联网企业架构,已内置企业信息化系统的基础功能和高效的代码生成工具,包括:系统权限组件.数据权限组件.数据字典组件.核心工具 组件.视图操作组件.工作流组件组件.代码生成等.采用 ...

  9. (一)springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - 平台导语简介

    导语: 怎么搭建一套满足企业未来发展的通用架构平台?现在分布式.微服务.云平台的口号是如此的响亮,技术更新是如此的迅速,很多架构师选择使用dubbo.spring cloud的方案去帮助企业搭建分布式 ...

最新文章

  1. R语言ggplot2可视化:可视化堆叠的直方图、在bin中的每个分组部分添加数值标签、使用position_stack函数设置
  2. c语言小程序跑马灯,微信小程序实现跑马灯效果(完整代码)
  3. Good Time 冲刺 六
  4. Simulink之不可控整流电路
  5. Loadrunner11完美破解小笔记
  6. digiKam 6.1.0 发布,相片管理工具
  7. 1月13 ROS中的TF与URDF——机器人(1.1位姿几何基础——刚体位置和姿态描述)
  8. MySQL 数据库简介
  9. 64位的系统最大可以支持多大内存
  10. 谷歌SEO入门的基础知识
  11. 如何手机桌面加计算机,教你自制手机、电脑壁纸|手机一键加字、加光晕特效,4步搞定!...
  12. Linux如何ping本机IP,Linux ping6 本地ipv6地址无效的参数
  13. 用latex写毕业论文--设置附录、参考文献、致谢环境
  14. React 最好的 ui 组件库集锦
  15. python第三方库文件传输_慢步学习,python库文件概述,再来点第三方库文件安装的干货...
  16. 关心国事-周鸿祎离开雅虎真相 自称土鳖更喜欢创业
  17. 关于对vue-particle-effect-button的使用
  18. 矛与盾的较量-南美洲巅峰对决
  19. ios 新浪微博网页登陆分享 {error:userinfoerror pos:5}
  20. (附源码)springboot大学毕业设计管理系统 毕业设计030945

热门文章

  1. Unity 修改画面渲染顺序的几种实现方案
  2. gcc 生成动态链接库
  3. Unity2021版本UnityWebRequest使用方法参考
  4. 细说java泛型(终)
  5. 接口自动化测试学习整理
  6. 50个创意进度条优秀设计(附PSD下载)
  7. js常见正则验证:邮箱 手机号 电话号码 账号 去掉空格 身份证
  8. java实现LRU、FIFO缓存
  9. Surging -Demo部署
  10. @liveqing/liveplayer 视频截图Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement‘: Tainted canvas处理