MyGit

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)

官方网址 GitHub网址

老夫时间有限,主要维护基于阿里巴巴的脚手架

项目地址

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权限、其中包含系统管理、系统监控、工作流程、数据分析等几大模块。 遵循阿里代码规范,代码简洁、架构清晰,非常适合作为基础框架使用。

Gitee Star Gitee Fork SpringBoot License Apache 2.0

功能介绍

  • 用户管理:用户信息管理,可重置用户密码
  • 角色管理:基于部门的数据权限、角色权限
  • 菜单管理:自定义菜单图标、菜单信息管理
  • 部门管理:部门信息管理
  • 日志管理:操作日志、登录日志
  • 字典管理:字典信息管理
  • 消息管理:消息提醒和消息通知
  • 搜索管理:通过关键字搜索并高亮显示
  • 资源管理:视频、图片、音频管理,资源审批,审批日志
  • 流程定义:流程定义、挂起、激活、查看、删除
  • 接口文档: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

致谢

Spring官网
人人社区
若依社区

联系

博客:https://kcloud.blog.csdn.net
邮箱:2413176044@qq.com
QQ:2413176044
后端技术交流群 加入QQ群

最近版本更新:(数据更新于 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