# xr-platform **Repository Path**: xiaoyeur/xr-platform ## Basic Information - **Project Name**: xr-platform - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-04 - **Last Updated**: 2023-01-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # XR云平台项目 项目介绍: * 基于微服务架构的SaaS云平台服务. ### 版本号管理 以下是Springboot、SpringCloud等相关组件版本号统计: | 组件名称 | 版本号 | 其他说明 | |:----------------------:|:-------------:|:----------------------:| | JDK | 1.8 | Java版本 | | Spring Cloud | Hoxton.SR9 | Spring Cloud版本 | | Spring Boot | 2.3.7.RELEASE | Spring Boot版本 | | Spring Cloud Alibaba | 2.2.2.RELEASE | Spring Cloud Alibaba版本 | | Sentinel | 2.2.2.RELEASE | 熔断降级 | | Nacos | 2.2.2.RELEASE | 注册中心、配置中心 | | MySQL | 8.0.27 | 数据库 | | Druid | 1.2.8 | 数据库连接池 | | Spring Cloud Gateway | 2.2.6.RELEASE | 路由网关 | | Spring Cloud OpenFeign | 2.2.6.RELEASE | SpringCloud远程调用工具 | | Spring-actuator | 2.3.7.RELEASE | 端口暴露 | | Alibaba-arthas | 3.4.8 | 应用监控组件 | | Smart-doc | 2.3.7 | 接口文档工具 | | Mybatis-plus | 3.4.2 | ORM框架 | | java-jwt | 3.18.3 | Jwt-Token认证 | | p6spy | 3.9.1 | SQL执行监控 | | websocket | 2.3.7.RELEASE | websocket通信 | | zookeeper | 3.5.5 | 服务注册发现 | | sky walking | 8.7.0 | 服务链路追踪 | | aliyunOss | 3.10.2 | 文件上传下载服务 | | antisamy | 1.6.5 | XSS防御框架 | | xxl-job | 2.3.0 | 分布式定时任务框架 | | security | 2.3.7.RELEASE | Spring权限框架 | ## 系统模块 ~~~ com.bjb.vr ├── gateway // 网关模块 [8081] ├── auth // 认证中心 [8082] ├── manager // 教师端模块 [8083] ├── common // 通用模块(通用的增删改查、工具类方法) ├── operation // 运营端模块 [8084] ├── remote // 远程调用模块 [8085] ├── monitor // 服务监控模块 [8086] ├── schedule // 定时任务模块 [8087] ├── datasync // 数据同步模块 [8088] ├──pom.xml // 公共依赖 ~~~ ## 架构图 ![项目架构图](config/9f968180-d4fa-47df-9bb5-0fb73e4c971a.png) ### 实现功能 * AliyunOss文件上传下载 * 数据库敏感字段脱敏 * Redis-分布式锁工具类 * 请求链路追踪 * 请求日志监控 * Mybatis-plus集成 * ps6-Sql语句耗时性能监控 * Jwt-Token工具类 * 性能监控报警功能 * 服务上线下线报警 * 服务远程更新 ### 数据同步: 本地和云端交互流程图 ![数据同步](config/数据同步方案.png) ``` 不需要数据同步的表:sys_upgrade、sys_upgrade_log、sys_upgrade_dev_log、sync_data、sync_tenant、executed_sql以及没有tenant_id字段的表 ``` ### 服务升级 ![服务升级](config/服务升级方案.png) ### 接口规范 * 统一前缀:/api/{moduleName}/{version} example:/api/gateway/v1 + 具体方法的URI ### 统一要求 1. 包名规范说明: - ao包:用于接受前端传过来的数据 - bo包:用于接受业务层数据结构 - dto包:数据库部分字段映射类 - vo包:传给前端的数据结构 2. 异常规范说明 - DaoException:用于抛出数据交互层异常 - RpcException:用于远程调用层交互异常 - ServiceException:用于业务交互层异常 - CommonException:其他类型的异常声明 3. 其他: - HotFix.md记录项目开发过程中出现的问题与解决策略、以及版本更新记录 - Feign远程调用的API统一写在com.bjb.vr.common.feignClient, 对应的实体类写在com.bjb.vr.common.bo,配置写在com.bjb.vr.common.config - ProblemRecord.md 记录项目开发过程中或者部署过程中遇到的问题,方便后续追踪 ### 组件后台地址 * 数据库地址:172.16.20.61 root | 7&ugW(A8 || develop | developadmin * 数据库web管理平台地址:http://172.16.20.90:8888/ admin | K1JK^0bn<0 * nacos地址:http://172.16.20.61:8848/nacos nacos | nacos * sentinel地址:http://172.16.20.61:8190/ sentinel | sentinel * druid地址:http://IP:Port/druid root | druid-secret-pw * Harbor地址:http://172.16.20.62/harbor/ admin | Harbor12345 * Jenkins地址:http://172.16.20.61:8096/ admin | bjbadmin * redis地址:redis://172.16.20.61:6379 | bjbadmin * elasticsearch地址:http://172.16.20.61:9200/ esadmin | esadmin * skywalking地址:http://172.16.20.61:9080/ * kibana地址:http://172.16.20.61:5601/ * zookeeper地址:http://172.16.20.61:5601/ * rabbitmq地址:http://172.16.20.61:15672 admin | bjbadmin * arthas console:http://172.16.20.63:8077/ * xxl-job console:http://172.16.20.62:8078/xxl-job-admin/ admin | bjbadmin * torna文档中心:http://172.16.20.63:7700/ admin | bjbadmin * Apache httpd文件服务器:http://172.16.20.61:7080/upload/fileName * ftp文件服务器:ftp://172.16.20.63 ftpbjb | bjbadmin ## 服务性能监控报警(消息模板) - ScopeId:1 - ScopeName:SERVICE - Scope实体ID:eHItYXV0aA==.1 - 告警服务名称:xr-auth - 告警规则名称:service_sla_rule - 告警消息内容:Successful rate of service xr-auth is lower than 80% in 2 minutes of last 10 minutes - 告警时间:2022-03-16 09:06:25 ## 服务【上线|下线】监控报警(消息模板) - 服务名称: xr-monitor - 服务IP:172.16.20.70 - 服务端口:8086 - 服务状态:UP | DOWN - 当前实例总数:1 - 告警时间:2022-03-18 08:49:21 ## 网关过滤器定义顺序 | 组件名称 | 过滤器名称 | 其他说明 | |:------------:|:-------:|:------------------------:| | AccessFilter | 权限校验过滤器 | HIGHEST_PRECEDENCE + 10 |