mirror of
https://gitee.com/dromara/RuoYi-Cloud-Plus.git
synced 2025-09-11 14:49:09 +00:00
Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
9db71ea71f | ||
![]() |
0fd7fa616c | ||
![]() |
7249d05e34 | ||
![]() |
f4be121c7d | ||
![]() |
948534e3b8 | ||
![]() |
b2a4f62c78 | ||
![]() |
bf9f7817cb | ||
![]() |
91d2624e0e | ||
![]() |
4b7b511f8a |
49
.gitee/ISSUE_TEMPLATE.zh-CN.md
Normal file
49
.gitee/ISSUE_TEMPLATE.zh-CN.md
Normal file
@@ -0,0 +1,49 @@
|
||||
### 使用版本(未按照模板填写直接删除)
|
||||
|
||||
- jdk版本(带上尾号): 例如 1.8.0_202
|
||||
- 框架版本(项目启动时输出的版本号): 例如 4.4.0
|
||||
- 其他依赖版本(你觉得有必要的):
|
||||
|
||||
### 问题前提
|
||||
|
||||
> 功能不好用 不会用 是否已经看过项目文档
|
||||
> 项目运行报错 是否已经拿着报错信息去百度 常见报错百度百度足以
|
||||
> 是否搜索过其他issue 一些已经解决的问题 会在issue内留下解决方法
|
||||
> 无法线上解决或者与框架无关的问题的欢迎加VIP群跟作者一对一谈
|
||||
|
||||
### 异常模块
|
||||
|
||||
> 此报错都涉及到那些系统模块
|
||||
|
||||
例如 ruoyi-system ruoyi-auth 等等
|
||||
|
||||
### 问题描述
|
||||
|
||||
> 越详细越容易直击问题所在
|
||||
|
||||
已知: XXX功能不好用 或 XXX数据不正常 等等
|
||||
|
||||
### 希望结果
|
||||
|
||||
> 想知道你觉得怎么样是正常或者合理的
|
||||
|
||||
希望功能可以有XXX结果 或者 XXX现象
|
||||
|
||||
### 重现步骤
|
||||
|
||||
> 作者并不知道这个问题是如何出现的
|
||||
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
|
||||
### 相关代码与报错信息(请勿发混乱格式)
|
||||
|
||||
> 代码可按照如下形式提供或者截图均可 越详细越好
|
||||
> 大多数问题都是 代码编写错误问题 逻辑问题 或者用法错误等问题
|
||||
|
||||
```java
|
||||
public class XXX {
|
||||
|
||||
}
|
||||
```
|
@@ -1,57 +0,0 @@
|
||||
name: Bug 反馈
|
||||
description: 当你中发现了一个 Bug,导致应用崩溃或抛出异常,或者有一个组件存在问题,或者某些地方看起来不对劲。
|
||||
title: "[Bug]: "
|
||||
labels: ["bug"]
|
||||
body:
|
||||
- type: textarea
|
||||
id: version
|
||||
attributes:
|
||||
label: 版本
|
||||
description: 你当前正在使用我们软件的哪个版本(pom文件内的版本号)?
|
||||
value: |
|
||||
注意: 未填写版本号不予处理直接关闭或删除
|
||||
jdk版本(带上尾号):
|
||||
框架版本(项目启动时输出的版本号):
|
||||
其他依赖版本(你觉得有必要的):
|
||||
validations:
|
||||
required: true
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: 功能不好用不会用是否已经看过项目文档?
|
||||
options:
|
||||
- label: https://plus-doc.dromara.org
|
||||
required: true
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: 这个问题是否已经存在?
|
||||
options:
|
||||
- label: 我已经搜索过现有的问题 (https://gitee.com/dromara/RuoYi-Cloud-Plus/issues)
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: 异常模块
|
||||
description: 此报错都涉及到那些系统模块。
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: 希望结果
|
||||
description: 想知道你觉得怎么样是正常或者合理的。
|
||||
validations:
|
||||
required: true
|
||||
- type: markdown
|
||||
attributes:
|
||||
label: 如何复现
|
||||
description: 请详细告诉我们如何复现你遇到的问题
|
||||
value: |
|
||||
如涉及代码 可提供一个最小代码示例 并使用```附上它 或者截图均可 越详细越好<br>
|
||||
大多数问题都是 代码编写错误问题 逻辑问题 或者用法错误等问题
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: 相关代码与报错信息(请勿发混乱格式)
|
||||
description: 如果可以的话,上传任何关于 bug 的截图。
|
||||
value: |
|
||||
[在这里上传图片]
|
||||
|
@@ -1,5 +0,0 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: RuoYi-Vue-Plus 文档中心
|
||||
url: https://plus-doc.dromara.org
|
||||
about: 提供 RuoYi-Vue-Plus 搭建使用指南、平台基本开发使用方式、介绍、基础知识和常见问题解答
|
@@ -1,43 +0,0 @@
|
||||
name: 功能建议
|
||||
description: 对本项目提出一个功能建议
|
||||
title: "[功能建议]: "
|
||||
labels: ["enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
感谢提出功能建议,我们将仔细考虑!请持续关注该issues,在加入计划后我们会有贡献者设置为负责人,同时状态成为进行中。
|
||||
- type: textarea
|
||||
id: related-problem
|
||||
attributes:
|
||||
label: 你的功能建议是否和某个问题相关?
|
||||
description: 清晰并简洁地描述问题是什么,例如,当我...时,我总是感到困扰。
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: desired-solution
|
||||
attributes:
|
||||
label: 你希望看到什么解决方案?
|
||||
description: 清晰并简洁地描述你希望发生的事情。
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: alternatives
|
||||
attributes:
|
||||
label: 你考虑过哪些替代方案?
|
||||
description: 清晰并简洁地描述你考虑过的任何替代解决方案或功能。
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: additional-context
|
||||
attributes:
|
||||
label: 你有其他上下文或截图吗?
|
||||
description: 在此处添加有关功能请求的任何其他上下文或截图。
|
||||
validations:
|
||||
required: false
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: 意向参与贡献
|
||||
options:
|
||||
- label: 我有意向参与具体功能的开发实现并将代码贡献回到上游社区
|
||||
required: false
|
2
.gitignore
vendored
2
.gitignore
vendored
@@ -43,5 +43,3 @@ nbdist/
|
||||
!*/build/*.java
|
||||
!*/build/*.html
|
||||
!*/build/*.xml
|
||||
|
||||
.flattened-pom.xml
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<configuration default="false" name="ruoyi-auth" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<deployment type="dockerfile">
|
||||
<settings>
|
||||
<option name="imageTag" value="ruoyi/ruoyi-auth:2.2.1" />
|
||||
<option name="imageTag" value="ruoyi/ruoyi-auth:1.6.0" />
|
||||
<option name="buildOnly" value="true" />
|
||||
<option name="sourceFilePath" value="ruoyi-auth/Dockerfile" />
|
||||
</settings>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<configuration default="false" name="ruoyi-gateway" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<deployment type="dockerfile">
|
||||
<settings>
|
||||
<option name="imageTag" value="ruoyi/ruoyi-gateway:2.2.1" />
|
||||
<option name="imageTag" value="ruoyi/ruoyi-gateway:1.6.0" />
|
||||
<option name="buildOnly" value="true" />
|
||||
<option name="sourceFilePath" value="ruoyi-gateway/Dockerfile" />
|
||||
</settings>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<configuration default="false" name="ruoyi-gen" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<deployment type="dockerfile">
|
||||
<settings>
|
||||
<option name="imageTag" value="ruoyi/ruoyi-gen:2.2.1" />
|
||||
<option name="imageTag" value="ruoyi/ruoyi-gen:1.6.0" />
|
||||
<option name="buildOnly" value="true" />
|
||||
<option name="sourceFilePath" value="ruoyi-modules/ruoyi-gen/Dockerfile" />
|
||||
</settings>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<configuration default="false" name="ruoyi-job" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<deployment type="dockerfile">
|
||||
<settings>
|
||||
<option name="imageTag" value="ruoyi/ruoyi-job:2.2.1" />
|
||||
<option name="imageTag" value="ruoyi/ruoyi-job:1.6.0" />
|
||||
<option name="buildOnly" value="true" />
|
||||
<option name="sourceFilePath" value="ruoyi-modules/ruoyi-job/Dockerfile" />
|
||||
</settings>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<configuration default="false" name="ruoyi-monitor" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<deployment type="dockerfile">
|
||||
<settings>
|
||||
<option name="imageTag" value="ruoyi/ruoyi-monitor:2.2.1" />
|
||||
<option name="imageTag" value="ruoyi/ruoyi-monitor:1.6.0" />
|
||||
<option name="buildOnly" value="true" />
|
||||
<option name="sourceFilePath" value="ruoyi-visual/ruoyi-monitor/Dockerfile" />
|
||||
</settings>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<configuration default="false" name="ruoyi-nacos" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<deployment type="dockerfile">
|
||||
<settings>
|
||||
<option name="imageTag" value="ruoyi/ruoyi-nacos:2.2.1" />
|
||||
<option name="imageTag" value="ruoyi/ruoyi-nacos:1.6.0" />
|
||||
<option name="buildOnly" value="true" />
|
||||
<option name="sourceFilePath" value="ruoyi-visual/ruoyi-nacos/Dockerfile" />
|
||||
</settings>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<configuration default="false" name="ruoyi-resource" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<deployment type="dockerfile">
|
||||
<settings>
|
||||
<option name="imageTag" value="ruoyi/ruoyi-resource:2.2.1" />
|
||||
<option name="imageTag" value="ruoyi/ruoyi-resource:1.6.0" />
|
||||
<option name="buildOnly" value="true" />
|
||||
<option name="sourceFilePath" value="ruoyi-modules/ruoyi-resource/Dockerfile" />
|
||||
</settings>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<configuration default="false" name="ruoyi-seata-server" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<deployment type="dockerfile">
|
||||
<settings>
|
||||
<option name="imageTag" value="ruoyi/ruoyi-seata-server:2.2.1" />
|
||||
<option name="imageTag" value="ruoyi/ruoyi-seata-server:1.6.0" />
|
||||
<option name="buildOnly" value="true" />
|
||||
<option name="sourceFilePath" value="ruoyi-visual/ruoyi-seata-server/Dockerfile" />
|
||||
</settings>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<configuration default="false" name="ruoyi-sentinel-dashboard" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<deployment type="dockerfile">
|
||||
<settings>
|
||||
<option name="imageTag" value="ruoyi/ruoyi-sentinel-dashboard:2.2.1" />
|
||||
<option name="imageTag" value="ruoyi/ruoyi-sentinel-dashboard:1.6.0" />
|
||||
<option name="buildOnly" value="true" />
|
||||
<option name="sourceFilePath" value="ruoyi-visual/ruoyi-sentinel-dashboard/Dockerfile" />
|
||||
</settings>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<configuration default="false" name="ruoyi-system" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<deployment type="dockerfile">
|
||||
<settings>
|
||||
<option name="imageTag" value="ruoyi/ruoyi-system:2.2.1" />
|
||||
<option name="imageTag" value="ruoyi/ruoyi-system:1.6.0" />
|
||||
<option name="buildOnly" value="true" />
|
||||
<option name="sourceFilePath" value="ruoyi-modules/ruoyi-system/Dockerfile" />
|
||||
</settings>
|
||||
|
@@ -1,12 +0,0 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="ruoyi-workflow" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<deployment type="dockerfile">
|
||||
<settings>
|
||||
<option name="imageTag" value="ruoyi/ruoyi-workflow:2.2.1" />
|
||||
<option name="buildOnly" value="true" />
|
||||
<option name="sourceFilePath" value="ruoyi-modules/ruoyi-workflow/Dockerfile" />
|
||||
</settings>
|
||||
</deployment>
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
@@ -1,10 +1,10 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="ruoyi-snailjob-server" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<configuration default="false" name="ruoyi-xxl-job-admin" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<deployment type="dockerfile">
|
||||
<settings>
|
||||
<option name="imageTag" value="ruoyi/ruoyi-snailjob-server:2.2.1" />
|
||||
<option name="imageTag" value="ruoyi/ruoyi-xxl-job-admin:1.6.0" />
|
||||
<option name="buildOnly" value="true" />
|
||||
<option name="sourceFilePath" value="ruoyi-visual/ruoyi-snailjob-server/Dockerfile" />
|
||||
<option name="sourceFilePath" value="ruoyi-visual/ruoyi-xxl-job-admin/Dockerfile" />
|
||||
</settings>
|
||||
</deployment>
|
||||
<method v="2" />
|
287
README.md
287
README.md
@@ -1,182 +1,171 @@
|
||||
<img src="https://foruda.gitee.com/images/1679673780944866919/d908a86f_1766278.png" width="56%" height="56%">
|
||||
<div style="height: 10px; clear: both;"></div>
|
||||
|
||||
- - -
|
||||
## 平台简介
|
||||
|
||||
[](https://gitee.com/dromara/RuoYi-Cloud-Plus)
|
||||
[](https://github.com/dromara/RuoYi-Cloud-Plus)
|
||||
[](https://gitee.com/dromara/RuoYi-Cloud-Plus/blob/master/LICENSE)
|
||||
[](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus)
|
||||
[](https://github.com/JavaLionLi/RuoYi-Cloud-Plus)
|
||||
[](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/blob/master/LICENSE)
|
||||
[](https://www.jetbrains.com/?from=RuoYi-Cloud-Plus)
|
||||
<br>
|
||||
[](https://gitee.com/dromara/RuoYi-Cloud-Plus)
|
||||
[]()
|
||||
[]()
|
||||
[]()
|
||||
[](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus)
|
||||
[]()
|
||||
[]()
|
||||
[]()
|
||||
|
||||
> RuoYi-Cloud-Plus `微服务通用权限管理系统` 重写 RuoYi-Cloud 全方位升级(不兼容原框架)
|
||||
|
||||
> 项目代码、文档 均开源免费可商用 遵循开源协议在项目中保留开源协议文件即可<br>
|
||||
活到老写到老 为兴趣而开源 为学习而开源 为让大家真正可以学到技术而开源
|
||||
|
||||
> 系统演示: [传送门](https://plus-doc.dromara.org/#/common/demo_system)
|
||||
> 系统演示: [传送门](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages?sort_id=4836388&doc_id=1469725) 分布式集群版本(功能一致)
|
||||
|
||||
> 前端项目地址: [plus-ui](https://gitee.com/JavaLionLi/plus-ui)
|
||||
|
||||
> 文档地址: [plus-doc](https://plus-doc.dromara.org)
|
||||
|
||||
## 赞助商
|
||||
|
||||
MaxKey 业界领先单点登录产品 - https://gitee.com/dromara/MaxKey <br>
|
||||
CCFlow 驰聘低代码-流程-表单 - https://gitee.com/opencc/RuoYi-JFlow <br>
|
||||
数舵科技 软件定制开发APP小程序等 - http://www.shuduokeji.com/ <br>
|
||||
引迈信息 软件开发平台 - https://www.jnpfsoft.com/index.html?from=plus-doc <br>
|
||||
[如何成为赞助商 加群联系作者详谈](https://plus-doc.dromara.org/#/common/add_group)
|
||||
|
||||
# 本框架与RuoYi的功能差异
|
||||
|
||||
| 功能 | 本框架 | RuoYi |
|
||||
|-------------|-------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
|
||||
| 前端项目 | 采用 Vue3 + TS + ElementPlus 重写 | 基于Vue2/Vue3 + JS |
|
||||
| 后端项目结构 | 采用插件化 + 扩展包形式 结构解耦 易于扩展 | 模块相互注入耦合严重难以扩展 |
|
||||
| 后端代码风格 | 严格遵守Alibaba规范与项目统一配置的代码格式化 | 代码书写与常规结构不同阅读障碍大 |
|
||||
| 分布式注册中心 | 采用 Alibaba Nacos 源码集成便于调试扩展与二次开发 框架还为其增加了各种监控 | 采用 Alibaba Nacos 自行搭建纯官方版本不可靠 |
|
||||
| 分布式配置中心 | 采用 Alibaba Nacos 源码集成便于调试扩展与二次开发 框架还为其增加了各种监控 | 采用 Alibaba Nacos 自行搭建纯官方版本不可靠 |
|
||||
| 服务网关 | 采用 SpringCloud Gateway 框架扩展了多种功能<br/>例如:内网鉴权、请求体缓存、跨域配置、请求响应日志等 | 采用 SpringCloud Gateway 功能单一 |
|
||||
| 负载均衡 | 采用 SpringCloud Loadbalancer 扩展支持了开发团队路由 便于多团队开发调试 | 采用 SpringCloud Loadbalancer 功能单一 |
|
||||
| RPC远程调用 | 采用 全新 Apache Dubbo 3.X 历史悠远不用多说 | 采用 feign 功能有限编写方式 网络波动大 不稳定 |
|
||||
| 分布式限流熔断 | 采用 Alibaba Sentinel 源码集成便于调试扩展与二次开发 框架还为其增加了各种监控 | 采用 Alibaba Sentinel 自行搭建纯官方版本不可靠 |
|
||||
| 分布式事务 | 采用 Alibaba Seata 源码集成对接了Nacos与各种监控 简化了搭建部署流程 | 采用 Alibaba Seata 自行搭建纯官方版本 搭建繁琐与Nacos不挂钩 代码内使用方式怪异等 |
|
||||
| Web容器 | 采用 Undertow 基于 XNIO 的高性能容器 | 采用 Tomcat |
|
||||
| 权限认证 | 采用 Sa-Token、Jwt 静态使用功能齐全 低耦合 高扩展 | Spring Security 配置繁琐扩展性极差 |
|
||||
| 权限注解 | 采用 Sa-Token 支持注解 登录校验、角色校验、权限校验、二级认证校验、HttpBasic校验、忽略校验<br/>角色与权限校验支持多种条件 如 `AND` `OR` 或 `权限 OR 角色` 等复杂表达式 | 只支持是否存在匹配 |
|
||||
| 关系数据库支持 | 原生支持 MySQL、Oracle、PostgreSQL、SQLServer<br/>可同时使用异构切换(支持其他 mybatis-plus 支持的所有数据库 只需要增加jdbc依赖即可使用 达梦金仓等均有成功案例) | 支持 Mysql、Oracle 不支持同时使用、不支持异构切换 |
|
||||
| 缓存数据库 | 支持 Redis 5-7 支持大部分新功能特性 如 分布式限流、分布式队列 | Redis 简单 get set 支持 |
|
||||
| Redis客户端 | 采用 Redisson Redis官方推荐 基于Netty的客户端工具<br/>支持Redis 90%以上的命令 底层优化规避很多不正确的用法 例如: keys被转换为scan<br/>支持单机、哨兵、单主集群、多主集群等模式 | Lettuce + RedisTemplate 支持模式少 工具使用繁琐<br/>连接池采用 common-pool Bug多经常性出问题 |
|
||||
| 缓存注解 | 采用 Spring-Cache 注解 对其扩展了实现支持了更多功能<br/>例如 过期时间 最大空闲时间 组最大长度等 只需一个注解即可完成数据自动缓存 | 需手动编写Redis代码逻辑 |
|
||||
| ORM框架 | 采用 Mybatis-Plus 基于对象几乎不用写SQL全java操作 功能强大插件众多<br/>例如多租户插件 分页插件 乐观锁插件等等 | 采用 Mybatis 基于XML需要手写SQL |
|
||||
| SQL监控 | 采用 p6spy 可输出完整SQL与执行时间监控 | log输出 需手动拼接sql与参数无法快速查看调试问题 |
|
||||
| 数据分页 | 采用 Mybatis-Plus 分页插件<br/>框架对其进行了扩展 对象化分页对象 支持多种方式传参 支持前端多排序 复杂排序 | 采用 PageHelper 仅支持单查询分页 参数只能从param传 只能单排序 功能扩展性差 体验不好 |
|
||||
| 数据权限 | 采用 Mybatis-Plus 插件 自行分析拼接SQL 无感式过滤<br/>只需为Mapper设置好注解条件 支持多种自定义 不限于部门角色 | 采用 注解+aop 实现 基于部门角色 生成的sql兼容性差 不支持其他业务扩展<br/>生成sql后需手动拼接到具体业务sql上 对于多个Mapper查询不起作用 |
|
||||
| 数据脱敏 | 采用 注解 + jackson 序列化期间脱敏 支持不同模块不同的脱敏条件<br/>支持多种策略 如身份证、手机号、地址、邮箱、银行卡等 可自行扩展 | 无 |
|
||||
| 数据加解密 | 采用 注解 + mybatis 拦截器 对存取数据期间自动加解密<br/>支持多种策略 如BASE64、AES、RSA、SM2、SM4等 | 无 |
|
||||
| 数据翻译 | 采用 注解 + jackson 序列化期间动态修改数据 数据进行翻译<br/>支持多种模式: `映射翻译` `直接翻译` `其他扩展条件翻译` 接口化两步即可完成自定义扩展 内置多种翻译实现 | 无 |
|
||||
| 多数据源框架 | 采用 dynamic-datasource 支持市面大部分数据库<br/>通过yml配置即可动态管理异构不同种类的数据库 也可通过前端页面添加数据源<br/>支持spel表达式从请求头参数等条件切换数据源 | 基于 druid 手动编写代码配置数据源 配置繁琐 支持性差 |
|
||||
| 多数据源事务 | 采用 dynamic-datasource 支持多数据源不同种类的数据库事务回滚 | 不支持 |
|
||||
| 数据库连接池 | 采用 HikariCP Spring官方内置连接池 配置简单 以性能与稳定性闻名天下 | 采用 druid bug众多 社区维护差 活跃度低 配置众多繁琐性能一般 |
|
||||
| 数据库主键 | 采用 雪花ID 基于时间戳的 有序增长 唯一ID 再也不用为分库分表 数据合并主键冲突重复而发愁 | 采用 数据库自增ID 支持数据量有限 不支持多数据源主键唯一 |
|
||||
| WebSocket协议 | 基于 Spring 封装的 WebSocket 协议 扩展了Token鉴权与分布式会话同步 不再只是基于单机的废物 | 无 |
|
||||
| SSE推送 | 采用 Spring SSE 实现 扩展了Token鉴权与分布式会话同步 | 无 |
|
||||
| 序列化 | 采用 Jackson Spring官方内置序列化 靠谱!!! | 采用 fastjson bugjson 远近闻名 |
|
||||
| 分布式幂等 | 参考美团GTIS防重系统简化实现(细节可看文档) | 手动编写注解基于aop实现 |
|
||||
| 分布式任务调度 | 采用 SnailJob 天生支持分布式 统一的管理中心 支持多种数据库 支持分片重试DAG任务流等 | 采用 Quartz 基于数据库锁性能差 集群需要做很多配置与改造 |
|
||||
| 分布式日志中心 | 采用 ELK 业界成熟解决方案 实时收集所有服务的运行日志 快速发现定位问题 | 无 |
|
||||
| 分布式搜索引擎 | 采用 ElasticSearch、Easy-Es 以 Mybatis-Plus 方式操作 ElasticSearch | 无 |
|
||||
| 分布式消息队列 | 采用 支持 Kafka、RocketMQ、RabbitMQ 各种 延迟消息 事务消息 流消息 | 无 |
|
||||
| 分布式消息总线 | 采用 SpringCloud Bus 实现事件总线 跨服务通知 支持 Kafka、RocketMQ、RabbitMQ | 无 |
|
||||
| 分库分表功能 | 采用 Apache Sharding-Proxy 代理服务无入侵支持分库分表 只需编写分库分表规则即可 | 无 |
|
||||
| 文件存储 | 采用 Minio 分布式文件存储 天生支持多机、多硬盘、多分片、多副本存储<br/>支持权限管理 安全可靠 文件可加密存储 | 采用 本机文件存储 文件裸漏 易丢失泄漏 不支持集群有单点效应 |
|
||||
| 云存储 | 采用 AWS S3 协议客户端 支持 七牛、阿里、腾讯 等一切支持S3协议的厂家 | 不支持 |
|
||||
| 短信 | 支持 阿里、腾讯 只需在yml配置好厂家密钥即可使用 接口化支持扩展其他厂家 | 不支持 |
|
||||
| 邮件 | 采用 mail-api 通用协议支持大部分邮件厂商 | 不支持 |
|
||||
| 接口文档 | 采用 SpringDoc、javadoc 无注解零入侵基于java注释<br/>只需把注释写好 无需再写一大堆的文档注解了 | 采用 Springfox 已停止维护 需要编写大量的注解来支持文档生成 |
|
||||
| 校验框架 | 采用 Validation 支持注解与工具类校验 注解支持国际化 | 仅支持注解 且注解不支持国际化 |
|
||||
| Excel框架 | 采用 Alibaba EasyExcel 基于插件化<br/>框架对其增加了很多功能 例如 自动合并相同内容 自动排列布局 字典翻译等 | 基于 POI 手写实现 功能有限 复杂 扩展性差 |
|
||||
| 工作流支持 | 支持各种复杂审批 转办 委派 加减签 会签 或签 票签 等功能 | 无 |
|
||||
| 工具类框架 | 采用 Hutool、Lombok 上百种工具覆盖90%的使用需求 基于注解自动生成 get set 等简化框架大量代码 | 手写工具稳定性差易出问题 工具数量有限 代码臃肿需自己手写 get set 等 |
|
||||
| 服务监控框架 | 采用 SpringBoot-Admin 基于SpringBoot官方 actuator 探针机制<br/>实时监控服务状态 框架还为其扩展了在线日志查看监控 | 无 |
|
||||
| 全方位监控报警 | 采用 Prometheus、Grafana 多样化采集 多模板大屏展示 实时报警监控 提供详细的搭建文档 | 无 |
|
||||
| 链路追踪 | 采用 Apache SkyWalking 还在为请求不知道去哪了 到哪出了问题而烦恼吗<br/>用了它即可实时查看请求经过的每一处每一个节点 | 无 |
|
||||
| 代码生成器 | 只需设计好表结构 一键生成所有crud代码与页面<br/>降低80%的开发量 把精力都投入到业务设计上<br/>框架为其适配MP、SpringDoc规范化代码 同时支持动态多数据源代码生成 | 代码生成原生结构 只支持单数据源生成 |
|
||||
| 部署方式 | 支持 Docker 编排 一键搭建所有环境 让开发人员从此不再为搭建环境而烦恼 | 原生jar部署 其他环境需手动下载安装 自行搭建 |
|
||||
| 项目路径修改 | 提供详细的修改方案文档 并为其做了一些改动 非常简单即可修改成自己想要的 | 需要做很多改造 文档说明有限 |
|
||||
| 国际化 | 基于请求头动态返回不同语种的文本内容 开发难度低 有对应的工具类 支持大部分注解内容国际化 | 只提供基础功能 其他需自行编写扩展 |
|
||||
| 代码单例测试 | 提供单例测试 使用方式编写方法与maven多环境单测插件 | 只提供基础功能 其他需自行编写扩展 |
|
||||
| Demo案例 | 提供框架功能的实际使用案例 单独一个模块提供了很多很全 | 无 |
|
||||
|
||||
## 本框架与RuoYi的业务差异
|
||||
|
||||
| 业务 | 功能说明 | 本框架 | RuoYi |
|
||||
|--------|-----------------------------------------|-----|------------------|
|
||||
| 租户管理 | 系统内租户的管理 如:租户套餐、过期时间、用户数量、企业信息等 | 支持 | 无 |
|
||||
| 租户套餐管理 | 系统内租户所能使用的套餐管理 如:套餐内所包含的菜单等 | 支持 | 无 |
|
||||
| 用户管理 | 用户的管理配置 如:新增用户、分配用户所属部门、角色、岗位等 | 支持 | 支持 |
|
||||
| 部门管理 | 配置系统组织机构(公司、部门、小组) 树结构展现支持数据权限 | 支持 | 支持 |
|
||||
| 岗位管理 | 配置系统用户所属担任职务 | 支持 | 支持 |
|
||||
| 菜单管理 | 配置系统菜单、操作权限、按钮权限标识等 | 支持 | 支持 |
|
||||
| 角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分 | 支持 | 支持 |
|
||||
| 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 | 支持 | 支持 |
|
||||
| 参数管理 | 对系统动态配置常用参数 | 支持 | 支持 |
|
||||
| 通知公告 | 系统通知公告信息发布维护 | 支持 | 支持 |
|
||||
| 操作日志 | 系统正常操作日志记录和查询 系统异常信息日志记录和查询 | 支持 | 支持 |
|
||||
| 登录日志 | 系统登录日志记录查询包含登录异常 | 支持 | 支持 |
|
||||
| 文件管理 | 系统文件展示、上传、下载、删除等管理 | 支持 | 无 |
|
||||
| 文件配置管理 | 系统文件上传、下载所需要的配置信息动态添加、修改、删除等管理 | 支持 | 无 |
|
||||
| 在线用户管理 | 已登录系统的在线用户信息监控与强制踢出操作 | 支持 | 支持 |
|
||||
| 定时任务 | 运行报表、任务管理(添加、修改、删除)、日志管理、执行器管理等 | 支持 | 仅支持任务与日志管理 |
|
||||
| 代码生成 | 多数据源前后端代码的生成(java、html、xml、sql)支持CRUD下载 | 支持 | 仅支持单数据源 |
|
||||
| 系统接口 | 根据业务代码自动生成相关的api接口文档 | 支持 | 支持 |
|
||||
| 服务监控 | 监视集群系统CPU、内存、磁盘、堆栈、在线日志、Spring相关配置等 | 支持 | 仅支持单机CPU、内存、磁盘监控 |
|
||||
| 缓存监控 | 对系统的缓存信息查询,命令统计等。 | 支持 | 支持 |
|
||||
| 在线构建器 | 拖动表单元素生成相应的HTML代码。 | 支持 | 支持 |
|
||||
| 使用案例 | 系统的一些功能案例 | 支持 | 不支持 |
|
||||
| 功能介绍 | 使用技术 | 文档地址 | 特性注意事项 |
|
||||
|-----------|--------------------------|----------------------------------------------------------------------------------------------------|-----------------------------------|
|
||||
| 微服务权限管理系统 | RuoYi-Cloud-Plus | [RuoYi-Cloud-Plus官网](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus) | 重写 RuoYi-Cloud 全方位升级(不兼容原框架) |
|
||||
| 分布式集群分支 | RuoYi-Vue-Plus | [RuoYi-Vue-Plus官网](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus) | 重写 RuoYi-Vue (不兼容原框架) |
|
||||
| Vue3分支 | RuoYi-Cloud-Plus-UI | [UI地址](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus-UI) | 由于组件还未完善 仅供学习 |
|
||||
| 前端开发框架 | Vue、Element UI | [Element UI官网](https://element.eleme.cn/#/zh-CN) | |
|
||||
| 后端开发框架 | SpringBoot | [SpringBoot官网](https://spring.io/projects/spring-boot/#learn) | |
|
||||
| 微服务开发框架 | SpringCloud | [SpringCloud官网](https://spring.io/projects/spring-cloud) | |
|
||||
| 微服务开发框架 | SpringCloudAlibaba | [SpringCloudAlibaba官网](https://spring.io/projects/spring-cloud-alibaba) | |
|
||||
| 容器框架 | Undertow | [Undertow官网](https://undertow.io/) | 基于 XNIO 的高性能容器 |
|
||||
| 权限认证框架 | Sa-Token、Jwt | [Sa-Token官网](https://sa-token.dev33.cn/) | 强解耦、强扩展 |
|
||||
| 关系数据库 | MySQL | [MySQL官网](https://dev.mysql.com/) | 适配 8.X 最低 5.7 |
|
||||
| 关系数据库 | Oracle | [Oracle官网](https://www.oracle.com/cn/database/) | 适配 12c |
|
||||
| 关系数据库 | PostgreSQL | [PostgreSQL官网](https://www.postgresql.org/) | 适配 14 |
|
||||
| 缓存数据库 | Redis | [Redis官网](https://redis.io/) | 适配 6.X 最低 5.X |
|
||||
| 分布式注册中心 | Alibaba Nacos | [Alibaba Nacos文档](https://nacos.io/zh-cn/docs/quick-start.html) | 采用2.X 基于GRPC通信高性能 |
|
||||
| 分布式配置中心 | Alibaba Nacos | [Alibaba Nacos文档](https://nacos.io/zh-cn/docs/quick-start.html) | 采用2.X 基于GRPC通信高性能 |
|
||||
| 服务网关 | SpringCloud Gateway | [SpringCloud Gateway文档](https://spring.io/projects/spring-cloud-gateway) | 响应式高性能网关 |
|
||||
| 负载均衡 | SpringCloud Loadbalancer | [SpringCloud Loadbalancer文档](https://spring.io/guides/gs/spring-cloud-loadbalancer/) | 负载均衡处理 |
|
||||
| RPC远程调用 | Apache Dubbo | [Apache Dubbo官网](https://dubbo.apache.org/zh/) | 原生态使用体验、高性能 |
|
||||
| 分布式限流熔断 | Alibaba Sentinel | [Alibaba Sentinel文档](https://sentinelguard.io/zh-cn/) | 无侵入、高扩展 |
|
||||
| 分布式事务 | Alibaba Seata | [Alibaba Seata文档](http://seata.io/zh-cn/) | 无侵入、高扩展 支持 四种模式 |
|
||||
| 分布式消息队列 | SpringCloud Stream | [SpringCloud Stream文档](https://spring.io/projects/spring-cloud-stream) | 门面框架兼容各种MQ集成 |
|
||||
| 分布式消息队列 | Apache Kafka | [Apache Kafka文档](https://kafka.apache.org/) | 高性能高速度 |
|
||||
| 分布式消息队列 | Apache RocketMQ | [Apache RocketMQ文档](http://rocketmq.apache.org/) | 高可用功能多样 |
|
||||
| 分布式消息队列 | RabbitMQ | [RabbitMQ文档](https://www.rabbitmq.com/) | 支持各种扩展插件功能多样性 |
|
||||
| 分布式搜索引擎 | ElasticSearch、Easy-Es | [Easy-Es官网](https://www.easy-es.cn/) | 以 Mybatis-Plus 方式操作 ElasticSearch |
|
||||
| 分布式链路追踪 | Apache SkyWalking | [Apache SkyWalking文档](https://skywalking.apache.org/docs/) | 链路追踪、网格分析、度量聚合、可视化 |
|
||||
| 分布式日志中心 | ELK | [ElasticSearch官网](https://www.elastic.co/cn/elasticsearch/) | ELK业界成熟解决方案 |
|
||||
| 分布式锁 | Lock4j | [Lock4j官网](https://gitee.com/baomidou/lock4j) | 注解锁、工具锁 多种多样 |
|
||||
| 分布式幂等 | Redisson | [Lock4j文档](https://gitee.com/baomidou/lock4j) | 拦截重复提交 |
|
||||
| 分布式任务调度 | Xxl-Job | [Xxl-Job官网](https://www.xuxueli.com/xxl-job/) | 高性能 高可靠 易扩展 |
|
||||
| 分布式文件存储 | Minio | [Minio文档](https://docs.min.io/) | 本地存储 |
|
||||
| 分布式云存储 | 七牛、阿里、腾讯 | [OSS使用文档](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages?sort_id=4359146&doc_id=1469725) | 云存储 |
|
||||
| 短信模块 | 阿里、腾讯 | [短信使用文档](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages?sort_id=5578491&doc_id=1469725) | 短信发送 |
|
||||
| 分布式监控 | Prometheus、Grafana | [Prometheus文档](https://prometheus.io/docs/introduction/overview/) | 全方位性能监控 |
|
||||
| 服务监控 | SpringBoot-Admin | [SpringBoot-Admin文档](https://codecentric.github.io/spring-boot-admin/current/) | 全方位服务监控 |
|
||||
| 数据库框架 | Mybatis-Plus | [Mybatis-Plus文档](https://baomidou.com/guide/) | 快速 CRUD 增加开发效率 |
|
||||
| 数据库框架 | P6spy | [p6spy官网](https://p6spy.readthedocs.io/) | 更强劲的 SQL 分析 |
|
||||
| 多数据源框架 | Dynamic-Datasource | [dynamic-ds文档](https://www.kancloud.cn/tracy5546/dynamic-datasource/content) | 支持主从与多种类数据库异构 |
|
||||
| 序列化框架 | Jackson | [Jackson官网](https://github.com/FasterXML/jackson) | 统一使用 jackson 高效可靠 |
|
||||
| Redis客户端 | Redisson | [Redisson文档](https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95) | 支持单机、集群配置 |
|
||||
| 校验框架 | Validation | [Validation文档](https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/) | 增强接口安全性、严谨性 支持国际化 |
|
||||
| Excel框架 | Alibaba EasyExcel | [EasyExcel文档](https://www.yuque.com/easyexcel/doc/easyexcel) | 性能优异 扩展性强 |
|
||||
| 文档框架 | SpringDoc、javadoc | [接口文档](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages?sort_id=5877829&doc_id=2056143) | 无注解零入侵基于java注释 |
|
||||
| 工具类框架 | Hutool、Lombok | [Hutool文档](https://www.hutool.cn/docs/) | 减少代码冗余 增加安全性 |
|
||||
| 代码生成器 | 适配MP、SpringDoc规范化代码 | [代码生成文档](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages?sort_id=5522467&doc_id=2056143) | 一键生成前后端代码 |
|
||||
| 部署方式 | Docker | [Docker文档](https://docs.docker.com/) | 容器编排 一键部署业务集群 |
|
||||
| 国际化 | SpringMessage | [SpringMVC文档](https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc) | Spring标准国际化方案 |
|
||||
|
||||
## 参考文档
|
||||
|
||||
使用框架前请仔细阅读文档重点注意事项
|
||||
<br>
|
||||
>[初始化项目 必看](https://plus-doc.dromara.org/#/ruoyi-cloud-plus/quickstart/init)
|
||||
>>[https://plus-doc.dromara.org/#/ruoyi-cloud-plus/quickstart/init](https://plus-doc.dromara.org/#/ruoyi-cloud-plus/quickstart/init)
|
||||
>[初始化项目 必看](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages?sort_id=5279751&doc_id=2056143)
|
||||
>>[https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages?sort_id=5279751&doc_id=2056143](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages?sort_id=5279751&doc_id=2056143)
|
||||
>
|
||||
>[专栏与视频 入门必看](https://plus-doc.dromara.org/#/common/column)
|
||||
>>[https://plus-doc.dromara.org/#/common/column](https://plus-doc.dromara.org/#/common/column)
|
||||
>[专栏与视频 入门必看](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages?sort_id=5873351&doc_id=2056143)
|
||||
>>[https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages?sort_id=5873351&doc_id=2056143](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages?sort_id=5873351&doc_id=2056143)
|
||||
>
|
||||
>[部署项目 必看](https://plus-doc.dromara.org/#/ruoyi-cloud-plus/quickstart/deploy)
|
||||
>>[https://plus-doc.dromara.org/#/ruoyi-cloud-plus/quickstart/deploy](https://plus-doc.dromara.org/#/ruoyi-cloud-plus/quickstart/deploy)
|
||||
>[部署项目 必看](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages?sort_id=5305504&doc_id=2056143)
|
||||
>>[https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages?sort_id=5305504&doc_id=2056143](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages?sort_id=5305504&doc_id=2056143)
|
||||
>
|
||||
>[如何加群](https://plus-doc.dromara.org/#/common/add_group)
|
||||
>>[https://plus-doc.dromara.org/#/common/add_group](https://plus-doc.dromara.org/#/common/add_group)
|
||||
>
|
||||
>[参考文档 Wiki](https://plus-doc.dromara.org)
|
||||
>>[https://plus-doc.dromara.org](https://plus-doc.dromara.org)
|
||||
>[参考文档 Wiki](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages)
|
||||
>>[https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus/wikis/pages)
|
||||
|
||||
|
||||
## 软件架构图
|
||||
|
||||

|
||||
<img src="https://images.gitee.com/uploads/images/2022/0520/152809_0edbfaf1_1766278.png"/>
|
||||
|
||||
## 贡献代码
|
||||
|
||||
[参与贡献的方式 https://plus-doc.dromara.org/#/common/contribution](https://plus-doc.dromara.org/#/common/contribution)
|
||||
欢迎各路英雄豪杰 `PR` 代码 请提交到 `dev` 开发分支 统一测试发版
|
||||
|
||||
### 其他
|
||||
|
||||
* 同步升级 RuoYi-Cloud
|
||||
* github 地址 [RuoYi-Cloud-Plus-github](https://github.com/JavaLionLi/RuoYi-Cloud-Plus)
|
||||
* 分离版分支 [RuoYi-Vue-Plus](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus)
|
||||
* 单模块 fast 分支 [RuoYi-Vue-Plus-fast](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/tree/fast/)
|
||||
|
||||
## 捐献作者
|
||||
|
||||
作者为兼职做开源,平时还需要工作,如果帮到了您可以请作者吃个盒饭
|
||||
<img src="https://foruda.gitee.com/images/1678975784848381069/d8661ed9_1766278.png" width="300px" height="450px" />
|
||||
<img src="https://foruda.gitee.com/images/1678975801230205215/6f96229d_1766278.png" width="300px" height="450px" />
|
||||
<img src="https://images.gitee.com/uploads/images/2022/0218/213734_b1b8197f_1766278.jpeg" width="300px" height="450px" />
|
||||
<img src="https://images.gitee.com/uploads/images/2021/0525/101713_3d18b119_1766278.jpeg" width="300px" height="450px" />
|
||||
|
||||
## 业务功能
|
||||
|
||||
| 功能 | 介绍 |
|
||||
|---|---|
|
||||
| 用户管理 | 用户是系统操作者,该功能主要完成系统用户配置。 |
|
||||
| 部门管理 | 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 |
|
||||
| 岗位管理 | 配置系统用户所属担任职务。 |
|
||||
| 菜单管理 | 配置系统菜单,操作权限,按钮权限标识等。 |
|
||||
| 角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分。 |
|
||||
| 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护。 |
|
||||
| 参数管理 | 对系统动态配置常用参数。 |
|
||||
| 通知公告 | 系统通知公告信息发布维护。 |
|
||||
| 操作日志 | 系统正常操作日志记录和查询;系统异常信息日志记录和查询。 |
|
||||
| 登录日志 | 系统登录日志记录查询包含登录异常。 |
|
||||
| 文件管理 | 系统文件上传、下载等管理。 |
|
||||
| 定时任务 | 在线(添加、修改、删除)任务调度包含执行结果日志。 |
|
||||
| 代码生成 | 前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 |
|
||||
| 系统接口 | 根据业务代码自动生成相关的api接口文档。 |
|
||||
| 服务监控 | 监视集群系统CPU、内存、磁盘、堆栈、在线日志、Spring相关配置等。 |
|
||||
| 缓存监控 | 对系统的缓存信息查询,命令统计等。 |
|
||||
| 在线构建器 | 拖动表单元素生成相应的HTML代码。 |
|
||||
| 连接池监视 | 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 |
|
||||
| 使用案例 | 系统的一些功能案例 |
|
||||
|
||||
## 演示图例
|
||||
|
||||
| | |
|
||||
|--------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
|
||||
<table border="1" cellpadding="1" cellspacing="1" style="width:500px">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-972235bcbe3518dedd351ff0e2ee7d1031c.png" width="1920" /></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-5e0097702fa91e2e36391de8127676a7fa1.png" width="1920" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p><img src="https://oscimg.oschina.net/oscnet/up-e56e3828f48cd9886d88731766f06d5f3c1.png" width="1920" /></p>
|
||||
</td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-0715990ea1a9f254ec2138fcd063c1f556a.png" width="1920" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-eaf5417ccf921bb64abb959e3d8e290467f.png" width="1920" /></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-fc285cf33095ebf8318de6999af0f473861.png" width="1920" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-60c83fd8bd61c29df6dbf47c88355e9c272.png" width="1920" /></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-7f731948c8b73c7d90f67f9e1c7a534d5c3.png" width="1920" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-e4de89b5e2d20c52d3c3a47f9eb88eb8526.png" width="1920" /></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-8791d823a508eb90e67c604f36f57491a67.png" width="1920" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-4589afd99982ead331785299b894174feb6.png" width="1920" /></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-8ea177cdacaea20995daf2f596b15232561.png" width="1920" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-32d1d04c55c11f74c9129fbbc58399728c4.png" width="1920" /></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-04fa118f7631b7ae6fd72299ca0a1430a63.png" width="1920" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-fe7e85b65827802bfaadf3acd42568b58c7.png" width="1920" /></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-eff2b02a54f8188022d8498cfe6af6fcc06.png" width="1920" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
BIN
bpmn/模型.zip
BIN
bpmn/模型.zip
Binary file not shown.
@@ -16,20 +16,46 @@ server:
|
||||
|
||||
dubbo:
|
||||
application:
|
||||
# 关闭qos端口避免单机多生产者端口冲突 如需使用自行开启
|
||||
logger: slf4j
|
||||
# 元数据中心 local 本地 remote 远程 这里使用远程便于其他服务获取
|
||||
metadataType: remote
|
||||
# 可选值 interface、instance、all,默认是 all,即接口级地址、应用级地址都注册
|
||||
register-mode: instance
|
||||
service-discovery:
|
||||
# FORCE_INTERFACE,只消费接口级地址,如无地址则报错,单订阅 2.x 地址
|
||||
# APPLICATION_FIRST,智能决策接口级/应用级地址,双订阅
|
||||
# FORCE_APPLICATION,只消费应用级地址,如无地址则报错,单订阅 3.x 地址
|
||||
migration: FORCE_APPLICATION
|
||||
qos-enable: false
|
||||
protocol:
|
||||
# 如需使用 Triple 3.0 新协议 可查看官方文档
|
||||
# 设置为 tri 即可使用 Triple 3.0 新协议
|
||||
# 性能对比 dubbo 协议并没有提升 但基于 http2 用于多语言异构等 http 交互场景
|
||||
# 使用 dubbo 协议通信
|
||||
name: dubbo
|
||||
# dubbo 协议端口(-1表示自增端口,从20880开始)
|
||||
port: -1
|
||||
# 指定dubbo协议注册ip
|
||||
# host: 192.168.0.100
|
||||
# 注册中心配置
|
||||
registry:
|
||||
address: nacos://${spring.cloud.nacos.server-addr}
|
||||
group: DUBBO_GROUP
|
||||
parameters:
|
||||
namespace: ${spring.profiles.active}
|
||||
# 消费者相关配置
|
||||
consumer:
|
||||
# 结果缓存(LRU算法)
|
||||
# 会有数据不一致问题 建议在注解局部开启
|
||||
cache: false
|
||||
# 支持校验注解
|
||||
validation: true
|
||||
# 超时时间
|
||||
timeout: 3000
|
||||
# 初始化检查
|
||||
check: false
|
||||
scan:
|
||||
# 接口实现类扫描
|
||||
base-packages: com.ruoyi.**.dubbo
|
||||
# 自定义配置
|
||||
custom:
|
||||
# 全局请求log
|
||||
@@ -38,10 +64,6 @@ dubbo:
|
||||
log-level: info
|
||||
|
||||
spring:
|
||||
threads:
|
||||
# 开启虚拟线程 仅jdk21可用
|
||||
virtual:
|
||||
enabled: false
|
||||
# 资源信息
|
||||
messages:
|
||||
# 国际化资源文件路径
|
||||
@@ -53,8 +75,6 @@ spring:
|
||||
# 上传单个文件大小限制
|
||||
max-file-size: 10MB
|
||||
mvc:
|
||||
# 设置静态资源路径 防止所有请求都去查静态资源
|
||||
static-path-pattern: /static/**
|
||||
format:
|
||||
date-time: yyyy-MM-dd HH:mm:ss
|
||||
#jackson配置
|
||||
@@ -70,16 +90,12 @@ spring:
|
||||
# 允许对象忽略json中不存在的属性
|
||||
fail_on_unknown_properties: false
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
metadata:
|
||||
# admin 监控账号密码
|
||||
username: ruoyi
|
||||
userpassword: 123456
|
||||
# sentinel 配置
|
||||
sentinel:
|
||||
# sentinel 开关
|
||||
enabled: true
|
||||
# 取消控制台懒加载
|
||||
eager: true
|
||||
transport:
|
||||
# dashboard控制台服务名 用于服务发现
|
||||
# 如无此配置将默认使用下方 dashboard 配置直接注册
|
||||
@@ -89,27 +105,15 @@ spring:
|
||||
# 控制台地址 从1.3.0开始使用 server-name 注册
|
||||
# dashboard: localhost:8718
|
||||
|
||||
bus:
|
||||
id: ${spring.application.name}
|
||||
base-packages: org.dromara.**.event
|
||||
# 消息总线 也可以使用 kafka 参考 spring-cloud-bus 用法
|
||||
rabbitmq:
|
||||
host: localhost
|
||||
port: 5672
|
||||
username: ruoyi
|
||||
password: ruoyi123
|
||||
|
||||
# redis通用配置 子服务可以自行配置进行覆盖
|
||||
data:
|
||||
redis:
|
||||
host: localhost
|
||||
port: 6379
|
||||
# redis 密码必须配置
|
||||
password: ruoyi123
|
||||
database: 0
|
||||
# 需要使用数字
|
||||
timeout: 10000
|
||||
ssl.enabled: false
|
||||
redis:
|
||||
host: localhost
|
||||
port: 6379
|
||||
# 密码(如没有密码请注释掉)
|
||||
# password:
|
||||
database: 0
|
||||
timeout: 10s
|
||||
ssl: false
|
||||
|
||||
# redisson 配置
|
||||
redisson:
|
||||
@@ -159,41 +163,72 @@ logging:
|
||||
org.springframework: warn
|
||||
org.apache.dubbo: warn
|
||||
com.alibaba.nacos: warn
|
||||
com.alibaba.cloud.sentinel: warn
|
||||
org.mybatis.spring.mapper: error
|
||||
org.apache.dubbo.config: error
|
||||
# 临时处理 spring 调整日志级别导致启动警告问题 不影响使用等待 alibaba 适配
|
||||
org.springframework.context.support.PostProcessorRegistrationDelegate: error
|
||||
config: classpath:logback-plus.xml
|
||||
config: classpath:logback.xml
|
||||
|
||||
# Sa-Token配置
|
||||
sa-token:
|
||||
# token名称 (同时也是cookie名称)
|
||||
token-name: Authorization
|
||||
# 开启内网服务调用鉴权(不允许越过gateway访问内网服务 保障服务安全)
|
||||
# token有效期 设为一天 (必定过期) 单位: 秒
|
||||
timeout: 86400
|
||||
# token临时有效期 (指定时间无操作就过期) 单位: 秒
|
||||
activity-timeout: 1800
|
||||
# 开启内网服务调用鉴权
|
||||
check-same-token: true
|
||||
# Same-Token的有效期 (单位: 秒)
|
||||
same-token-timeout: 600
|
||||
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
|
||||
is-concurrent: true
|
||||
# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
|
||||
is-share: false
|
||||
# 是否尝试从header里读取token
|
||||
is-read-header: true
|
||||
# 是否尝试从cookie里读取token
|
||||
is-read-cookie: false
|
||||
# token前缀
|
||||
token-prefix: "Bearer"
|
||||
# jwt秘钥
|
||||
jwt-secret-key: abcdefghijklmnopqrstuvwxyz
|
||||
|
||||
# MyBatisPlus配置
|
||||
# https://baomidou.com/config/
|
||||
mybatis-plus:
|
||||
# 多包名使用 例如 org.dromara.**.mapper,org.xxx.**.mapper
|
||||
mapperPackage: org.dromara.**.mapper
|
||||
# 不支持多包, 如有需要可在注解配置 或 提升扫包等级
|
||||
# 例如 com.**.**.mapper
|
||||
mapperPackage: com.ruoyi.**.mapper
|
||||
# 对应的 XML 文件位置
|
||||
mapperLocations: classpath*:mapper/**/*Mapper.xml
|
||||
# 实体扫描,多个package用逗号或者分号分隔
|
||||
typeAliasesPackage: org.dromara.**.domain
|
||||
typeAliasesPackage: com.ruoyi.**.domain
|
||||
# 启动时是否检查 MyBatis XML 文件的存在,默认不检查
|
||||
checkConfigLocation: false
|
||||
configuration:
|
||||
# 自动驼峰命名规则(camel case)映射
|
||||
mapUnderscoreToCamelCase: true
|
||||
# MyBatis 自动映射策略
|
||||
# NONE:不启用 PARTIAL:只对非嵌套 resultMap 自动映射 FULL:对所有 resultMap 自动映射
|
||||
autoMappingBehavior: PARTIAL
|
||||
# MyBatis 自动映射时未知列或未知属性处理策
|
||||
# NONE:不做处理 WARNING:打印相关警告 FAILING:抛出异常和详细信息
|
||||
autoMappingUnknownColumnBehavior: NONE
|
||||
# 更详细的日志输出 会有性能损耗 org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
# 关闭日志记录 (可单纯使用 p6spy 分析) org.apache.ibatis.logging.nologging.NoLoggingImpl
|
||||
# 默认日志输出 org.apache.ibatis.logging.slf4j.Slf4jImpl
|
||||
logImpl: org.apache.ibatis.logging.nologging.NoLoggingImpl
|
||||
global-config:
|
||||
# 是否打印 Logo banner
|
||||
banner: true
|
||||
dbConfig:
|
||||
# 主键类型
|
||||
# AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID
|
||||
# 如需改为自增 需要将数据库表全部设置为自增
|
||||
idType: ASSIGN_ID
|
||||
# 逻辑已删除值
|
||||
logicDeleteValue: 2
|
||||
# 逻辑未删除值
|
||||
logicNotDeleteValue: 0
|
||||
insertStrategy: NOT_NULL
|
||||
updateStrategy: NOT_NULL
|
||||
where-strategy: NOT_NULL
|
||||
|
||||
# 数据加密
|
||||
mybatis-encryptor:
|
||||
@@ -209,27 +244,8 @@ mybatis-encryptor:
|
||||
publicKey:
|
||||
privateKey:
|
||||
|
||||
# api接口加密
|
||||
api-decrypt:
|
||||
# 是否开启全局接口加密
|
||||
enabled: true
|
||||
# AES 加密头标识
|
||||
headerFlag: encrypt-key
|
||||
# 响应加密公钥 非对称算法的公私钥 如:SM2,RSA 使用者请自行更换
|
||||
# 对应前端解密私钥 MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE=
|
||||
publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJnNwrj4hi/y3CCJu868ghCG5dUj8wZK++RNlTLcXoMmdZWEQ/u02RgD5LyLAXGjLOjbMtC+/J9qofpSGTKSx/MCAwEAAQ==
|
||||
# 请求解密私钥 非对称算法的公私钥 如:SM2,RSA 使用者请自行更换
|
||||
# 对应前端加密公钥 MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==
|
||||
privateKey: MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKNPuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gAkM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWowcSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21v+F25WaHYPxCFMvwxpcw99EcvDQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthhYhovyloRYsM+IS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3UP8iWi1Qw0Y=
|
||||
|
||||
# 接口文档配置
|
||||
springdoc:
|
||||
api-docs:
|
||||
# 是否开启接口文档
|
||||
enabled: true
|
||||
# swagger-ui:
|
||||
# # 持久化认证数据
|
||||
# persistAuthorization: true
|
||||
# swagger配置
|
||||
swagger:
|
||||
info:
|
||||
# 标题
|
||||
title: '标题:RuoYi-Cloud-Plus微服务权限管理系统_接口文档'
|
||||
@@ -241,7 +257,7 @@ springdoc:
|
||||
contact:
|
||||
name: Lion Li
|
||||
email: crazylionli@163.com
|
||||
url: https://gitee.com/dromara/RuoYi-Cloud-Plus
|
||||
url: https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus
|
||||
components:
|
||||
# 鉴权方式配置
|
||||
security-schemes:
|
||||
@@ -249,28 +265,38 @@ springdoc:
|
||||
type: APIKEY
|
||||
in: HEADER
|
||||
name: ${sa-token.token-name}
|
||||
# 服务文档路径映射 参考 gateway router 配置
|
||||
# 默认为服务名去除前缀转换为path 此处填特殊的配置
|
||||
service-mapping:
|
||||
ruoyi-gen: /code
|
||||
|
||||
springdoc:
|
||||
api-docs:
|
||||
# 是否开启接口文档
|
||||
enabled: true
|
||||
swagger-ui:
|
||||
# 持久化认证数据
|
||||
persistAuthorization: true
|
||||
|
||||
# seata配置
|
||||
seata:
|
||||
# 是否启用
|
||||
# 默认关闭,如需启用spring.datasource.dynami.seata需要同时开启
|
||||
enabled: true
|
||||
# Seata 应用编号,默认为应用名
|
||||
# Seata 应用编号,默认为 ${spring.application.name}
|
||||
application-id: ${spring.application.name}
|
||||
# Seata 事务组编号,用于 TC 集群名
|
||||
tx-service-group: ${spring.application.name}-group
|
||||
|
||||
# 多租户配置
|
||||
tenant:
|
||||
# 是否开启
|
||||
enable: true
|
||||
# 排除表
|
||||
excludes:
|
||||
- sys_menu
|
||||
- sys_tenant
|
||||
- sys_tenant_package
|
||||
- sys_role_dept
|
||||
- sys_role_menu
|
||||
- sys_user_post
|
||||
- sys_user_role
|
||||
- sys_client
|
||||
- sys_oss_config
|
||||
config:
|
||||
type: nacos
|
||||
nacos:
|
||||
server-addr: ${spring.cloud.nacos.server-addr}
|
||||
group: ${spring.cloud.nacos.config.group}
|
||||
namespace: ${spring.profiles.active}
|
||||
data-id: seata-server.properties
|
||||
registry:
|
||||
type: nacos
|
||||
nacos:
|
||||
application: ruoyi-seata-server
|
||||
server-addr: ${spring.cloud.nacos.server-addr}
|
||||
group: ${spring.cloud.nacos.discovery.group}
|
||||
namespace: ${spring.profiles.active}
|
||||
|
@@ -2,19 +2,15 @@ datasource:
|
||||
system-master:
|
||||
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
|
||||
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能
|
||||
url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
|
||||
url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
|
||||
username: root
|
||||
password: password
|
||||
gen:
|
||||
url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
|
||||
url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
|
||||
username: root
|
||||
password: password
|
||||
job:
|
||||
url: jdbc:mysql://localhost:3306/ry-job?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
|
||||
username: root
|
||||
password: password
|
||||
workflow:
|
||||
url: jdbc:mysql://localhost:3306/ry-workflow?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
url: jdbc:mysql://localhost:3306/ry-job?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
|
||||
username: root
|
||||
password: password
|
||||
# system-oracle:
|
||||
@@ -34,7 +30,7 @@ spring:
|
||||
# 性能分析插件(有性能损耗 不建议生产环境使用)
|
||||
p6spy: true
|
||||
# 开启seata代理,开启后默认每个数据源都代理,如果某个不需要代理可单独关闭
|
||||
seata: ${seata.enabled}
|
||||
seata: true
|
||||
# 严格模式 匹配不到数据源则报错
|
||||
strict: true
|
||||
hikari:
|
||||
@@ -50,5 +46,12 @@ spring:
|
||||
idleTimeout: 600000
|
||||
# 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认30分钟
|
||||
maxLifetime: 1800000
|
||||
# 连接测试query(配置检测连接是否有效)
|
||||
connectionTestQuery: SELECT 1
|
||||
# 多久检查一次连接的活性
|
||||
keepaliveTime: 30000
|
||||
|
||||
# seata配置
|
||||
seata:
|
||||
# 关闭自动代理
|
||||
enable-auto-data-source-proxy: false
|
||||
|
@@ -1,18 +1,3 @@
|
||||
# 安全配置
|
||||
security:
|
||||
# 验证码
|
||||
captcha:
|
||||
# 是否开启验证码
|
||||
enabled: true
|
||||
# 验证码类型 math 数组计算 char 字符验证
|
||||
type: MATH
|
||||
# line 线段干扰 circle 圆圈干扰 shear 扭曲干扰
|
||||
category: CIRCLE
|
||||
# 数字验证码位数
|
||||
numberLength: 1
|
||||
# 字符验证码长度
|
||||
charLength: 4
|
||||
|
||||
# 用户配置
|
||||
user:
|
||||
password:
|
||||
@@ -20,79 +5,3 @@ user:
|
||||
maxRetryCount: 5
|
||||
# 密码锁定时间(默认10分钟)
|
||||
lockTime: 10
|
||||
|
||||
# 三方授权
|
||||
justauth:
|
||||
# 前端外网访问地址
|
||||
address: http://localhost:80
|
||||
type:
|
||||
maxkey:
|
||||
# maxkey 服务器地址
|
||||
# 注意 如下均配置均不需要修改 maxkey 已经内置好了数据
|
||||
server-url: http://sso.maxkey.top
|
||||
client-id: 876892492581044224
|
||||
client-secret: x1Y5MTMwNzIwMjMxNTM4NDc3Mzche8
|
||||
redirect-uri: ${justauth.address}/social-callback?source=maxkey
|
||||
topiam:
|
||||
# topiam 服务器地址
|
||||
server-url: http://127.0.0.1:1989/api/v1/authorize/y0q************spq***********8ol
|
||||
client-id: 449c4*********937************759
|
||||
client-secret: ac7***********1e0************28d
|
||||
redirect-uri: ${justauth.address}/social-callback?source=topiam
|
||||
scopes: [ openid, email, phone, profile ]
|
||||
qq:
|
||||
client-id: 10**********6
|
||||
client-secret: 1f7d08**********5b7**********29e
|
||||
redirect-uri: ${justauth.address}/social-callback?source=qq
|
||||
union-id: false
|
||||
weibo:
|
||||
client-id: 10**********6
|
||||
client-secret: 1f7d08**********5b7**********29e
|
||||
redirect-uri: ${justauth.address}/social-callback?source=weibo
|
||||
gitee:
|
||||
client-id: 91436b7940090d09c72c7daf85b959cfd5f215d67eea73acbf61b6b590751a98
|
||||
client-secret: 02c6fcfd70342980cd8dd2f2c06c1a350645d76c754d7a264c4e125f9ba915ac
|
||||
redirect-uri: ${justauth.address}/social-callback?source=gitee
|
||||
dingtalk:
|
||||
client-id: 10**********6
|
||||
client-secret: 1f7d08**********5b7**********29e
|
||||
redirect-uri: ${justauth.address}/social-callback?source=dingtalk
|
||||
baidu:
|
||||
client-id: 10**********6
|
||||
client-secret: 1f7d08**********5b7**********29e
|
||||
redirect-uri: ${justauth.address}/social-callback?source=baidu
|
||||
csdn:
|
||||
client-id: 10**********6
|
||||
client-secret: 1f7d08**********5b7**********29e
|
||||
redirect-uri: ${justauth.address}/social-callback?source=csdn
|
||||
coding:
|
||||
client-id: 10**********6
|
||||
client-secret: 1f7d08**********5b7**********29e
|
||||
redirect-uri: ${justauth.address}/social-callback?source=coding
|
||||
coding-group-name: xx
|
||||
oschina:
|
||||
client-id: 10**********6
|
||||
client-secret: 1f7d08**********5b7**********29e
|
||||
redirect-uri: ${justauth.address}/social-callback?source=oschina
|
||||
alipay_wallet:
|
||||
client-id: 10**********6
|
||||
client-secret: 1f7d08**********5b7**********29e
|
||||
redirect-uri: ${justauth.address}/social-callback?source=alipay_wallet
|
||||
alipay-public-key: MIIB**************DAQAB
|
||||
wechat_open:
|
||||
client-id: 10**********6
|
||||
client-secret: 1f7d08**********5b7**********29e
|
||||
redirect-uri: ${justauth.address}/social-callback?source=wechat_open
|
||||
wechat_mp:
|
||||
client-id: 10**********6
|
||||
client-secret: 1f7d08**********5b7**********29e
|
||||
redirect-uri: ${justauth.address}/social-callback?source=wechat_mp
|
||||
wechat_enterprise:
|
||||
client-id: 10**********6
|
||||
client-secret: 1f7d08**********5b7**********29e
|
||||
redirect-uri: ${justauth.address}/social-callback?source=wechat_enterprise
|
||||
agent-id: 1000002
|
||||
gitlab:
|
||||
client-id: 10**********6
|
||||
client-secret: 1f7d08**********5b7**********29e
|
||||
redirect-uri: ${justauth.address}/social-callback?source=gitlab
|
||||
|
@@ -1,26 +1,33 @@
|
||||
# 安全配置
|
||||
security:
|
||||
# 验证码
|
||||
captcha:
|
||||
# 是否开启验证码
|
||||
enabled: true
|
||||
# 验证码类型 math 数组计算 char 字符验证
|
||||
type: MATH
|
||||
# line 线段干扰 circle 圆圈干扰 shear 扭曲干扰
|
||||
category: CIRCLE
|
||||
# 数字验证码位数
|
||||
numberLength: 1
|
||||
# 字符验证码长度
|
||||
charLength: 4
|
||||
# 防止XSS攻击
|
||||
xss:
|
||||
enabled: true
|
||||
excludeUrls:
|
||||
- /system/notice
|
||||
- /workflow/model/save
|
||||
- /workflow/model/editModelXml
|
||||
# 不校验白名单
|
||||
ignore:
|
||||
whites:
|
||||
- /auth/code
|
||||
- /code
|
||||
- /auth/logout
|
||||
- /auth/login
|
||||
- /auth/binding/*
|
||||
- /auth/social/callback
|
||||
- /auth/smsLogin
|
||||
- /auth/xcxLogin
|
||||
- /auth/register
|
||||
- /auth/tenant/list
|
||||
- /resource/sms/code
|
||||
- /resource/sse/close
|
||||
- /*/v3/api-docs
|
||||
- /*/error
|
||||
- /csrf
|
||||
|
||||
spring:
|
||||
@@ -40,19 +47,21 @@ spring:
|
||||
predicates:
|
||||
- Path=/auth/**
|
||||
filters:
|
||||
# 验证码处理
|
||||
- ValidateCodeFilter
|
||||
- StripPrefix=1
|
||||
# 代码生成
|
||||
- id: ruoyi-gen
|
||||
uri: lb://ruoyi-gen
|
||||
predicates:
|
||||
- Path=/tool/**
|
||||
- Path=/code/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# 系统模块
|
||||
- id: ruoyi-system
|
||||
uri: lb://ruoyi-system
|
||||
predicates:
|
||||
- Path=/system/**,/monitor/**
|
||||
- Path=/system/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# 资源服务
|
||||
@@ -62,11 +71,6 @@ spring:
|
||||
- Path=/resource/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# workflow服务
|
||||
- id: ruoyi-workflow
|
||||
uri: lb://ruoyi-workflow
|
||||
predicates:
|
||||
- Path=/workflow/**
|
||||
# 演示服务
|
||||
- id: ruoyi-demo
|
||||
uri: lb://ruoyi-demo
|
||||
@@ -75,10 +79,10 @@ spring:
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
# MQ演示服务
|
||||
- id: ruoyi-test-mq
|
||||
uri: lb://ruoyi-test-mq
|
||||
- id: ruoyi-stream-mq
|
||||
uri: lb://ruoyi-stream-mq
|
||||
predicates:
|
||||
- Path=/test-mq/**
|
||||
- Path=/stream-mq/**
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
|
||||
@@ -93,8 +97,6 @@ spring:
|
||||
server-addr: ${spring.cloud.nacos.server-addr}
|
||||
dataId: sentinel-${spring.application.name}.json
|
||||
groupId: ${spring.cloud.nacos.config.group}
|
||||
username: ${spring.cloud.nacos.username}
|
||||
password: ${spring.cloud.nacos.password}
|
||||
namespace: ${spring.profiles.active}
|
||||
data-type: json
|
||||
rule-type: gw-flow
|
||||
|
@@ -3,7 +3,6 @@ spring:
|
||||
dynamic:
|
||||
# 设置默认的数据源或者数据源组,默认值即为 master
|
||||
primary: master
|
||||
seata: false
|
||||
datasource:
|
||||
# 主库数据源
|
||||
master:
|
||||
@@ -18,6 +17,8 @@ spring:
|
||||
# url: ${datasource.system-oracle.url}
|
||||
# username: ${datasource.system-oracle.username}
|
||||
# password: ${datasource.system-oracle.password}
|
||||
# hikari:
|
||||
# connectionTestQuery: SELECT 1 FROM DUAL
|
||||
# postgres:
|
||||
# type: ${spring.datasource.type}
|
||||
# driverClassName: org.postgresql.Driver
|
||||
@@ -28,9 +29,9 @@ spring:
|
||||
# 代码生成
|
||||
gen:
|
||||
# 作者
|
||||
author: LionLi
|
||||
author: ruoyi
|
||||
# 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool
|
||||
packageName: org.dromara.system
|
||||
packageName: com.ruoyi.system
|
||||
# 自动去除表前缀,默认是false
|
||||
autoRemovePre: false
|
||||
# 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
|
||||
|
@@ -3,7 +3,6 @@ spring:
|
||||
dynamic:
|
||||
# 设置默认的数据源或者数据源组,默认值即为 master
|
||||
primary: master
|
||||
seata: false
|
||||
datasource:
|
||||
# 主库数据源
|
||||
master:
|
||||
@@ -13,19 +12,27 @@ spring:
|
||||
username: ${datasource.job.username}
|
||||
password: ${datasource.job.password}
|
||||
|
||||
snail-job:
|
||||
enabled: true
|
||||
# 需要在 SnailJob 后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务
|
||||
group: "ruoyi_group"
|
||||
# SnailJob 接入验证令牌
|
||||
token: "SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT"
|
||||
server:
|
||||
# 从 nacos 获取服务
|
||||
server-name: ruoyi-snailjob-server
|
||||
# 服务名优先 ip垫底
|
||||
host: 127.0.0.1
|
||||
port: 17888
|
||||
# 详见 script/sql/ry_job.sql `sj_namespace` 表
|
||||
namespace: ${spring.profiles.active}
|
||||
# 随主应用端口飘逸
|
||||
port: 2${server.port}
|
||||
xxl:
|
||||
job:
|
||||
# 执行器开关
|
||||
enabled: true
|
||||
# 调度中心地址:如调度中心集群部署存在多个地址则用逗号分隔。
|
||||
# admin-addresses: http://localhost:9900
|
||||
# 调度中心应用名 通过服务名连接调度中心(启用admin-appname会导致admin-addresses不生效)
|
||||
admin-appname: ruoyi-xxl-job-admin
|
||||
# 执行器通讯TOKEN:非空时启用
|
||||
access-token: xxl-job
|
||||
# 执行器配置
|
||||
executor:
|
||||
# 执行器AppName:执行器心跳注册分组依据;为空则关闭自动注册
|
||||
appname: ${spring.application.name}-executor
|
||||
# 执行器端口号 执行器从19901开始往后写
|
||||
port: 9901
|
||||
# 执行器注册:默认IP:PORT
|
||||
address:
|
||||
# 执行器IP:默认自动获取IP
|
||||
ip:
|
||||
# 执行器运行日志文件存储磁盘路径
|
||||
logpath: ./logs/${spring.application.name}/xxl-job
|
||||
# 执行器日志文件保存天数:大于3生效
|
||||
logretentiondays: 30
|
||||
|
@@ -17,6 +17,8 @@ spring:
|
||||
# url: ${datasource.system-oracle.url}
|
||||
# username: ${datasource.system-oracle.username}
|
||||
# password: ${datasource.system-oracle.password}
|
||||
# hikari:
|
||||
# connectionTestQuery: SELECT 1 FROM DUAL
|
||||
# postgres:
|
||||
# type: ${spring.datasource.type}
|
||||
# driverClassName: org.postgresql.Driver
|
||||
@@ -24,19 +26,6 @@ spring:
|
||||
# username: ${datasource.system-postgres.username}
|
||||
# password: ${datasource.system-postgres.password}
|
||||
|
||||
# 默认/推荐使用sse推送
|
||||
sse:
|
||||
enabled: true
|
||||
path: /sse
|
||||
|
||||
websocket:
|
||||
# 如果关闭 需要和前端开关一起关闭
|
||||
enabled: false
|
||||
# 路径
|
||||
path: /websocket
|
||||
# 设置访问源地址
|
||||
allowedOrigins: '*'
|
||||
|
||||
mail:
|
||||
enabled: false
|
||||
host: smtp.163.com
|
||||
@@ -58,34 +47,13 @@ mail:
|
||||
# Socket连接超时值,单位毫秒,缺省值不超时
|
||||
connectionTimeout: 0
|
||||
|
||||
# sms 短信 支持 阿里云 腾讯云 云片 等等各式各样的短信服务商
|
||||
# https://sms4j.com/doc3/ 差异配置文档地址 支持单厂商多配置,可以配置多个同时使用
|
||||
sms:
|
||||
# 配置源类型用于标定配置来源(interface,yaml)
|
||||
config-type: yaml
|
||||
# 用于标定yml中的配置是否开启短信拦截,接口配置不受此限制
|
||||
restricted: true
|
||||
# 短信拦截限制单手机号每分钟最大发送,只对开启了拦截的配置有效
|
||||
minute-max: 1
|
||||
# 短信拦截限制单手机号每日最大发送量,只对开启了拦截的配置有效
|
||||
account-max: 30
|
||||
# 以下配置来自于 org.dromara.sms4j.provider.config.BaseConfig类中
|
||||
blends:
|
||||
# 唯一ID 用于发送短信寻找具体配置 随便定义别用中文即可
|
||||
# 可以同时存在两个相同厂商 例如: ali1 ali2 两个不同的阿里短信账号 也可用于区分租户
|
||||
config1:
|
||||
# 框架定义的厂商名称标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分
|
||||
supplier: alibaba
|
||||
# 有些称为accessKey有些称之为apiKey,也有称为sdkKey或者appId。
|
||||
access-key-id: 您的accessKey
|
||||
# 称为accessSecret有些称之为apiSecret
|
||||
access-key-secret: 您的accessKeySecret
|
||||
signature: 您的短信签名
|
||||
sdk-app-id: 您的sdkAppId
|
||||
config2:
|
||||
# 厂商标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分
|
||||
supplier: tencent
|
||||
access-key-id: 您的accessKey
|
||||
access-key-secret: 您的accessKeySecret
|
||||
signature: 您的短信签名
|
||||
sdk-app-id: 您的sdkAppId
|
||||
enabled: false
|
||||
# 阿里云 dysmsapi.aliyuncs.com
|
||||
# 腾讯云 sms.tencentcloudapi.com
|
||||
endpoint: "dysmsapi.aliyuncs.com"
|
||||
accessKeyId: xxxxxxx
|
||||
accessKeySecret: xxxxxx
|
||||
signName: 测试
|
||||
# 腾讯专用
|
||||
sdkAppId:
|
||||
|
@@ -1,48 +0,0 @@
|
||||
spring:
|
||||
datasource:
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: ${datasource.job.url}
|
||||
username: ${datasource.job.username}
|
||||
password: ${datasource.job.password}
|
||||
hikari:
|
||||
connection-timeout: 30000
|
||||
validation-timeout: 5000
|
||||
minimum-idle: 10
|
||||
maximum-pool-size: 20
|
||||
idle-timeout: 600000
|
||||
max-lifetime: 900000
|
||||
keepaliveTime: 30000
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
metadata:
|
||||
# 解决 er 服务有 context-path 无法监控问题
|
||||
management.context-path: ${server.servlet.context-path}/actuator
|
||||
# 监控账号密码
|
||||
username: ruoyi
|
||||
userpassword: 123456
|
||||
|
||||
# snail-job 服务端配置
|
||||
snail-job:
|
||||
# 拉取重试数据的每批次的大小
|
||||
retry-pull-page-size: 1000
|
||||
# 拉取重试数据的每批次的大小
|
||||
job-pull-page-size: 1000
|
||||
# 服务端 netty 端口
|
||||
netty-port: 17888
|
||||
# 重试和死信表的分区总数
|
||||
total-partition: 2
|
||||
# 一个客户端每秒最多接收的重试数量指令
|
||||
limiter: 1000
|
||||
# 号段模式下步长配置
|
||||
step: 100
|
||||
# 日志保存时间(单位: day)
|
||||
log-storage: 90
|
||||
# 回调配置
|
||||
callback:
|
||||
#回调最大执行次数
|
||||
max-count: 288
|
||||
#间隔时间
|
||||
trigger-interval: 900
|
||||
retry-max-pull-count: 10
|
@@ -17,6 +17,8 @@ spring:
|
||||
# url: ${datasource.system-oracle.url}
|
||||
# username: ${datasource.system-oracle.username}
|
||||
# password: ${datasource.system-oracle.password}
|
||||
# hikari:
|
||||
# connectionTestQuery: SELECT 1 FROM DUAL
|
||||
# postgres:
|
||||
# type: ${spring.datasource.type}
|
||||
# driverClassName: org.postgresql.Driver
|
||||
|
@@ -1,48 +0,0 @@
|
||||
spring:
|
||||
datasource:
|
||||
dynamic:
|
||||
# 设置默认的数据源或者数据源组,默认值即为 master
|
||||
primary: master
|
||||
datasource:
|
||||
# 主库数据源
|
||||
master:
|
||||
type: ${spring.datasource.type}
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: ${datasource.workflow.url}
|
||||
username: ${datasource.workflow.username}
|
||||
password: ${datasource.workflow.password}
|
||||
# oracle:
|
||||
# type: ${spring.datasource.type}
|
||||
# driverClassName: oracle.jdbc.OracleDriver
|
||||
# url: ${datasource.system-oracle.url}
|
||||
# username: ${datasource.system-oracle.username}
|
||||
# password: ${datasource.system-oracle.password}
|
||||
# postgres:
|
||||
# type: ${spring.datasource.type}
|
||||
# driverClassName: org.postgresql.Driver
|
||||
# url: ${datasource.system-postgres.url}
|
||||
# username: ${datasource.system-postgres.username}
|
||||
# password: ${datasource.system-postgres.password}
|
||||
|
||||
# flowable配置
|
||||
flowable:
|
||||
# 开关 用于启动/停用工作流
|
||||
enabled: true
|
||||
process.enabled: ${flowable.enabled}
|
||||
eventregistry.enabled: ${flowable.enabled}
|
||||
# 关闭定时任务JOB
|
||||
async-executor-activate: false
|
||||
# 将databaseSchemaUpdate设置为true。当Flowable发现库与数据库表结构不一致时,会自动将数据库表结构升级至新版本。
|
||||
database-schema-update: true
|
||||
activity-font-name: 宋体
|
||||
label-font-name: 宋体
|
||||
annotation-font-name: 宋体
|
||||
# 关闭各个模块生成表,目前只使用工作流基础表
|
||||
idm:
|
||||
enabled: false
|
||||
cmmn:
|
||||
enabled: false
|
||||
dmn:
|
||||
enabled: false
|
||||
app:
|
||||
enabled: false
|
67
config/nacos/ruoyi-xxl-job-admin.yml
Normal file
67
config/nacos/ruoyi-xxl-job-admin.yml
Normal file
@@ -0,0 +1,67 @@
|
||||
# server 配置
|
||||
spring:
|
||||
datasource:
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: ${datasource.job.url}
|
||||
username: ${datasource.job.username}
|
||||
password: ${datasource.job.password}
|
||||
hikari:
|
||||
auto-commit: true
|
||||
connection-test-query: SELECT 1
|
||||
connection-timeout: 10000
|
||||
idle-timeout: 30000
|
||||
max-lifetime: 900000
|
||||
maximum-pool-size: 30
|
||||
minimum-idle: 10
|
||||
pool-name: HikariCP
|
||||
validation-timeout: 1000
|
||||
mail:
|
||||
from: xxx@qq.com
|
||||
host: smtp.qq.com
|
||||
username: xxx@qq.com
|
||||
password: xxx
|
||||
port: 25
|
||||
properties:
|
||||
mail:
|
||||
smtp:
|
||||
auth: true
|
||||
socketFactory:
|
||||
class: javax.net.ssl.SSLSocketFactory
|
||||
starttls:
|
||||
enable: true
|
||||
required: true
|
||||
|
||||
# mybatis 配置
|
||||
mybatis:
|
||||
mapper-locations: classpath:/mybatis-mapper/*Mapper.xml
|
||||
|
||||
# Actuator 监控端点的配置项
|
||||
management:
|
||||
health:
|
||||
mail:
|
||||
enabled: false
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: '*'
|
||||
endpoint:
|
||||
health:
|
||||
show-details: ALWAYS
|
||||
logfile:
|
||||
external-file: ./logs/${spring.application.name}/console.log
|
||||
|
||||
# xxljob系统配置
|
||||
xxl:
|
||||
job:
|
||||
# 鉴权token
|
||||
accessToken: xxl-job
|
||||
# 国际化
|
||||
i18n: zh_CN
|
||||
# 日志清理
|
||||
logretentiondays: 30
|
||||
triggerpool:
|
||||
fast:
|
||||
max: 200
|
||||
slow:
|
||||
max: 100
|
@@ -1,7 +1,8 @@
|
||||
service.vgroupMapping.ruoyi-auth-group=default
|
||||
service.vgroupMapping.ruoyi-system-group=default
|
||||
service.vgroupMapping.ruoyi-resource-group=default
|
||||
service.vgroupMapping.ruoyi-workflow-group=default
|
||||
service.vgroupMapping.ruoyi-gen-group=default
|
||||
service.vgroupMapping.ruoyi-job-group=default
|
||||
|
||||
service.enableDegrade=false
|
||||
service.disableGlobalTransaction=false
|
||||
@@ -11,13 +12,13 @@ store.mode=db
|
||||
store.lock.mode=db
|
||||
store.session.mode=db
|
||||
#Used for password encryption
|
||||
#store.publicKey=
|
||||
store.publicKey=
|
||||
|
||||
#These configurations are required if the `store mode` is `db`. If `store.mode,store.lock.mode,store.session.mode` are not equal to `db`, you can remove the configuration block.
|
||||
store.db.datasource=hikari
|
||||
store.db.dbType=mysql
|
||||
store.db.driverClassName=com.mysql.cj.jdbc.Driver
|
||||
store.db.url=jdbc:mysql://127.0.0.1:3306/ry-seata?useUnicode=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
|
||||
store.db.url=jdbc:mysql://127.0.0.1:3306/ry-seata?useUnicode=true&rewriteBatchedStatements=true
|
||||
store.db.user=root
|
||||
store.db.password=root
|
||||
store.db.minConn=5
|
||||
|
@@ -2,7 +2,7 @@ version: '3'
|
||||
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:8.0.33
|
||||
image: mysql:8.0.31
|
||||
container_name: mysql
|
||||
environment:
|
||||
# 时区上海
|
||||
@@ -29,7 +29,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
nacos:
|
||||
image: ruoyi/ruoyi-nacos:2.2.1
|
||||
image: ruoyi/ruoyi-nacos:1.6.0
|
||||
container_name: nacos
|
||||
ports:
|
||||
- "8848:8848"
|
||||
@@ -46,7 +46,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
redis:
|
||||
image: redis:6.2.12
|
||||
image: redis:6.2.7
|
||||
container_name: redis
|
||||
ports:
|
||||
- "6379:6379"
|
||||
@@ -63,7 +63,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
minio:
|
||||
image: minio/minio:RELEASE.2023-03-24T21-41-23Z
|
||||
image: minio/minio:RELEASE.2022-05-26T05-48-41Z
|
||||
container_name: minio
|
||||
ports:
|
||||
# api 端口
|
||||
@@ -96,7 +96,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
seata-server:
|
||||
image: ruoyi/ruoyi-seata-server:2.2.1
|
||||
image: ruoyi/ruoyi-seata-server:1.6.0
|
||||
container_name: seata-server
|
||||
ports:
|
||||
- "7091:7091"
|
||||
@@ -135,7 +135,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
sentinel:
|
||||
image: ruoyi/ruoyi-sentinel-dashboard:2.2.1
|
||||
image: ruoyi/ruoyi-sentinel-dashboard:1.6.0
|
||||
container_name: sentinel
|
||||
environment:
|
||||
TZ: Asia/Shanghai
|
||||
@@ -150,7 +150,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
ruoyi-monitor:
|
||||
image: ruoyi/ruoyi-monitor:2.2.1
|
||||
image: ruoyi/ruoyi-monitor:1.6.0
|
||||
container_name: ruoyi-monitor
|
||||
environment:
|
||||
# 时区上海
|
||||
@@ -165,22 +165,24 @@ services:
|
||||
privileged: true
|
||||
network_mode: "host"
|
||||
|
||||
ruoyi-snailjob-server:
|
||||
image: ruoyi/ruoyi-snailjob-server:2.2.1
|
||||
container_name: ruoyi-snailjob-server
|
||||
ruoyi-xxl-job-admin:
|
||||
image: ruoyi/ruoyi-xxl-job-admin:1.6.0
|
||||
container_name: ruoyi-xxl-job-admin
|
||||
environment:
|
||||
# 时区上海
|
||||
TZ: Asia/Shanghai
|
||||
ports:
|
||||
- "8800:8800"
|
||||
- "17888:17888"
|
||||
- "9900:9900"
|
||||
volumes:
|
||||
- /docker/snailjob/logs/:/ruoyi/snailjob/logs
|
||||
# 配置文件
|
||||
- /docker/ruoyi-xxl-job-admin/logs/:/ruoyi/xxl-job-admin/logs
|
||||
# skywalking 探针
|
||||
- /docker/skywalking/agent/:/ruoyi/skywalking/agent
|
||||
privileged: true
|
||||
network_mode: "host"
|
||||
|
||||
ruoyi-gateway:
|
||||
image: ruoyi/ruoyi-gateway:2.2.1
|
||||
image: ruoyi/ruoyi-gateway:1.6.0
|
||||
container_name: ruoyi-gateway
|
||||
environment:
|
||||
# 时区上海
|
||||
@@ -196,7 +198,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
ruoyi-auth:
|
||||
image: ruoyi/ruoyi-auth:2.2.1
|
||||
image: ruoyi/ruoyi-auth:1.6.0
|
||||
container_name: ruoyi-auth
|
||||
environment:
|
||||
# 时区上海
|
||||
@@ -212,7 +214,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
ruoyi-system:
|
||||
image: ruoyi/ruoyi-system:2.2.1
|
||||
image: ruoyi/ruoyi-system:1.6.0
|
||||
container_name: ruoyi-system
|
||||
environment:
|
||||
# 时区上海
|
||||
@@ -228,7 +230,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
ruoyi-gen:
|
||||
image: ruoyi/ruoyi-gen:2.2.1
|
||||
image: ruoyi/ruoyi-gen:1.6.0
|
||||
container_name: ruoyi-gen
|
||||
environment:
|
||||
# 时区上海
|
||||
@@ -244,7 +246,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
ruoyi-job:
|
||||
image: ruoyi/ruoyi-job:2.2.1
|
||||
image: ruoyi/ruoyi-job:1.6.0
|
||||
container_name: ruoyi-job
|
||||
environment:
|
||||
# 时区上海
|
||||
@@ -260,7 +262,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
ruoyi-resource:
|
||||
image: ruoyi/ruoyi-resource:2.2.1
|
||||
image: ruoyi/ruoyi-resource:1.6.0
|
||||
container_name: ruoyi-resource
|
||||
environment:
|
||||
# 时区上海
|
||||
@@ -275,22 +277,6 @@ services:
|
||||
privileged: true
|
||||
network_mode: "host"
|
||||
|
||||
ruoyi-workflow:
|
||||
image: ruoyi/ruoyi-workflow:2.2.1
|
||||
container_name: ruoyi-workflow
|
||||
environment:
|
||||
# 时区上海
|
||||
TZ: Asia/Shanghai
|
||||
ports:
|
||||
- "9205:9205"
|
||||
volumes:
|
||||
# 配置文件
|
||||
- /docker/ruoyi-workflow/logs/:/ruoyi/workflow/logs
|
||||
# skywalking 探针
|
||||
- /docker/skywalking/agent/:/ruoyi/skywalking/agent
|
||||
privileged: true
|
||||
network_mode: "host"
|
||||
|
||||
|
||||
#################################################################################################
|
||||
#################################### 以下为扩展根据需求搭建 #########################################
|
||||
@@ -343,9 +329,9 @@ services:
|
||||
- elasticsearch
|
||||
network_mode: "host"
|
||||
|
||||
rmqnamesrv:
|
||||
image: apache/rocketmq:5.2.0
|
||||
container_name: rmqnamesrv
|
||||
mqnamesrv:
|
||||
image: apache/rocketmq:4.9.4
|
||||
container_name: mqnamesrv
|
||||
ports:
|
||||
- "9876:9876"
|
||||
environment:
|
||||
@@ -355,40 +341,37 @@ services:
|
||||
- /docker/rocketmq/namesrv/logs:/home/rocketmq/logs/rocketmqlogs
|
||||
network_mode: "host"
|
||||
|
||||
rmqbroker1:
|
||||
image: apache/rocketmq:5.2.0
|
||||
container_name: rmqbroker1
|
||||
mqbroker1:
|
||||
image: apache/rocketmq:4.9.4
|
||||
container_name: mqbroker1
|
||||
ports:
|
||||
- "10911:10911"
|
||||
- "10909:10909"
|
||||
- "10912:10912"
|
||||
environment:
|
||||
JAVA_OPT: -server -Xms512M -Xmx512M
|
||||
NAMESRV_ADDR: 127.0.0.1:9876
|
||||
# --enable-proxy 开启broker与proxy共用模式 生产部署建议将proxy单独部署
|
||||
command: sh mqbroker --enable-proxy -c /home/rocketmq/rocketmq-5.2.0/conf/broker.conf
|
||||
JAVA_OPT_EXT: -server -Xms512M -Xmx512M -Xmn256m
|
||||
command: sh mqbroker -c /home/rocketmq/rocketmq-4.9.4/conf/broker.conf
|
||||
depends_on:
|
||||
- rmqnamesrv
|
||||
- mqnamesrv
|
||||
volumes:
|
||||
- /docker/rocketmq/broker1/conf/broker.conf:/home/rocketmq/rocketmq-5.2.0/conf/broker.conf
|
||||
- /docker/rocketmq/broker1/conf/broker.conf:/home/rocketmq/rocketmq-4.9.4/conf/broker.conf
|
||||
- /docker/rocketmq/broker1/logs:/home/rocketmq/logs/rocketmqlogs
|
||||
- /docker/rocketmq/broker1/store:/home/rocketmq/store
|
||||
privileged: true
|
||||
network_mode: "host"
|
||||
|
||||
rmqconsole:
|
||||
image: apacherocketmq/rocketmq-dashboard:latest
|
||||
container_name: rmqconsole
|
||||
mqconsole:
|
||||
image: styletang/rocketmq-console-ng
|
||||
container_name: mqconsole
|
||||
ports:
|
||||
- "19876:19876"
|
||||
environment:
|
||||
JAVA_OPTS: -Dserver.port=19876 -Drocketmq.namesrv.addr=127.0.0.1:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false
|
||||
depends_on:
|
||||
- rmqnamesrv
|
||||
- mqnamesrv
|
||||
network_mode: "host"
|
||||
|
||||
rabbitmq:
|
||||
image: rabbitmq:3.13.3
|
||||
image: rabbitmq:3.10.6
|
||||
container_name: rabbitmq
|
||||
build:
|
||||
context: ./rabbitmq
|
||||
@@ -420,7 +403,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
kafka:
|
||||
image: 'bitnami/kafka:3.6.2'
|
||||
image: 'bitnami/kafka:3.2.0'
|
||||
container_name: kafka
|
||||
ports:
|
||||
- "9092:9092"
|
||||
@@ -456,7 +439,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
sky-oap:
|
||||
image: apache/skywalking-oap-server:9.7.0
|
||||
image: apache/skywalking-oap-server:9.3.0
|
||||
container_name: sky-oap
|
||||
ports:
|
||||
- "11800:11800"
|
||||
@@ -473,7 +456,7 @@ services:
|
||||
network_mode: "host"
|
||||
|
||||
sky-ui:
|
||||
image: apache/skywalking-ui:9.7.0
|
||||
image: apache/skywalking-ui:9.3.0
|
||||
container_name: sky-ui
|
||||
ports:
|
||||
- "18080:18080"
|
||||
@@ -509,16 +492,3 @@ services:
|
||||
- /docker/grafana/grafana.ini:/etc/grafana/grafana.ini
|
||||
- /docker/grafana:/var/lib/grafana
|
||||
network_mode: "host"
|
||||
|
||||
shardingproxy:
|
||||
image: apache/shardingsphere-proxy:5.4.0
|
||||
container_name: shardingsphere-proxy
|
||||
command: server /data
|
||||
ports:
|
||||
- "3307:3307"
|
||||
volumes:
|
||||
- /docker/shardingproxy/conf:/opt/shardingsphere-proxy/conf
|
||||
- /docker/shardingproxy/ext-lib:/opt/shardingsphere-proxy/ext-lib
|
||||
environment:
|
||||
- JVM_OPTS="-Djava.awt.headless=true"
|
||||
network_mode: "host"
|
||||
|
@@ -56,12 +56,12 @@ http {
|
||||
# }
|
||||
|
||||
# 限制外网访问内网 actuator 相关路径
|
||||
location ~ ^(/[^/]*)?/actuator.*(/.*)?$ {
|
||||
location ~ ^(/[^/]*)?/actuator(/.*)?$ {
|
||||
return 403;
|
||||
}
|
||||
|
||||
location / {
|
||||
root /usr/share/nginx/html; # docker映射路径 不允许更改
|
||||
root /usr/share/nginx/html;
|
||||
try_files $uri $uri/ /index.html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
@@ -71,13 +71,6 @@ http {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header REMOTE-HOST $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_read_timeout 86400s;
|
||||
# sse 与 websocket参数
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
proxy_pass http://server/;
|
||||
}
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
FROM rabbitmq:3.13.3-management
|
||||
FROM rabbitmq:3.10.6-management
|
||||
|
||||
LABEL maintainer="Lion Li"
|
||||
MAINTAINER Lion Li
|
||||
|
||||
ADD ./rabbitmq_delayed_message_exchange-3.13.0.ez /plugins
|
||||
ADD ./rabbitmq_delayed_message_exchange-3.10.2.ez /plugins
|
||||
|
||||
RUN rabbitmq-plugins enable rabbitmq_delayed_message_exchange
|
||||
|
||||
|
BIN
docker/rabbitmq/rabbitmq_delayed_message_exchange-3.10.2.ez
Normal file
BIN
docker/rabbitmq/rabbitmq_delayed_message_exchange-3.10.2.ez
Normal file
Binary file not shown.
Binary file not shown.
@@ -15,6 +15,8 @@ flushDiskType = ASYNC_FLUSH
|
||||
# 设置broker节点所在服务器的ip地址(**这个非常重要,主从模式下,从节点会根据主节点的brokerIP2来同步数据,如果不配置,主从无法同步,brokerIP1设置为自己外网能访问的ip,服务器双网卡情况下必须配置,比如阿里云这种,主节点需要配置ip1和ip2,从节点只需要配置ip1即可)
|
||||
# 此ip由使用环境决定 本机使用 127 局域网使用 192 外网使用 外网ip
|
||||
brokerIP1 = 192.168.31.165
|
||||
#nameServer地址,分号分割
|
||||
namesrvAddr = 127.0.0.1:9876
|
||||
#Broker 对外服务的监听端口,
|
||||
listenPort = 10911
|
||||
#是否允许Broker自动创建Topic
|
||||
|
@@ -1,119 +0,0 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# Here you can configure the rules for the proxy.
|
||||
# This example is configuration of encrypt rule.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: encrypt_db
|
||||
#
|
||||
#dataSources:
|
||||
# ds_0:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_0
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# ds_1:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_1
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !ENCRYPT
|
||||
# encryptors:
|
||||
# aes_encryptor:
|
||||
# type: AES
|
||||
# props:
|
||||
# aes-key-value: 123456abc
|
||||
# rc4_encryptor:
|
||||
# type: RC4
|
||||
# props:
|
||||
# rc4-key-value: 123456abc
|
||||
# tables:
|
||||
# t_encrypt:
|
||||
# columns:
|
||||
# user_id:
|
||||
# cipher:
|
||||
# name: user_cipher
|
||||
# encryptorName: aes_encryptor
|
||||
# order_id:
|
||||
# cipher:
|
||||
# name: order_encrypt
|
||||
# encryptorName: rc4_encryptor
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# If you want to connect to MySQL, you should manually copy MySQL driver to lib directory.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: encrypt_db
|
||||
#
|
||||
#dataSources:
|
||||
# ds_0:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# ds_1:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !ENCRYPT
|
||||
# encryptors:
|
||||
# aes_encryptor:
|
||||
# type: AES
|
||||
# props:
|
||||
# aes-key-value: 123456abc
|
||||
# rc4_encryptor:
|
||||
# type: RC4
|
||||
# props:
|
||||
# rc4-key-value: 123456abc
|
||||
# tables:
|
||||
# t_encrypt:
|
||||
# columns:
|
||||
# user_id:
|
||||
# cipher:
|
||||
# name: user_cipher
|
||||
# encryptorName: aes_encryptor
|
||||
# order_id:
|
||||
# cipher:
|
||||
# name: order_encrypt
|
||||
# encryptorName: rc4_encryptor
|
@@ -1,127 +0,0 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# Here you can configure the rules for the proxy.
|
||||
# This example is configuration of mask rule.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: mask_db
|
||||
#
|
||||
#dataSources:
|
||||
# ds_0:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_0
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# ds_1:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_1
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !MASK
|
||||
# tables:
|
||||
# t_user:
|
||||
# columns:
|
||||
# password:
|
||||
# maskAlgorithm: md5_mask
|
||||
# email:
|
||||
# maskAlgorithm: mask_before_special_chars_mask
|
||||
# telephone:
|
||||
# maskAlgorithm: keep_first_n_last_m_mask
|
||||
#
|
||||
# maskAlgorithms:
|
||||
# md5_mask:
|
||||
# type: MD5
|
||||
# mask_before_special_chars_mask:
|
||||
# type: MASK_BEFORE_SPECIAL_CHARS
|
||||
# props:
|
||||
# special-chars: '@'
|
||||
# replace-char: '*'
|
||||
# keep_first_n_last_m_mask:
|
||||
# type: KEEP_FIRST_N_LAST_M
|
||||
# props:
|
||||
# first-n: 3
|
||||
# last-m: 4
|
||||
# replace-char: '*'
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# If you want to connect to MySQL, you should manually copy MySQL driver to lib directory.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: mask_db
|
||||
#
|
||||
#dataSources:
|
||||
# ds_0:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# ds_1:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !MASK
|
||||
# tables:
|
||||
# t_user:
|
||||
# columns:
|
||||
# password:
|
||||
# maskAlgorithm: md5_mask
|
||||
# email:
|
||||
# maskAlgorithm: mask_before_special_chars_mask
|
||||
# telephone:
|
||||
# maskAlgorithm: keep_first_n_last_m_mask
|
||||
#
|
||||
# maskAlgorithms:
|
||||
# md5_mask:
|
||||
# type: MD5
|
||||
# mask_before_special_chars_mask:
|
||||
# type: MASK_BEFORE_SPECIAL_CHARS
|
||||
# props:
|
||||
# special-chars: '@'
|
||||
# replace-char: '*'
|
||||
# keep_first_n_last_m_mask:
|
||||
# type: KEEP_FIRST_N_LAST_M
|
||||
# props:
|
||||
# first-n: 3
|
||||
# last-m: 4
|
||||
# replace-char: '*'
|
@@ -1,117 +0,0 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# Here you can configure the rules for the proxy.
|
||||
# This example is configuration of readwrite-splitting rule.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: readwrite_splitting_db
|
||||
#
|
||||
#dataSources:
|
||||
# primary_ds:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_primary_ds
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# replica_ds_0:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_replica_ds_0
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# replica_ds_1:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_replica_ds_1
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !READWRITE_SPLITTING
|
||||
# dataSources:
|
||||
# readwrite_ds:
|
||||
# writeDataSourceName: primary_ds
|
||||
# readDataSourceNames:
|
||||
# - replica_ds_0
|
||||
# - replica_ds_1
|
||||
# loadBalancerName: random
|
||||
# loadBalancers:
|
||||
# random:
|
||||
# type: RANDOM
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# If you want to connect to MySQL, you should manually copy MySQL driver to lib directory.
|
||||
#
|
||||
######################################################################################################
|
||||
|
||||
#databaseName: readwrite_splitting_db
|
||||
#
|
||||
#dataSources:
|
||||
# write_ds:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_write_ds?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# read_ds_0:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_read_ds_0?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# read_ds_1:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_read_ds_1?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !READWRITE_SPLITTING
|
||||
# dataSources:
|
||||
# readwrite_ds:
|
||||
# writeDataSourceName: write_ds
|
||||
# readDataSourceNames:
|
||||
# - read_ds_0
|
||||
# - read_ds_1
|
||||
# loadBalancerName: random
|
||||
# loadBalancers:
|
||||
# random:
|
||||
# type: RANDOM
|
@@ -1,175 +0,0 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# Here you can configure the rules for the proxy.
|
||||
# This example is configuration of shadow rule.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: shadow_db
|
||||
#
|
||||
#dataSources:
|
||||
# ds:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_0
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# shadow_ds:
|
||||
# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_1
|
||||
# username: postgres
|
||||
# password: postgres
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !SHADOW
|
||||
# dataSources:
|
||||
# shadowDataSource:
|
||||
# productionDataSourceName: ds
|
||||
# shadowDataSourceName: shadow_ds
|
||||
# tables:
|
||||
# t_order:
|
||||
# dataSourceNames:
|
||||
# - shadowDataSource
|
||||
# shadowAlgorithmNames:
|
||||
# - user_id_insert_match_algorithm
|
||||
# - user_id_select_match_algorithm
|
||||
# t_order_item:
|
||||
# dataSourceNames:
|
||||
# - shadowDataSource
|
||||
# shadowAlgorithmNames:
|
||||
# - user_id_insert_match_algorithm
|
||||
# - user_id_update_match_algorithm
|
||||
# - user_id_select_match_algorithm
|
||||
# t_address:
|
||||
# dataSourceNames:
|
||||
# - shadowDataSource
|
||||
# shadowAlgorithmNames:
|
||||
# - user_id_insert_match_algorithm
|
||||
# - user_id_select_match_algorithm
|
||||
# - sql_hint_algorithm
|
||||
# shadowAlgorithms:
|
||||
# user_id_insert_match_algorithm:
|
||||
# type: REGEX_MATCH
|
||||
# props:
|
||||
# operation: insert
|
||||
# column: user_id
|
||||
# regex: "[1]"
|
||||
# user_id_update_match_algorithm:
|
||||
# type: REGEX_MATCH
|
||||
# props:
|
||||
# operation: update
|
||||
# column: user_id
|
||||
# regex: "[1]"
|
||||
# user_id_select_match_algorithm:
|
||||
# type: REGEX_MATCH
|
||||
# props:
|
||||
# operation: select
|
||||
# column: user_id
|
||||
# regex: "[1]"
|
||||
# sql_hint_algorithm:
|
||||
# type: SQL_HINT
|
||||
# props:
|
||||
# foo: bar
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# If you want to connect to MySQL, you should manually copy MySQL driver to lib directory.
|
||||
#
|
||||
######################################################################################################
|
||||
#
|
||||
#databaseName: shadow_db
|
||||
#
|
||||
#dataSources:
|
||||
# ds:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
# shadow_ds:
|
||||
# url: jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false
|
||||
# username: root
|
||||
# password:
|
||||
# connectionTimeoutMilliseconds: 30000
|
||||
# idleTimeoutMilliseconds: 60000
|
||||
# maxLifetimeMilliseconds: 1800000
|
||||
# maxPoolSize: 50
|
||||
# minPoolSize: 1
|
||||
#
|
||||
#rules:
|
||||
#- !SHADOW
|
||||
# dataSources:
|
||||
# shadowDataSource:
|
||||
# productionDataSourceName: ds
|
||||
# shadowDataSourceName: shadow_ds
|
||||
# tables:
|
||||
# t_order:
|
||||
# dataSourceNames:
|
||||
# - shadowDataSource
|
||||
# shadowAlgorithmNames:
|
||||
# - user_id_insert_match_algorithm
|
||||
# - user_id_select_match_algorithm
|
||||
# t_order_item:
|
||||
# dataSourceNames:
|
||||
# - shadowDataSource
|
||||
# shadowAlgorithmNames:
|
||||
# - user_id_insert_match_algorithm
|
||||
# - user_id_update_match_algorithm
|
||||
# - user_id_select_match_algorithm
|
||||
# t_address:
|
||||
# dataSourceNames:
|
||||
# - shadowDataSource
|
||||
# shadowAlgorithmNames:
|
||||
# - user_id_insert_match_algorithm
|
||||
# - user_id_select_match_algorithm
|
||||
# - sql_hint_algorithm
|
||||
# shadowAlgorithms:
|
||||
# user_id_insert_match_algorithm:
|
||||
# type: REGEX_MATCH
|
||||
# props:
|
||||
# operation: insert
|
||||
# column: user_id
|
||||
# regex: "[1]"
|
||||
# user_id_update_match_algorithm:
|
||||
# type: REGEX_MATCH
|
||||
# props:
|
||||
# operation: update
|
||||
# column: user_id
|
||||
# regex: "[1]"
|
||||
# user_id_select_match_algorithm:
|
||||
# type: REGEX_MATCH
|
||||
# props:
|
||||
# operation: select
|
||||
# column: user_id
|
||||
# regex: "[1]"
|
||||
# sql_hint_algorithm:
|
||||
# type: SQL_HINT
|
||||
# props:
|
||||
# foo: bar
|
@@ -1,124 +0,0 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# Here you can configure the rules for the proxy.
|
||||
# This example is configuration of sharding rule.
|
||||
#
|
||||
######################################################################################################
|
||||
|
||||
databaseName: data-center_db
|
||||
|
||||
dataSources:
|
||||
ds_0:
|
||||
url: jdbc:mysql://localhost:3306/data-center_0?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
|
||||
username: root
|
||||
password: root
|
||||
connectionTimeoutMilliseconds: 30000
|
||||
idleTimeoutMilliseconds: 60000
|
||||
maxLifetimeMilliseconds: 1800000
|
||||
maxPoolSize: 50
|
||||
minPoolSize: 1
|
||||
ds_1:
|
||||
url: jdbc:mysql://localhost:3306/data-center_1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
|
||||
username: root
|
||||
password: root
|
||||
connectionTimeoutMilliseconds: 30000
|
||||
idleTimeoutMilliseconds: 60000
|
||||
maxLifetimeMilliseconds: 1800000
|
||||
maxPoolSize: 50
|
||||
minPoolSize: 1
|
||||
|
||||
rules:
|
||||
- !SHARDING
|
||||
tables: # 数据分片规则配置
|
||||
t_order: # 订单逻辑表名称
|
||||
actualDataNodes: ds_${0..1}.t_order_${0..1}
|
||||
databaseStrategy: # 配置分库策略
|
||||
standard:
|
||||
shardingColumn: user_id
|
||||
shardingAlgorithmName: database_user_inline
|
||||
tableStrategy: # 分表策略
|
||||
standard:
|
||||
shardingColumn: order_id
|
||||
shardingAlgorithmName: t_order_inline
|
||||
keyGenerateStrategy:
|
||||
column: order_id
|
||||
keyGeneratorName: snowflake
|
||||
# auditStrategy:
|
||||
# auditorNames:
|
||||
# - sharding_key_required_auditor
|
||||
# allowHintDisable: true
|
||||
t_order_item: # 子订单逻辑表名称
|
||||
actualDataNodes: ds_${0..1}.t_order_item_${0..1}
|
||||
databaseStrategy: # 配置分库策略
|
||||
standard:
|
||||
shardingColumn: user_id
|
||||
shardingAlgorithmName: database_user_inline
|
||||
tableStrategy: # 分表策略
|
||||
standard:
|
||||
shardingColumn: order_id
|
||||
shardingAlgorithmName: t_order_item_inline
|
||||
keyGenerateStrategy:
|
||||
column: order_item_id
|
||||
keyGeneratorName: snowflake
|
||||
bindingTables: # 绑定表规则列表
|
||||
- t_order,t_order_item
|
||||
# defaultDatabaseStrategy:
|
||||
# standard:
|
||||
# shardingColumn: user_id
|
||||
# shardingAlgorithmName: database_user_inline
|
||||
# defaultTableStrategy:
|
||||
# none:
|
||||
# defaultAuditStrategy:
|
||||
# auditorNames:
|
||||
# - sharding_key_required_auditor
|
||||
# allowHintDisable: true
|
||||
|
||||
# 分片算法配置
|
||||
shardingAlgorithms:
|
||||
database_user_inline:
|
||||
type: INLINE
|
||||
props:
|
||||
algorithm-expression: ds_${user_id % 2}
|
||||
t_order_inline: # 订单表分片算法名称
|
||||
type: INLINE
|
||||
props:
|
||||
algorithm-expression: t_order_${order_id % 2}
|
||||
allow-range-query-with-inline-sharding: true
|
||||
t_order_item_inline: # 子订单表分片算法名称
|
||||
type: INLINE
|
||||
props:
|
||||
algorithm-expression: t_order_item_${order_id % 2}
|
||||
allow-range-query-with-inline-sharding: true
|
||||
|
||||
# 分布式序列算法配置
|
||||
keyGenerators:
|
||||
snowflake:
|
||||
type: SNOWFLAKE
|
||||
props:
|
||||
worker-id: 1
|
||||
|
||||
# auditors:
|
||||
# sharding_key_required_auditor:
|
||||
# type: DML_SHARDING_CONDITIONS
|
||||
|
||||
# - !BROADCAST
|
||||
# tables:
|
||||
# - t_address
|
||||
|
@@ -1,92 +0,0 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
######################################################################################################
|
||||
#
|
||||
# If you want to configure governance, authorization and proxy properties, please refer to this file.
|
||||
#
|
||||
######################################################################################################
|
||||
|
||||
# mode:
|
||||
# type: Cluster
|
||||
# repository:
|
||||
# type: ZooKeeper
|
||||
# props:
|
||||
# namespace: governance_ds
|
||||
# server-lists: localhost:2181
|
||||
# retryIntervalMilliseconds: 500
|
||||
# timeToLiveSeconds: 60
|
||||
# maxRetries: 3
|
||||
# operationTimeoutMilliseconds: 500
|
||||
|
||||
authority:
|
||||
users:
|
||||
- user: root@%
|
||||
password: root
|
||||
- user: sharding
|
||||
password: sharding
|
||||
privilege:
|
||||
type: ALL_PERMITTED
|
||||
|
||||
transaction:
|
||||
defaultType: XA
|
||||
providerType: Atomikos
|
||||
|
||||
sqlParser:
|
||||
sqlCommentParseEnabled: false
|
||||
sqlStatementCache:
|
||||
initialCapacity: 2000
|
||||
maximumSize: 65535
|
||||
parseTreeCache:
|
||||
initialCapacity: 128
|
||||
maximumSize: 1024
|
||||
|
||||
logging:
|
||||
loggers:
|
||||
- loggerName: ShardingSphere-SQL
|
||||
additivity: true
|
||||
level: INFO
|
||||
props:
|
||||
enable: false
|
||||
|
||||
sqlFederation:
|
||||
sqlFederationEnabled: false
|
||||
executionPlanCache:
|
||||
initialCapacity: 2000
|
||||
maximumSize: 65535
|
||||
|
||||
props:
|
||||
system-log-level: INFO
|
||||
max-connections-size-per-query: 1
|
||||
kernel-executor-size: 16 # Infinite by default.
|
||||
proxy-frontend-flush-threshold: 128 # The default value is 128.
|
||||
# sql-show is the same as props in logger ShardingSphere-SQL, and its priority is lower than logging rule
|
||||
sql-show: false
|
||||
check-table-metadata-enabled: false
|
||||
# Proxy backend query fetch size. A larger value may increase the memory usage of ShardingSphere Proxy.
|
||||
# The default value is -1, which means set the minimum value for different JDBC drivers.
|
||||
proxy-backend-query-fetch-size: -1
|
||||
proxy-frontend-executor-size: 0 # Proxy frontend executor size. The default value is 0, which means let Netty decide.
|
||||
proxy-frontend-max-connections: 0 # Less than or equal to 0 means no limitation.
|
||||
proxy-default-port: 3307 # Proxy default port.
|
||||
proxy-netty-backlog: 1024 # Proxy netty backlog.
|
||||
cdc-server-port: 33071 # CDC server port
|
||||
proxy-frontend-ssl-enabled: false
|
||||
proxy-frontend-ssl-cipher: ''
|
||||
proxy-frontend-ssl-version: TLSv1.2,TLSv1.3
|
||||
|
||||
|
Binary file not shown.
@@ -215,13 +215,12 @@ Apache 2.0 licenses
|
||||
The following components are provided under the Apache License. See project link for details.
|
||||
The text of each license is the standard Apache 2.0 license.
|
||||
|
||||
raphw (byte-buddy) 1.14.9: http://bytebuddy.net/ , Apache 2.0
|
||||
Google: grpc-java 1.53.0: https://github.com/grpc/grpc-java, Apache 2.0
|
||||
raphw (byte-buddy) 1.12.19: http://bytebuddy.net/ , Apache 2.0
|
||||
Google: grpc-java 1.50.0: https://github.com/grpc/grpc-java, Apache 2.0
|
||||
Google: gson 2.8.9: https://github.com/google/gson , Apache 2.0
|
||||
Google: proto-google-common-protos 2.0.1: https://github.com/googleapis/googleapis , Apache 2.0
|
||||
Google: jsr305 3.0.2: http://central.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0.pom , Apache 2.0
|
||||
Google: guava 32.0.1: https://github.com/google/guava , Apache 2.0
|
||||
netty 4.1.100: https://github.com/netty/netty/blob/4.1/LICENSE.txt, Apache 2.0
|
||||
netty 4.1.86: https://github.com/netty/netty/blob/4.1/LICENSE.txt, Apache 2.0
|
||||
|
||||
========================================================================
|
||||
BSD licenses
|
||||
|
@@ -1,5 +1,5 @@
|
||||
Apache SkyWalking
|
||||
Copyright 2017-2024 The Apache Software Foundation
|
||||
Copyright 2017-2023 The Apache Software Foundation
|
||||
|
||||
This product includes software developed at
|
||||
The Apache Software Foundation (http://www.apache.org/).
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -20,7 +20,6 @@ collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800}
|
||||
# ${service name} = [${group name}::]${logic name}
|
||||
# The group name is optional only.
|
||||
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}
|
||||
agent.service_name#length=${SW_AGENT_NAME_MAX_LENGTH:50}
|
||||
|
||||
# The agent namespace
|
||||
agent.namespace=${SW_AGENT_NAMESPACE:}
|
||||
@@ -49,10 +48,18 @@ agent.ignore_suffix=${SW_AGENT_IGNORE_SUFFIX:.jpg,.jpeg,.js,.css,.png,.bmp,.gif,
|
||||
# SkyWalking team may ask for these files in order to resolve compatible problem.
|
||||
agent.is_open_debugging_class=${SW_AGENT_OPEN_DEBUG:false}
|
||||
|
||||
# If true, SkyWalking agent will cache all instrumented classes files to memory or disk files (decided by class cache mode),
|
||||
# allow other javaagent to enhance those classes that enhanced by SkyWalking agent.
|
||||
agent.is_cache_enhanced_class=${SW_AGENT_CACHE_CLASS:false}
|
||||
|
||||
# The instrumented classes cache mode: MEMORY or FILE
|
||||
# MEMORY: cache class bytes to memory, if instrumented classes is too many or too large, it may take up more memory
|
||||
# FILE: cache class bytes in `/class-cache` folder, automatically clean up cached class files when the application exits
|
||||
agent.class_cache_mode=${SW_AGENT_CLASS_CACHE_MODE:MEMORY}
|
||||
|
||||
# Instance name is the identity of an instance, should be unique in the service. If empty, SkyWalking agent will
|
||||
# generate an 32-bit uuid. BY Default, SkyWalking uses UUID@hostname as the instance name. Max length is 50(UTF-8 char)
|
||||
agent.instance_name=${SW_AGENT_INSTANCE_NAME:}
|
||||
agent.instance_name#length=${SW_AGENT_INSTANCE_NAME_MAX_LENGTH:50}
|
||||
|
||||
# service instance properties in json format. e.g. agent.instance_properties_json = {"org": "apache-skywalking"}
|
||||
agent.instance_properties_json=${SW_INSTANCE_PROPERTIES_JSON:}
|
||||
@@ -68,7 +75,7 @@ agent.force_reconnection_period=${SW_AGENT_FORCE_RECONNECTION_PERIOD:1}
|
||||
agent.operation_name_threshold=${SW_AGENT_OPERATION_NAME_THRESHOLD:150}
|
||||
|
||||
# Keep tracing even the backend is not available if this value is true.
|
||||
agent.keep_tracing=${SW_AGENT_KEEP_TRACING:true}
|
||||
agent.keep_tracing=${SW_AGENT_KEEP_TRACING:false}
|
||||
|
||||
# The agent use gRPC plain text in default.
|
||||
# If true, SkyWalking agent uses TLS even no CA file detected.
|
||||
@@ -107,7 +114,7 @@ collector.get_agent_dynamic_config_interval=${SW_AGENT_COLLECTOR_GET_AGENT_DYNAM
|
||||
collector.is_resolve_dns_periodically=${SW_AGENT_COLLECTOR_IS_RESOLVE_DNS_PERIODICALLY:false}
|
||||
|
||||
# Logging level
|
||||
logging.level=${SW_LOGGING_LEVEL:WARN}
|
||||
logging.level=${SW_LOGGING_LEVEL:INFO}
|
||||
# Logging file_name
|
||||
logging.file_name=${SW_LOGGING_FILE_NAME:skywalking-api.log}
|
||||
# Log output. Default is FILE. Use CONSOLE means output to stdout.
|
||||
@@ -156,10 +163,8 @@ buffer.channel_size=${SW_BUFFER_CHANNEL_SIZE:5}
|
||||
buffer.buffer_size=${SW_BUFFER_BUFFER_SIZE:300}
|
||||
# If true, skywalking agent will enable profile when user create a new profile task. Otherwise disable profile.
|
||||
profile.active=${SW_AGENT_PROFILE_ACTIVE:true}
|
||||
# Parallel monitor endpoint thread count
|
||||
# Parallel monitor segment count
|
||||
profile.max_parallel=${SW_AGENT_PROFILE_MAX_PARALLEL:5}
|
||||
# Max monitoring sub-tasks count of one single endpoint access
|
||||
profile.max_accept_sub_parallel=${SW_AGENT_PROFILE_MAX_ACCEPT_SUB_PARALLEL:5}
|
||||
# Max monitor segment time(minutes), if current segment monitor time out of limit, then stop it.
|
||||
profile.duration=${SW_AGENT_PROFILE_DURATION:10}
|
||||
# Max dump thread stack depth
|
||||
@@ -241,7 +246,7 @@ plugin.kafka.bootstrap_servers=${SW_KAFKA_BOOTSTRAP_SERVERS:localhost:9092}
|
||||
plugin.kafka.get_topic_timeout=${SW_GET_TOPIC_TIMEOUT:10}
|
||||
# Kafka producer configuration. Read [producer configure](http://kafka.apache.org/24/documentation.html#producerconfigs)
|
||||
# to get more details. Check document for more details and examples.
|
||||
plugin.kafka.producer_config=${SW_PLUGIN_KAFKA_PRODUCER_CONFIG:}
|
||||
plugin.kafka.producer_config=${sw_plugin_kafka_producer_config:}
|
||||
# Configure Kafka Producer configuration in JSON format. Notice it will be overridden by plugin.kafka.producer_config[key], if the key duplication.
|
||||
plugin.kafka.producer_config_json=${SW_PLUGIN_KAFKA_PRODUCER_CONFIG_JSON:}
|
||||
# Specify which Kafka topic name for Meter System data to report to.
|
||||
@@ -258,8 +263,6 @@ plugin.kafka.topic_management=${SW_PLUGIN_KAFKA_TOPIC_MANAGEMENT:skywalking-mana
|
||||
plugin.kafka.topic_logging=${SW_PLUGIN_KAFKA_TOPIC_LOGGING:skywalking-logs}
|
||||
# isolate multi OAP server when using same Kafka cluster (final topic name will append namespace before Kafka topics with `-` ).
|
||||
plugin.kafka.namespace=${SW_KAFKA_NAMESPACE:}
|
||||
# Specify which class to decode encoded configuration of kafka.You can set encoded information in `plugin.kafka.producer_config_json` or `plugin.kafka.producer_config` if you need.
|
||||
plugin.kafka.decode_class=${SW_KAFKA_DECODE_CLASS:}
|
||||
# Match spring beans with regular expression for the class name. Multiple expressions could be separated by a comma. This only works when `Spring annotation plugin` has been activated.
|
||||
plugin.springannotation.classname_match_regex=${SW_SPRINGANNOTATION_CLASSNAME_MATCH_REGEX:}
|
||||
# Whether or not to transmit logged data as formatted or un-formatted.
|
||||
@@ -268,10 +271,6 @@ plugin.toolkit.log.transmit_formatted=${SW_PLUGIN_TOOLKIT_LOG_TRANSMIT_FORMATTED
|
||||
plugin.lettuce.trace_redis_parameters=${SW_PLUGIN_LETTUCE_TRACE_REDIS_PARAMETERS:false}
|
||||
# If set to positive number and `plugin.lettuce.trace_redis_parameters` is set to `true`, Redis command parameters would be collected and truncated to this length.
|
||||
plugin.lettuce.redis_parameter_max_length=${SW_PLUGIN_LETTUCE_REDIS_PARAMETER_MAX_LENGTH:128}
|
||||
# Specify which command should be converted to write operation
|
||||
plugin.lettuce.operation_mapping_write=${SW_PLUGIN_LETTUCE_OPERATION_MAPPING_WRITE:getset,set,setbit,setex,setnx,setrange,strlen,mset,msetnx,psetex,incr,incrby,incrbyfloat,decr,decrby,append,hmset,hset,hsetnx,hincrby,hincrbyfloat,hdel,rpoplpush,rpush,rpushx,lpush,lpushx,lrem,ltrim,lset,brpoplpush,linsert,sadd,sdiff,sdiffstore,sinterstore,sismember,srem,sunion,sunionstore,sinter,zadd,zincrby,zinterstore,zrange,zrangebylex,zrangebyscore,zrank,zrem,zremrangebylex,zremrangebyrank,zremrangebyscore,zrevrange,zrevrangebyscore,zrevrank,zunionstore,xadd,xdel,del,xtrim}
|
||||
# Specify which command should be converted to read operation
|
||||
plugin.lettuce.operation_mapping_read=${SW_PLUGIN_LETTUCE_OPERATION_MAPPING_READ:getrange,getbit,mget,hvals,hkeys,hlen,hexists,hget,hgetall,hmget,blpop,brpop,lindex,llen,lpop,lrange,rpop,scard,srandmember,spop,sscan,smove,zlexcount,zscore,zscan,zcard,zcount,xget,get,xread,xlen,xrange,xrevrange}
|
||||
# If set to true, the parameters of the cypher would be collected.
|
||||
plugin.neo4j.trace_cypher_parameters=${SW_PLUGIN_NEO4J_TRACE_CYPHER_PARAMETERS:false}
|
||||
# If set to positive number, the `db.cypher.parameters` would be truncated to this length, otherwise it would be completely saved, which may cause performance problem.
|
||||
@@ -312,13 +311,3 @@ plugin.redisson.redis_parameter_max_length=${SW_PLUGIN_REDISSON_REDIS_PARAMETER_
|
||||
plugin.redisson.operation_mapping_write=${SW_PLUGIN_REDISSON_OPERATION_MAPPING_WRITE:getset,set,setbit,setex,setnx,setrange,strlen,mset,msetnx,psetex,incr,incrby,incrbyfloat,decr,decrby,append,hmset,hset,hsetnx,hincrby,hincrbyfloat,hdel,rpoplpush,rpush,rpushx,lpush,lpushx,lrem,ltrim,lset,brpoplpush,linsert,sadd,sdiff,sdiffstore,sinterstore,sismember,srem,sunion,sunionstore,sinter,zadd,zincrby,zinterstore,zrange,zrangebylex,zrangebyscore,zrank,zrem,zremrangebylex,zremrangebyrank,zremrangebyscore,zrevrange,zrevrangebyscore,zrevrank,zunionstore,xadd,xdel,del,xtrim}
|
||||
# Specify which command should be converted to read operation
|
||||
plugin.redisson.operation_mapping_read=${SW_PLUGIN_REDISSON_OPERATION_MAPPING_READ:getrange,getbit,mget,hvals,hkeys,hlen,hexists,hget,hgetall,hmget,blpop,brpop,lindex,llen,lpop,lrange,rpop,scard,srandmember,spop,sscan,smove,zlexcount,zscore,zscan,zcard,zcount,xget,get,xread,xlen,xrange,xrevrange}
|
||||
# This config item controls that whether the Netty-http plugin should collect the http body of the request.
|
||||
plugin.nettyhttp.collect_request_body=${SW_PLUGIN_NETTYHTTP_COLLECT_REQUEST_BODY:false}
|
||||
# When `HTTP_COLLECT_REQUEST_BODY` is enabled, how many characters to keep and send to the OAP backend, use negative values to keep and send the complete body.
|
||||
plugin.nettyhttp.filter_length_limit=${SW_PLUGIN_NETTYHTTP_FILTER_LENGTH_LIMIT:1024}
|
||||
# When `HTTP_COLLECT_REQUEST_BODY` is enabled and content-type start with HTTP_SUPPORTED_CONTENT_TYPES_PREFIX, collect the body of the request , multiple paths should be separated by `,`
|
||||
plugin.nettyhttp.supported_content_types_prefix=${SW_PLUGIN_NETTYHTTP_SUPPORTED_CONTENT_TYPES_PREFIX:application/json,text/}
|
||||
# If set to true, the keys of messages would be collected by the plugin for RocketMQ Java client.
|
||||
plugin.rocketmqclient.collect_message_keys=${SW_PLUGIN_ROCKETMQCLIENT_COLLECT_MESSAGE_KEYS:false}
|
||||
# If set to true, the tags of messages would be collected by the plugin for RocketMQ Java client.
|
||||
plugin.rocketmqclient.collect_message_tags=${SW_PLUGIN_ROCKETMQCLIENT_COLLECT_MESSAGE_TAGS:false}
|
||||
|
BIN
docker/skywalking/agent/plugins/apm-canal-1.x-plugin-8.14.0.jar
Normal file
BIN
docker/skywalking/agent/plugins/apm-canal-1.x-plugin-8.14.0.jar
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
docker/skywalking/agent/plugins/apm-grpc-1.x-plugin-8.14.0.jar
Normal file
BIN
docker/skywalking/agent/plugins/apm-grpc-1.x-plugin-8.14.0.jar
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
docker/skywalking/agent/plugins/apm-h2-1.x-plugin-8.14.0.jar
Normal file
BIN
docker/skywalking/agent/plugins/apm-h2-1.x-plugin-8.14.0.jar
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
docker/skywalking/agent/plugins/apm-jdbc-commons-8.14.0.jar
Normal file
BIN
docker/skywalking/agent/plugins/apm-jdbc-commons-8.14.0.jar
Normal file
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user