#### 项目介绍

一个基于spring boot、shiro、mybatis、redis的轻量级、前后端分离、防范xss攻击、拥有分布式锁,为生产环境多实例完全准备,拥有完整sku和下单流程的商城


#### 项目架构

项目架构说明

```

qwer

├─qwer-app-auth -- product和chat工程公共授权模块

├─qwer-chat  -- 聊天模块接口服务

├─qwer-manager  -- 管理后台接口服务

├─qwer-product  -- 产品接口服务

├─qwer-netty-im  -- netty及时通讯服务

├─qwer-common  -- 公共模块

│  ├─qwer-common-base -- 公共异常

│  └─qwer-common-util -- 公共工具类

├─qwer-business -- 公共业务端

├─qwer-starters -- 自定义starter

│  ├─qwer-redis-starter  -- redis,redssion相关操作

│  ├─qwer-rocketmq-starter  -- rocketmq

│  └─qwer-third-serve-starter  -- 第三方服务:阿里云短信、身份证认证、微信登录等

└─

#### 项目技术选型

| 技术                   | 版本   | 说明                                    |

| ---------------------- | ------ | --------------------------------------- |

| Spring Boot            | 2.2.1  | MVC核心框架                             |

| Shiro                  | 1.4.1  | 认证和授权框架                          |

| MyBatis                | 3.5.0  | ORM框架                                 |

| MyBatisPlus            | 3.3.0  | 基于mybatis,使用lambda表达式的         |

| Swagger-UI             | 2.8.0  | 文档生产工具                            |

| Hibernator-Validator   | 6.0.17 | 验证框架                                |

| Redisson               | 3.11.6 | 对redis进行封装、集成分布式锁、分布式限流器等         |

| Alibaba Druid          | 1.1.18 | 数据库连接池                            |

| log4j2                 | 2.11.2 | 更快的log日志工具                       |

| RocketMq               | 4.6.0  | 系统消息队列                            |

| JwtToken+AES           | 3.8.2  | 安全授权框架                            |

| lombok                 | 1.18.10| 简化对象封装工具                        |

| hutool                 | 5.2.3  | 更适合国人的java工具集                   |

| fastjson               | 1.2.35    | JSON解析框架                         |

| shardingsphere         | 4.0.0-RC1 | 分表插件                             |

| eatthepath             | 0.14.2    | 苹果推送                             |




## 软件环境 


1.  jdk 1.8+

2.  mysql 5.7

3.  maven 3.6.3

4.  redis 4.0+

5.  rocketMq 


## 注意事项

1. redis采用持久化存储;用户好友、群组信息持久化在redis中,若数据丢失则添加好友、群组会失败;若丢失数据可以调/im/reload/cache下接口重新初始化缓存。

2. redisson的配置文件在qwer-starters/qwer-redis-starter工程resources目录下,注意修改redis地址。

3. 交易流水表(tr_trade_record开头表的),是根据yyyy-mm(年月)来分表的,tr_trade_record作为热点表,保留前3天(包含今天)的数据,

每天凌晨定时任务执行,把最近3天之前的数据根据complete_time字段,迁移到不同的分区表;定时任务自定创建下个月的分表。

4. 红包订单表(tr_red_order)和红包领取记录(tr_red_order_record),是根据数据量分表(2000千万分一个表)

5. 用户余额明细表(pt_user_record),是根据数据量分表(2000千万分一个表),pt_user_record作为热点包保留最新的,超过(2000千万)迁移到备份表。

6. 支付回调日志表(tr_trade_return),第三方接口请求日志(tr_channel_log),定时任务自动删除X天之前数据。

微信图片_20221108113358.png


本店推荐
进入店铺
  • 卖家QQ 408872799
  • 卖家微信 cco2ocom