# SummerCloud **Repository Path**: jike11231/SummerCloud ## Basic Information - **Project Name**: SummerCloud - **Description**: 借鉴SpringCloud的命名风格,我们期望与SpringCloud相辅相成,以热情澎湃、激奋人心的姿态,迅速整合当前微服务体系,简化开发过程。怀着饱满的渴望,倾注开源贡献者的信仰与心血,以“夏天”为名,回应开发者们对微服务架构的炽热热情。 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: http://www.summer.sc.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-12-29 - **Last Updated**: 2024-12-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # *[SummerCloud](https://gitee.com/a-xin-2299/SummerCloud.git)* #### 借鉴SpringCloud的命名风格,我们期望与SpringCloud相辅相成,以热情澎湃、激奋人心的姿态,迅速整合当前微服务体系,简化开发过程。怀着饱满的渴望,倾注开源贡献者的信仰与心血,以“夏天”为名,回应开发者们对微服务架构的炽热热情。 ##### SummerCloud是一套基于springboot,jdk8开发的框架,集成了gateway,spring cloud alibaba,rabbitmq,redis,redisson,minio等 | 功能介绍 | 使用技术 | 文档地址 | 注意事项 | |:----------:|:---------------------:|:----------------------------------------------------------------------------------------------:|:----------------------:| | 后端开发 | SpringBoot | [SpringBoot官网](https://spring.io/projects/spring-boot/#learn) | | | 容器框架 | Undertow | [Undertow官网](https://undertow.io/) | 基于 XNIO 的高性能容器 | | 权限认证框架 | Spring-Security | [Spring-Security官网](https://spring.io/projects/spring-security) | | | 微服务监控 | SpringBoot-Admin | [SpringBoot-Admin官网](https://codecentric.github.io/spring-boot-admin/current/) | 全方位服务监控,上下线邮件通知 | | 服务注册管理 | Nacos | [Nacos官网](https://nacos.io/) | 动态服务发现、配置管理和服务管理 | | 熔断限流 | Sentinel | [Sentinel官网](https://sentinelguard.io/zh-cn/) | 分布式、多语言异构化服务架构的流量治理组件 | | 分布式事务 | Seata | [Seata官网](https://seata.apache.org/zh-cn/) | 微服务架构下高性能和简单易用的分布式事务服务 | | 动态线程池 | DynamicTp | [DynamicTp官网](https://dynamictp.cn/guide/introduction/background.html) | 基于配置中心的轻量级动态可监控线程池 | | 令牌颁发 | 自定义token生成算法 | | 强解耦、强扩展 | | 关系型数据库 | MySQL | [Mysql官网](https://dev.mysql.com/) | 适配 8.X 最低 5.7 | | 关系型数据库 | PostgreSQL | [PostgreSQL官网](https://www.postgresql.org/) | 适配 13 14 | | 非关系型数据库 | Redis | [Redis官网](https://redis.io/) | 适配 6.X 最低 4.X | | 持久层框架 | Mybatis-Plus | [Mybatis-Plus官网](https://baomidou.com/guide/) | 快速 CRUD 增加开发效率 | | 自动建表 | Mybatis-table | | 自定义开发多数据源自动建表 | | 多数据源整合 | 自定义多数据源 | | 集成多数据源配置,动态数据源 | | 单服务分布式事务 | JTA+atomikos | [JTA官网](https://docs.spring.io/spring-boot/reference/io/jta.html#io.jta) | 整合jta分布式事务 | | 序列化框架 | Jackson | [Jackson官网](https://github.com/FasterXML/jackson) | 统一使用 jackson 高效可靠 | | Redis客户端 | Redisson | [Redisson官网](https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95) | 支持单机、集群、哨兵、分片配置 | | 分布式链路追踪 | Zipkin | [Zipkin官网](https://zipkin.io/pages/architecture.html) | 链路追踪、网格分析、度量聚合、可视化 | | 分布式任务调度 | snail-Job | [snail-Job官网](https://snailjob.opensnail.com/) | 高性能 高可靠 易扩展 | | 分布式文件存储 | Minio | [Minio官网](https://docs.min.io/) | 本地存储 | | 短信模块 | 阿里、腾讯 | | 短信发送 | | 校验框架 | Validation | [Validation官网](https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/) | 增强接口安全性、严谨性 支持国际化 | | 文档框架 | Swagger、Knife4j | [Knife4j官网](https://doc.xiaominfo.com/v2/) | 基于java注释归类api接口文档 | | 工具类框架 | Hutool、Lombok | [Hutool官网](https://www.hutool.cn/docs/) | 减少代码冗余 增加安全性 | | 部署方式 | Docker | [Docker官网](https://docs.docker.com/) | 容器编排 一键部署业务集群 | | 服务治理、JVM检测 | Prometheus、NodeExport | [Prometheus官网](https://prometheus.io/download/) | 服务数据抓取 | | 服务大屏 | Grafana | [Grafana官网](https://grafana.com/) | 动态显示服务详情 | ### 项目启动服务组件文档:[SummerDocker](https://gitee.com/a-xin-2299/SummerDocker.git) # 模块说明: ###### 1.框架基础服务项: > **summer-basic:** > > + **gateway-server:** > > - ***统一网关入口*** > > - 框架全局api入口,包括feign请求。集成api权限校验,token信息校验。 > > - 集成nacos动态路由,路由文件:gateway_routes,以json形式进行解析,集成nacos服务状态监听,实时刷新网关路由缓存,避免服务下线后网关感知缓慢问题,从最开始的30s降低到5s。 > > - 集成knif4j文档,针对不同服务拉取所有api信息,以及调试,knif4j存在以下逻辑:knif4j页面的服务项是根据nacos动态路由进行匹配,若该服务正常上线,且正常使用,knif4j才会显示该服务的资源,否则不会显示。 > > - 集成Kaptcha图形验证码以及短信验证码的下发(/imageCode[图形验证码生成]),短信下发对下发手机号及IP地址做动态黑名单限制(/smsCode[短信验证码下发])。 > > - 集成token过期清理任务。 > > + **gateway-feign:** > > - ***服务间openfeign调用统一入口*** > - 框架体系中openfeign请求统一入口 > - 集成nacos动态路由,根据服务资源评分进行动态负载均衡 > > + **summer-auth:** > > - ***统一登录框架*** > - 框架全局token颁发,用户登入登出服务,依赖于a-sys服务进行查询登录用户信息,集成3种登录方式: > - 1.手机号密码登录 > - 2.手机短信验证码登录 > - 3.小程序登录(openid + 手机号) > > **** ###### 2.框架公共模块及中间件: > summer-common: > > - common-log: 微服务日志打印及日志记录 > - common-feign: openfeign调用统一配置,openfeign加解密配置项 > - common-mybatis: 持久层框架整合 > - summer-core: 微服务共同资源 > - summer-job: 分布式定时任务配置 > - summer-resource: 项目全局资源模块,静态资源模块 > - summer-seata: 分布式事务seata配置模块 > - common-exception: 微服务全局异常捕获 > - common-banner: 微服务启动banner打印信息 > - common-rabbit: rabbitmq消息队列支持 > - common-redis: 分布式缓存redis > - common-sms: 全局短信平台集成,包含腾讯,阿里等平台 > - common-thread: 框架整体线程及线程池集成配置 > - common-token: 自定义算法token生成,校验,颁发 > - common-warm: 微服务启动预热模块 ###### 3.项目全局依赖抽取模块: > summer-dependency: > > - summer-all: 框架共同依赖集成 > - summer-constant: 框架全局常量,工具类,spring核心依赖集成 > - summer-server: 微服务用依赖集成 > - summer-server-parent: 微服务中间件集成 ###### 4.微服务业务模块: > servers: > > - adapter: 服务控制层 > - dao-api: 持久层接口,数据库表映射对象 > - mybatis: 自定义sql > - domain: 服务接口定义层 > - feign: 服务对外暴露接口层 > - construction: 业务逻辑实现 > - feign: openfeign对外调用接口信息 > - protocol: 服务feign调用,pojo类,独立工具类 > - server: 服务主启动类,服务配置项类 ###### 5.项目jar包 > jars: 项目maven打包jar包默认存放路径