You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
3.1 KiB
Markdown

# 最佳实践
## 目录介绍
- sde(Scaffold Development Evironment) 脚手架整合
- eladmin
- SpringBoot, SpringData Jpa、 JWT、Spring Security、Redis、Vue的前后端分离框架
- fast-boot
- SpringBoot、SpringSecurity、Mybatis-Plus
- guns
- SpringBoot、BootStrap
- renren-security
- SpringBoot、Shiro、MyBatis-Plus
- TODO 未来把 支付模块 广告模块 电商模块
- SCRM CRM CDP 等系统集成进来作为一个Demo级别的项目进行存在
## 解决方案研究1 - 核心业务的增长及治理
### 0. 会产生的问题
- 代码
- 原始的代码设计可能存在缺陷, 缺乏设计模式的应用, 或者需求的增加让代码的耦合性增加,可读性降低,可维护性降低
- 数据
- 在存储容量不足,查询方面可能存在瓶颈, 以及数据的增加带来的表结构的改变灾难,要清楚怎么变,怎么设计变,怎么设计不变
- 服务
- 原始服务的拆分可能存在不合理性,对于公用服务的封装可能也存在一定的缺陷,以及对服务的监控啥的,可能都需要重新去建设体系化
- 扩展
- 抓住不变和可变,去预测和治理一些新增的需求和适应一些改变
- 支撑
- 合理的应用和使用任何可靠手段来支撑业务,赋予业务更多的可能和支撑业务的大幅度增长和可用性
- 安全
- 设计合理的安全架构,制定自己系统的安全测试线,去收集问题,发现问题,解决问题
### 1. 解决问题方案
- 代码
- 使用设计模式
- 1- 先确认要修改的代码范围,或者要重新设计的业务范围
- 2- 规划要变化的代码范围,做一些改变的界限,评估界限边缘的代码会带来的一些风险,检查边缘代码
- 3- 分解代码的功能,按设计模式的: 创建型,结构型,行为型 进行分类
- 4- 对不同模式的设计模式进行评估使用,注意还是不要创新,要有一些历史的借鉴经验在这里
- 5- 在使用设计模式的时候要想想后续改变大不大,以及有一些心里的标准,防止使用设计模式爆炸
- 封装通用
- 1- 对同一类的方法进行封装
- 2- 按照业务的对接和操作方式进行封装
- 数据
- 数据结构
- 1- 对实体,实体之间的关系进行梳理-ER图
- 2- 存储的合理性进行分析,让表的结构和存储合理
- 3- 借助其他的存储载体的特有数据结构进行优化设计
- 表的优化
- 1- 对单业务模型进行大数据治理,比如分表分库
- 2- 对表的设计扩展进行预留,对单表的大小进行合理化检查,避免没必要的冗余过多,或联合查询过多
- 3- 盘点查询,对索引进行进一步的设计及规划,对一些文本处理的情形,
- 缓存
- 1- 添加数据层的缓存组件,对热数据进行缓存
- 服务
- 服务拆组
- 1- 根据业务需求检查服务的设计合理性,对服务进行有必要地拆组
- 服务监控
- 1- 使用SpringCloud 及 SpringCloudAlibaba 对服务的调用和状态进行详尽的检测
- 扩展
- 功能扩展
- 1- 对