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.

3.1 KiB

最佳实践

目录介绍

  • 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- 对