4 Star 1 Fork 0

313757586 / gen-start

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

gen-start

介绍

根的开始

软件架构

软件架构说明

安装教程

  1. xxxx
  2. xxxx
  3. xxxx

使用说明

  1. 开发规范

    • 项目目录规范

      • api 接口模块
      • svc 服务模块
      • web web模块
      • pub 公共模块(包含各种工具类)
  2. 多数据源(项目默认 方案1.4.3 )

    1.1 处理方案:分包、注解 切换两种

    1.2 使用场景:多数据源主从/多数据源多库/多数据源主从+多库

    1.3 问题处理:多数据源就脱离不了事务处理,如何处理事务的统一

    1.4 实现方案:

    1.4.1 分包:创建多个sqlsession ,通过不同包名分配不同的 sqlsessiontemplate 进行数据操作(参考分支 v0.1 )
    
    1.4.2 注解:注解指定数据源,通过AOP形式进行数据源切换
    
    1.4.3 分包+注解:通过拦截spring的 Service注解,解析包目录进行切换,切换支持spel表达式解析,能执行库操作(参考分支 v0.2)

    1.5 问题解决思路

    1.5.1 主从场景,使用spring事务即可,建议直接使用 dynamic插件进行使用 1.5.2 分库场景

     1.5.2.1 事务:简单处理考虑使用 atomickos 的xa实现方案,进行强事务整合 (v0.1)
     1.5.2.2 事务:复杂处理,引入 seata 服务,可使用 AT/TCC/SAGA 方案都可以达到最终一致性,(缺点就是需要引入单独的seata组件)
  3. 基础权限设计 [待实现]

    2.1 基于 RBAC(Role-Based Access Control)模型的拓展模型RBAC3进行再次拓展,增加实体权限级别控制

  4. 接口模块设计 [待实现-黄艳龙]

    3.1 满足接口参数的映射、转换、透传、自定义参数添加

    3.2 满足对接平台与接口之间的权限控制,包含接口访问限制、流量控制、费用结算等

    3.3 网关集成

  5. 服务设计 [待实现]

    4.1 底层服务采用通用参数Map作为入参,便于后续进行热发布准备

  6. 热发布 [待实现]

  7. frame功能列表 [待实现]

    • 基于 easyExcel 进行文件的导入导出功能框架封装 [王明]
    • 功能启动后,后置处理 基于 Application
  8. 接口文档可视化

    • springdoc openApi3 (过度方案)
  9. 权限认证[待实现0-鼎雯]

  10. 公共

    • 全局异常拦截 WebGlobalExceptionHandler
    • 异常模块设计
      • 抛异常统一使用 ExceptionUtils 进行抛出
      • 异常信息统一格式 BusiExceptionEnum 为国际化做准备 [待拓展]
    • 分页模块
  11. 后台进程调度框架[powerJob集成]

  12. cache模块设计

    在 com.onepiece.gen.frame.cache 包目录下,所有缓存需要实现 ICache 接口,并重写缓存加载、获取、刷新方法 统一通过 CacheManager.getCacher获取对应缓存实例,进行缓存获取操作

  13. 规则模块设计

    规则要素 : 平台、场景、业务、操作

    校验模式

    • 基于规则要素进行规则集匹配
    • 基于单规则匹配

    规则引擎 : 规则集、规则、场景、平台

    应用

    • 通过 RuleEngineFactory.getEnginer().fire() 方法统一进行校验,规则初始化统一放在RuleFactory 中,后期统一迁移
    • 所有规则校验类必须实现 IValidator 接口 validate 方法

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

特技

  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. Gitee 官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解 Gitee 上的优秀开源项目
  4. GVP 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
  5. Gitee 官方提供的使用手册 https://gitee.com/help
  6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 https://gitee.com/gitee-stars/
MIT License Copyright (c) 2022 313757586 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

根的开始 展开 收起
Java
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/ASDF_A/gen-start.git
git@gitee.com:ASDF_A/gen-start.git
ASDF_A
gen-start
gen-start
master

搜索帮助