KouShenhai/KCloud-Platform-Tencent
Fork: 5 Star: 5 (更新于 2024-12-15 10:46:19)
license: Apache-2.0
Language: Java .
KCloud-Platform-Tencent(老寇云平台)是一款企业级微服务架构的云服务平台。基于Spring Boot 3.0.1、Spring Cloud 2022.0.0、Spring Cloud Tencent 1.8.2-2022.0.0最新版本开发
最后发布版本: v3.0 ( 2023-01-06 18:50:17)
老夫时间有限,主要维护基于阿里巴巴的脚手架
项目地址
Gitub 后端地址:KCloud-Platform-Alibaba
Gitub 前端地址:KCloud-Antdv-Alibaba
Gtiee 后端地址:KCloud-Platform-Alibaba
Gitee 前端地址:KCloud-Antdv-Alibaba
项目备注
项目:KCloud-Platform-Tencent
作者:老寇
语言:Java
职位:Java工程师
时间:2022.09.23 ~ 至今
项目介绍
KCloud-Platform-Tencent(老寇云平台)是一款企业级微服务架构的云服务平台。基于Spring Boot 3.0.1、Spring Cloud 2022.0.0、Spring Cloud Tencent 1.8.2-2022.0.0最新版本开发, 遵循SpringBoot编程思想,高度模块化和可配置化。具备服务注册&发现、配置中心、限流、熔断、降级、监控、多数据源、工作流、高亮搜索、定时任务、分布式缓存、分布式事务、分布式存储等功能,用于快速构建微服务项目。目前支持Shell、Docker等多种部署方式,实现RBAC权限、其中包含系统管理、系统监控、工作流程、数据分析等几大模块。 遵循阿里代码规范,代码简洁、架构清晰,非常适合作为基础框架使用。
功能介绍
- 用户管理:用户信息管理,可重置用户密码
- 角色管理:基于部门的数据权限、角色权限
- 菜单管理:自定义菜单图标、菜单信息管理
- 部门管理:部门信息管理
- 日志管理:操作日志、登录日志
- 字典管理:字典信息管理
- 消息管理:消息提醒和消息通知
- 搜索管理:通过关键字搜索并高亮显示
- 资源管理:视频、图片、音频管理,资源审批,审批日志
- 流程定义:流程定义、挂起、激活、查看、删除
- 接口文档:Swagger2改为Open Api Doc 3
- 服务监控:服务内存监控
- 缓存监控:Redis内存监控
- 主机监控:服务器内存或磁盘监控
- 存储管理:存储信息管理,兼容Amazon S3(页面有时间再画)
系统架构
技术体系
Spring全家桶及核心技术版本
组件 | 版本 |
---|---|
Spring Boot | 3.0.1 |
Spring Cloud | 2022.0.0 |
Spring Cloud Tencent | 1.8.2-2022.0.0 |
Spring Boot Admin | 3.0.0-M8 |
Spring Authorization Server | 1.0.0 |
Mybatis Plus | 3.5.3.1 |
Polaris | 1.13.3 |
Mysql | 5.7.9 |
Redis | 6.0.6 |
Elasticsearch | 7.6.2 |
RocketMQ | 5.0.0 |
Kafka | 2.8.1 |
相关技术
- API 网关:Spring Cloud Gateway
- 服务注册&发现:Spring Cloud Tencent Polaris
- 认证授权:Spring Security OAuth2 Authorization Server
- 服务消费:Spring Cloud OpenFeign & HttpClient & WebClient
- 负载均衡:Spring Cloud Loadbalancer
- 服务熔断&降级&限流:Spring Cloud Tencent Polaris
- 服务监控:Spring Boot Admin & Prometheus
- 配置中心:Spring Cloud Tencent Polaris
- 消息队列:RocketMQ & Kafka
- 日志分析:EFK
- 数据缓存:Caffeine + Redis
- 统计报表:MongoDB
- 对象存储:Amazon S3
- 服务部署:Docker
- 持续交付:Jenkins
- 持久层框架:Mybatis Plus
- JSON 序列化:Jackson
- 数据库:Mysql
- 工作流:Flowable
项目结构
├── laokou-common
└── laokou-common-core --- 公共组件
└── laokou-common-swagger --- 文档组件
└── laokou-common-bom --- 依赖版本库
└── laokou-common-mybatis-plus --- 对象映射组件
├── laokou-cloud
└── laokou-gateway --- API网关
└── laokou-monitor --- 服务监控
├── laokou-service
└── laokou-api --- API模块
└── laokou-log --- 日志模块
└── laokou-generator --- 模板模块
└── laokou-auth --- 认证授权模块
└── laokou-admin --- 后台管理模块
└── laokou-report --- 数据分析模块
└── laokou-modlule
└── laokou-sms --- 短信模块
└── laokou-mail --- 邮件模块
└── laokou-redis --- 缓存模块
└── laokou-kafka --- 消息模块
└── laokou-xxl-job --- 工作模块
└── laokou-mongodb --- 报表模块
└── laokou-rocketmq --- 消息模块
└── laokou-elasticsearch --- 搜索模块
└── laokou-im --- 即时通讯模块
└── laokou-oss --- 对象存储模块
└── laokou-flowable --- 工作流程模块
环境配置
安装教程
centos7 安装jdk1.8
centos7 安装mysql5.7
centos7 安装maven
centos7 安装redis
centos7 安装中文字体
centos7 安装jenkins
centos7 安装nacos
centos7 安装elasticsearch7.6.2
centos7 安装kafka
centos7 安装rocketmq
安装包
百度网盘 提取码:1111
环境配置
服务配置
spring:
# mysql
datasource:
# 连接地址
url: jdbc:mysql://127.0.0.1:3306/kcloud_platform?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
# 用户名
username: root
# 密码
password: 123456
# redis
data:
redis:
#主机
host: 127.0.0.1
#端口
port: 6379
#连接超时时长(毫秒)
timeout: 6000ms
# elasticsearch
elasticsearch:
#主机
host: 127.0.0.1:9200
#节点
cluster-name: elasticsearch-node
JDK版本兼容
VM options配置
--add-opens=java.base/java.lang=ALL-UNNAMED
数据权限
代码引入
@Service
@RequiredArgsConstructor
public class SysUserApplicationServiceImpl implements SysUserApplicationService {
private final SysUserService sysUserService;
@Override
@DataFilter(tableAlias = "boot_sys_user")
public IPage<SysUserVO> queryUserPage(SysUserQO qo) {
IPage<SysUserVO> page = new Page<>(qo.getPageNum(),qo.getPageSize());
return sysUserService.getUserPage(page,qo);
}
}
二级缓存
代码引入
public class SysUserApiController {
@DataCache(name = CacheConstant.USER, key = "#id")
public HttpResult<SysUserVO> detail(@RequestParam("id") Long id) {
return new HttpResult<SysUserVO>().ok(sysUserApplicationService.getUserById(id));
}
}
Redis开启订阅
输入命令
config set notify-keyspace-events KEA
高可用系统构建
- 严格遵循阿里规范,注重代码质量
- 使用集群,减少单点故障
- 限流
- 超时和重试机制
- 熔断机制
- 异步调用
- 使用缓存
- 其他(监控系统资源使用情况增加报警设置...)
演示地址
http://175.178.69.253
admin/admin123
test/test123
laok5/test123
项目截图
用户权益
- 采用Apache2.0开源协议,并且承诺永不参与商业用途,仅供大家无偿使用
- 采用Apache2.0开源协议,并且承诺永不参与商业用途,仅供大家无偿使用
- 采用Apache2.0开源协议,并且承诺永不参与商业用途,仅供大家无偿使用
参与贡献
欢迎各路英雄好汉参与KCloud-Platform-Tencent代码贡献,期待您的加入!Fork本仓库 新建 feat_xxx_环境_时间(如 feat_laokou_dev_20230116) 分支提交代码,新建Pull Request
开源协议
KCloud-Platform-Tencent 开源软件遵循 Apache 2.0 协议 请务必保留作者、Copyright信息
项目地址
Gitub 后端地址:KCloud-Platform-Tencent
Gitub 前端地址:KCloud-Antdv-Tencent
Gtiee 后端地址:KCloud-Platform-Tencent
Gitee 前端地址:KCloud-Antdv-Tencent
致谢
联系
博客:https://kcloud.blog.csdn.net
邮箱:2413176044@qq.com
QQ:2413176044
后端技术交流群
最近版本更新:(数据更新于 2024-09-01 10:40:28)
2023-01-06 18:50:17 v3.0
主题(topics):
mybatis, redis, spring-cloud, spring-cloud-tencent, springboot, springcloud
KouShenhai/KCloud-Platform-Tencent同语言 Java最近更新仓库
2024-12-20 19:54:15 mybatis-flex/mybatis-flex
2024-12-19 21:53:46 spring-projects/spring-boot
2024-12-19 21:25:16 Stirling-Tools/Stirling-PDF
2024-12-19 16:28:14 Tornaco/Thanox
2024-12-19 10:42:01 alibaba/nacos
2024-12-18 20:58:34 dromara/forest