# rest-cloud **Repository Path**: Sam997/rest-cloud ## Basic Information - **Project Name**: rest-cloud - **Description**: SpringCloud 原生 与 alibaba 脚手架 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-12-28 - **Last Updated**: 2022-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rest-cloud ## 介绍 rest-cloud是基于SpringCloud前后端分离的微服务项目,可作为基础的脚手架 感谢 [haiertadiedie](https://blog.csdn.net/haiertadiedie) 和 [若依/RuoYi-Cloud](https://gitee.com/zhangmrit/ruoyi-cloud) Ant Design版本。 喜欢这个后台架构的小伙伴留下你的小星星啦,star! ## 系统模块 ~~~ com.cloud ├── cloud-eureka // 注册中心 [8000-8009] ├── cloud-gateway // 网关模块 [8010-8019] ├── cloud-config // 配置中心 [8020-8029] │ └── -- 暂未开发 -- ├── cloud-api // feign模块 │ └── cloud-api-job // 定时任务接口模块 │ └── cloud-api-system // 系统接口模块 │ └── cloud-api-weixin // 微信接口模块 │ └── ---- ---- // ---模块 ├── cloud-common // 通用模块 │ └── cloud-common-core // 核心模块 │ └── cloud-common-db // 数据库模块 │ └── cloud-common-feign // feign模块 │ └── cloud-common-log // 日志模块 │ └── cloud-common-redis // redis模块 │ └── cloud-common-security // 安全模块 │ └── cloud-common-swagger // 文档模块 ├── cloud-modules // 业务模块 │ └── cloud-generate // 代码生成 │ └── cloud-system // 系统模块 [9000] │ └── cloud-job // 定时任务模块 [9010] │ └── cloud-wexin // 微信模块 [9020] ├── cloud-seata // 分布式事务模块 ├── cloud-tools // 工具模块 │ └── cloud-tools-log // 日志增强模块 │ └── cloud-tools-redis // redis增强模块 │ └── ---- ---- // --- ├── cloud-visual // 可视化模块 │ └── cloud-dashboard // hystrix断路器监控 [8030] │ └── cloud-montior // 监控模块 [8035] │ └── ---- ---- // --- ├──pom.xml // 公共依赖 ~~~ ## 框架技术 - SpringCloud:Hoxton.SR9 - SpringCloud-alibaba:2.2.3.RELEASE - SpringBoot:2.3.5.RELEASE - 安全框架:jwt + security(monitor模块) - 持久层框架:mybatis-plus + dynamic-datasource(已移除) + model-mapper - 健康:actuator + spring-boot-admin(监控) - 第三方模块:weixin-java-mp(微信公众号模块) - 中间件:redis + alibaba-seata(分布式事务) - 文档:swagger2 + bootstrap-ui(美化) - 日志:log4j2 + p6spy(db) + disruptor(异步) - 工具:lombok - json:alibaba-fastjson + jackson - jdk:java8+ - 数据库:mysql5.7+ - 其他技术:apache-poi(excel) + guava + quartz(定时) + hibernate-validator(参数校验) ## eureka手动剔除服务 ``` curl -X DELETE http://localhost:8000/eureka/apps/cloud-system/cloud-system:9000 ``` ## docker ``` 使用idea配置好docker启动项 1.配置dockerFile 如:cloud-eureka\dockerFile 2.配置镜像名 Image tag 如:cloud-eureka 3.配置容器名 Container name 如:cloud-eureka 4.配置映射端口 Bind ports 如:8000:8000 拉取mysql数据库镜像 docker pull mysql:8.0.21 docker run -d -p 3306:3306 --privileged=true -v -e MYSQL_ROOT_PASSWORD='Asdf!234' --name mysql8.0 mysql:8.0.21 ``` ## jvm堆设值 - -Xms:256m:表示java虚拟机堆区内存初始内存分配的大小256M - -Xmx512m:表示java虚拟机堆区内存可被分配的最大上限512M - -XX:PermSize=256m:表示非堆区初始内存分配大小256M - -XX:MaxPermSize=512m:表示对非堆区分配的内存的最大上限512M 在配置之前一定要慎重的考虑一下自身软件所需要的非堆区内存大小,因为此处内存是不会被java垃圾回收机制进行处理的地方。 并且更加要注意的是 最大堆内存与最大非堆内存的和绝对不能够超出操作系统的可用内存。 ## Windows - start bat ``` @echo off title system 9000 java -jar -Xms256m -Xmx512M cloud-modules-system-1.0-SNAPSHOT.jar --server.port=9000 --swagger.enabled=false ``` ## linux - start bat cloud-eureka ``` nohup java -jar cloud-eureka-1.0-SNAPSHOT.jar > logs/cloud-eureka.log 2>&1 & nohup java -jar cloud-eureka-1.0-SNAPSHOT.jar > /dev/null 2>&1 & ``` cloud-gateway ``` nohup java -jar cloud-gateway-1.0-SNAPSHOT.jar > logs/cloud-gateway.log 2>&1 & nohup java -jar cloud-gateway-1.0-SNAPSHOT.jar > /dev/null 2>&1 & ``` cloud-system ``` nohup java -jar -Xms256m -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M cloud-modules-system-1.0-SNAPSHOT.jar --swagger.enabled=false > logs/cloud-system.log 2>&1 & nohup java -jar -Xms256m -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M cloud-modules-system-1.0-SNAPSHOT.jar --swagger.enabled=false > /dev/null 2>&1 & ``` cloud-job ``` nohup java -jar -Xms256m -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M cloud-modules-job-1.0-SNAPSHOT.jar --swagger.enabled=false > logs/cloud-system.log 2>&1 & nohup java -jar -Xms256m -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M cloud-modules-job-1.0-SNAPSHOT.jar --swagger.enabled=false > /dev/null 2>&1 & ```