一个正经的springcloud微服务项目
最近搞了一个springcloud微服务项目,基于jdk17,先贴图
项目结构
后管中心
后管接口
后管功能
该项目目前有网关中心,认证中心,辅助中心,文件中心,监控中心,审核中心,用户中心,批量调度中心。
网关中心(appetite-gateway):请求转发,限流熔断,交易权限验证,黑白名单,防XSS攻击,交易请求日志记录等;
认证中心(appetite-auth):交易安全校验,接口管理,中心管理等;
辅助中心(appetite-auxiliary):代码生成,版本部署,服务器管理等;
文件中心(appetite-file):文件上传下载;
监控中心(appetite-monitor):基于springbootadmin的微服务监控;
审核中心(appetite-process):交易审核;
用户中心(appetite-user):用户信息管理;
批量调度中心(cake-job):批量调度中心,定时任务管理。
另外appetite-api:公共交易api,便于服务之间调用,appetite-common:公共包,appetite-dependencies公共maven包版本管理。
目前该项目支持的功能有:1:代码生成 实体和中心 2:sql生成 3:swagger 4:网关接口控制,有后台系统用于操作 5:分布式id生成-时间递增(用于表主键),雪花算法(用于通讯和行为表主键) 6:用户行为记录 7:公共切面 8:审核流程 9:网关权限控制,登录token,token过期自动续约 10:网关公共校验,校验中心 11:公共api模块 12:kafka消息系统 13:xxl_job批量调度系统 14:中心通讯权限控制 15:日志追踪 16:基于sentinal限流 17:springbootadmin监控 18:统一异常处理 19:AT模式分布式事务 20:请求返回参数可以在网关国密加密 21:基于resttemplate的中心通讯调用 22:自定义sql版本控制-取代flyway,有分布式控制,不用担心启动都会执行 23:打包成jar包,lib包单独打,有启动脚本 24:国际化语言支持 25:有版本发布方法 26:网关基于redis动态路由 27:DDD领域驱动 28:模块化代码 29:统一版本控制 30:基于nacos配置中心,动态配置 31:ELK日志系统 32:log4j2日志系统 33:基于skywalking链路追踪 34:支持生成接口文档 35:支持生成数据库文档 36:基于mabaties-plus的二级分布式缓存,在Redis存储上 37:支持es搜索 38:基于mybaties-plus的多租户,分库分表,事务,多数据源 39:基于mybaties-plus,防止全表更新或者删除,分页,统一字段处理等 40:存储请求返回字段,可以查看请求返回信息 41:统一报文头,统一返回 42:mapstruct数据转换 43:日志脱敏,大字段脱敏,账户等脱敏 44:防xss攻击
还有一些另外的功能,像慢sql查询等等,没有整理完,最近想把它升级到springboot3。一站式微服务开发,感兴趣的朋友可以联系我。后续再慢慢介绍其他的功能。